Class IfNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.JavaScriptNode
com.oracle.truffle.js.nodes.control.StatementNode
com.oracle.truffle.js.nodes.control.IfNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode,com.oracle.truffle.api.nodes.NodeInterface,ResumableNode,ResumableNode.WithIntState,Cloneable
-
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.WrapperNodeNested classes/interfaces inherited from interface com.oracle.truffle.js.nodes.control.ResumableNode
ResumableNode.WithIntState, ResumableNode.WithObjectState -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected JavaScriptNodeprotected JavaScriptNodeprotected JavaScriptNodeFields inherited from class com.oracle.truffle.js.nodes.control.StatementNode
EMPTYFields inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
INTERMEDIATE_VALUE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedIfNode(JavaScriptNode condition, JavaScriptNode thenPart, JavaScriptNode elsePart) -
Method Summary
Modifier and TypeMethodDescriptionasResumableNode(int stateSlot) protected JavaScriptNodecopyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) protected com.oracle.truffle.js.nodes.control.AbstractIfNodecopyWith(JavaScriptNode newCondition, JavaScriptNode newThenPart, JavaScriptNode newElsePart) static IfNodecreate(JavaScriptNode condition, JavaScriptNode thenPart, JavaScriptNode elsePart) protected ObjectdoBoolean(com.oracle.truffle.api.frame.VirtualFrame frame, boolean conditionResult, com.oracle.truffle.api.profiles.InlinedCountingConditionProfile conditionProfile) protected ObjectdoObject(com.oracle.truffle.api.frame.VirtualFrame frame, Object conditionResult, JSToBooleanNode toBooleanNode, com.oracle.truffle.api.profiles.InlinedCountingConditionProfile conditionProfile) booleanbooleanisResultAlwaysOfType(Class<?> clazz) com.oracle.truffle.api.instrumentation.InstrumentableNodematerializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) Methods inherited from class com.oracle.truffle.js.nodes.control.StatementNode
executeConditionAsBooleanMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, execute, executeBoolean, executeDouble, executeInt, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, onReplace, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode
getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, reportLoopCount, reportLoopCountMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, 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, findProbeMethods inherited from interface com.oracle.truffle.js.nodes.control.ResumableNode
resetState, resumeMethods inherited from interface com.oracle.truffle.js.nodes.control.ResumableNode.WithIntState
getStateAsInt, getStateAsIntAndReset, getStateSlotKind, setStateAsInt
-
Field Details
-
condition
-
thenPart
-
elsePart
-
-
Constructor Details
-
IfNode
-
-
Method Details
-
create
public static IfNode create(JavaScriptNode condition, JavaScriptNode thenPart, JavaScriptNode elsePart) -
doBoolean
protected Object doBoolean(com.oracle.truffle.api.frame.VirtualFrame frame, boolean conditionResult, com.oracle.truffle.api.profiles.InlinedCountingConditionProfile conditionProfile) -
doObject
protected Object doObject(com.oracle.truffle.api.frame.VirtualFrame frame, Object conditionResult, JSToBooleanNode toBooleanNode, com.oracle.truffle.api.profiles.InlinedCountingConditionProfile conditionProfile) -
getCondition
-
getThenPart
-
getElsePart
-
copyWith
protected com.oracle.truffle.js.nodes.control.AbstractIfNode copyWith(JavaScriptNode newCondition, JavaScriptNode newThenPart, JavaScriptNode newElsePart) -
asResumableNode
-
hasTag
- Specified by:
hasTagin interfacecom.oracle.truffle.api.instrumentation.InstrumentableNode- Overrides:
hasTagin classJavaScriptNode
-
getNodeObject
- Specified by:
getNodeObjectin interfacecom.oracle.truffle.api.instrumentation.InstrumentableNode
-
materializeInstrumentableNodes
-
isResultAlwaysOfType
- Overrides:
isResultAlwaysOfTypein classJavaScriptNode
-
copyUninitialized
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) - Overrides:
copyUninitializedin classJavaScriptNode
-