Class ShortCircuitingExpressionNode
- 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.ShortCircuitingExpressionNode
-
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,java.lang.Cloneable
- Direct Known Subclasses:
LogicalAndNode,LogicalOrNode,NullCoalescingNode
public abstract class ShortCircuitingExpressionNode extends ExpressionNode
A binary expression whose right operand may be short-circuited. Does not inherit from BinaryExpressionNode for technical reasons.
-
-
Field Summary
Fields Modifier and Type Field Description protected ExpressionNoderightNode-
Fields inherited from class org.pkl.core.ast.PklNode
sourceSection
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedShortCircuitingExpressionNode(com.oracle.truffle.api.source.SourceSection sourceSection, ExpressionNode rightNode)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected java.lang.Objectfallback(java.lang.Object left)protected abstract ExpressionNodegetLeftNode()protected VmExceptionoperatorNotDefined(java.lang.Object left)protected VmExceptionoperatorNotDefined(java.lang.Object left, java.lang.Object right)-
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
-
-
-
-
Field Detail
-
rightNode
protected ExpressionNode rightNode
-
-
Constructor Detail
-
ShortCircuitingExpressionNode
protected ShortCircuitingExpressionNode(com.oracle.truffle.api.source.SourceSection sourceSection, ExpressionNode rightNode)
-
-
Method Detail
-
getLeftNode
protected abstract ExpressionNode getLeftNode()
-
fallback
protected java.lang.Object fallback(java.lang.Object left)
-
operatorNotDefined
protected VmException operatorNotDefined(java.lang.Object left)
-
operatorNotDefined
protected VmException operatorNotDefined(java.lang.Object left, java.lang.Object right)
-
-