Class SLEqualNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.sl.nodes.local.SLScopedNode
com.oracle.truffle.sl.nodes.SLStatementNode
com.oracle.truffle.sl.nodes.SLExpressionNode
com.oracle.truffle.sl.nodes.SLBinaryNode
com.oracle.truffle.sl.nodes.expression.SLEqualNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode,com.oracle.truffle.api.nodes.NodeInterface,Cloneable
The
== operator of SL is defined on all types. Therefore, we need a
implementation that can handle
all possible types including interop types.
Note that we do not need the analogous != operator, because we can just
negate the == operator.
-
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.ChildrenNested classes/interfaces inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleandoBigNumber(SLBigInteger left, SLBigInteger right) static booleandoBoolean(boolean left, boolean right) static booleandoFunction(SLFunction left, Object right) static booleandoGeneric(Object left, Object right, com.oracle.truffle.api.interop.InteropLibrary leftInterop, com.oracle.truffle.api.interop.InteropLibrary rightInterop) static booleandoLong(long left, long right) static booleanstatic booleanstatic booleandoTruffleString(com.oracle.truffle.api.strings.TruffleString left, com.oracle.truffle.api.strings.TruffleString right, com.oracle.truffle.api.strings.TruffleString.EqualNode equalNode) Methods inherited from class com.oracle.truffle.sl.nodes.SLExpressionNode
addExpressionTag, createWrapper, executeBoolean, executeGeneric, executeLong, executeVoid, hasTagMethods inherited from class com.oracle.truffle.sl.nodes.SLStatementNode
addRootTag, addStatementTag, formatSourceSection, getSourceCharIndex, getSourceEndIndex, getSourceLength, getSourceSection, hasSource, isInstrumentable, setSourceSection, setUnavailableSourceSection, toStringMethods inherited from class com.oracle.truffle.sl.nodes.local.SLScopedNode
findBlock, getVisibleVariablesIndexOnEnter, hasScope, setVisibleVariablesIndexOnEnter, setVisibleVariablesIndexOnExitMethods 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, reportReplaceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
createProbe, findNearestNodeAt, findNearestNodeAt, findProbe, getNodeObject, materializeInstrumentableNodes
-
Constructor Details
-
SLEqualNode
public SLEqualNode()
-
-
Method Details
-
doLong
public static boolean doLong(long left, long right) -
doBigNumber
-
doBoolean
public static boolean doBoolean(boolean left, boolean right) -
doString
-
doTruffleString
public static boolean doTruffleString(com.oracle.truffle.api.strings.TruffleString left, com.oracle.truffle.api.strings.TruffleString right, com.oracle.truffle.api.strings.TruffleString.EqualNode equalNode) -
doNull
-
doFunction
-
doGeneric
-