public abstract class JSLogicalNode extends JavaScriptNode implements ResumableNode.WithIntState
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenResumableNode.WithIntState, ResumableNode.WithObjectState| Modifier and Type | Field and Description |
|---|---|
protected JavaScriptNode |
leftNode |
protected JavaScriptNode |
rightNode |
INTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
JSLogicalNode(JavaScriptNode left,
JavaScriptNode right) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract Object |
executeEvaluated(com.oracle.truffle.api.frame.VirtualFrame frame,
Object leftValue) |
String |
expressionToString() |
JavaScriptNode |
getLeft() |
Object |
getNodeObject() |
JavaScriptNode |
getRight() |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
boolean |
isResultAlwaysOfType(Class<?> clazz) |
Object |
resume(com.oracle.truffle.api.frame.VirtualFrame frame,
int stateSlot) |
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, copyUninitialized, createWrapper, execute, executeBoolean, executeDouble, executeInt, executeLong, executeVoid, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsgetLanguage, getRealm, hasOverloadedOperatorsaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecializeclone, equals, getClass, hashCode, notify, notifyAll, wait, wait, waitgetStateAsInt, getStateAsIntAndReset, getStateSlotKind, setStateAsIntasResumableNode, createResumableNode, resetStateprotected JavaScriptNode leftNode
protected JavaScriptNode rightNode
protected JSLogicalNode(JavaScriptNode left, JavaScriptNode right)
protected abstract Object executeEvaluated(com.oracle.truffle.api.frame.VirtualFrame frame, Object leftValue)
public Object resume(com.oracle.truffle.api.frame.VirtualFrame frame, int stateSlot)
resume in interface ResumableNodepublic final JavaScriptNode getLeft()
public final JavaScriptNode getRight()
public boolean isResultAlwaysOfType(Class<?> clazz)
isResultAlwaysOfType in class JavaScriptNodepublic String expressionToString()
expressionToString in class JavaScriptNodepublic boolean hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
hasTag in interface com.oracle.truffle.api.instrumentation.InstrumentableNodehasTag in class JavaScriptNodepublic Object getNodeObject()
getNodeObject in interface com.oracle.truffle.api.instrumentation.InstrumentableNode