Class EqualNode

java.lang.Object
com.oracle.truffle.api.nodes.Node
org.pkl.core.ast.PklNode
org.pkl.core.ast.ExpressionNode
org.pkl.core.ast.expression.binary.EqualNode
All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface, Cloneable

public abstract class EqualNode extends ExpressionNode
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node

    com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.Children
  • Field Summary

    Fields inherited from class org.pkl.core.ast.PklNode

    sourceSection
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    EqualNode(com.oracle.truffle.api.source.SourceSection sourceSection)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    eval(boolean left, boolean right)
     
    protected boolean
    eval(double left, double right)
     
    protected boolean
    eval(double left, long right)
     
    protected boolean
    eval(long left, double right)
     
    protected boolean
    eval(long left, long right)
     
    protected boolean
    eval(Object left, Object right)
     
    protected boolean
    eval(Object left, Object right, Class<? extends VmValue> leftJavaClass)
    This method effectively covers `VmValue left, VmValue right` but is implemented in a more efficient way.
    protected boolean
    eval(String left, String right)
     
    protected static @Nullable Class<? extends VmValue>
     
    protected static boolean
     

    Methods inherited from class org.pkl.core.ast.ExpressionNode

    executeBoolean, executeFloat, executeGeneric, executeInt

    Methods inherited from class org.pkl.core.ast.PklNode

    exceptionBuilder, getShortName, getSourceSection, toString

    Methods inherited from class com.oracle.truffle.api.nodes.Node

    accept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • EqualNode

      protected EqualNode(com.oracle.truffle.api.source.SourceSection sourceSection)
  • Method Details

    • eval

      protected boolean eval(String left, String right)
    • eval

      protected boolean eval(long left, long right)
    • eval

      protected boolean eval(long left, double right)
    • eval

      protected boolean eval(double left, long right)
    • eval

      protected boolean eval(double left, double right)
    • eval

      protected boolean eval(boolean left, boolean right)
    • eval

      protected boolean eval(Object left, Object right, Class<? extends VmValue> leftJavaClass)
      This method effectively covers `VmValue left, VmValue right` but is implemented in a more efficient way.
    • getVmValueJavaClassOrNull

      @Nullable protected static @Nullable Class<? extends VmValue> getVmValueJavaClassOrNull(Object value)
    • eval

      protected boolean eval(Object left, Object right)
    • isIncompatibleTypes

      protected static boolean isIncompatibleTypes(Object left, Object right)