Package org.pkl.core.ast
Class ExpressionNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
org.pkl.core.ast.PklNode
org.pkl.core.ast.ExpressionNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode,com.oracle.truffle.api.nodes.NodeInterface,Cloneable
- Direct Known Subclasses:
AbstractImportNode,ApplyVmFunction1Node,BinaryExpressionNode,BlackholeNode,ByteConstantValueNode,BytesLiteralNode,CannotInvokeAbstractFunctionNode,CannotInvokeAbstractPropertyNode,CheckIsAnnotationClassNode,ClassNode,ConstantValueNode,CustomThisNode,DefaultPropertyBodyNode,DelegateToExtraStorageMapOrParentNode,DelegateToExtraStorageObjNode,DelegateToExtraStorageObjOrParentNode,EmptyObjectLiteralNode,EqualNode,ExternalMemberNode,FalseLiteralNode,FloatLiteralNode,FunctionLiteralNode,GetBaseModuleClassNode,GetClassNode,GetEnclosingOwnerNode,GetEnclosingReceiverNode,GetMemberKeyNode,GetModuleNode,GetOwnerNode,GetParentForTypeNode,GetReceiverNode,IfElseNode,ImportGlobMemberBodyNode,InferParentWithinMethodNode,InferParentWithinObjectMethodNode,InferParentWithinPropertyNode,InterpolatedStringLiteralNode,IntLiteralNode,InvokeMethodDirectNode,InvokeMethodLexicalNode,InvokeMethodVirtualNode,InvokeSuperMethodNode,LetExprNode,ListLiteralNode,MapLiteralNode,NonNullNode,NotEqualNode,NullPropagatingOperationNode,ObjectLiteralNode,OuterNode,ReadEnclosingFrameSlotNode,ReadFrameSlotNode,ReadGlobMemberBodyNode,ReadLocalPropertyNode,ReadPropertyNode,ReadSuperEntryNode,ReadSuperPropertyNode,ResolveDeclaredTypeNode,ResolveMethodNode,ResolveVariableNode,RestoreForBindingsNode,SetLiteralNode,ShortCircuitingExpressionNode,ThisNode,TraceNode,TrueLiteralNode,TypeAliasNode,TypeCastNode,TypeTestNode,UnaryExpressionNode,WriteFrameSlotNode
public abstract class ExpressionNode
extends PklNode
implements com.oracle.truffle.api.instrumentation.InstrumentableNode
-
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 -
Field Summary
Fields inherited from class org.pkl.core.ast.PklNode
sourceSection -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedprotectedExpressionNode(com.oracle.truffle.api.source.SourceSection sourceSection) -
Method Summary
Modifier and TypeMethodDescriptioncom.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNodecreateWrapper(com.oracle.truffle.api.instrumentation.ProbeNode probe) booleanexecuteBoolean(com.oracle.truffle.api.frame.VirtualFrame frame) doubleexecuteFloat(com.oracle.truffle.api.frame.VirtualFrame frame) abstract ObjectexecuteGeneric(com.oracle.truffle.api.frame.VirtualFrame frame) longexecuteInt(com.oracle.truffle.api.frame.VirtualFrame frame) booleanbooleanMethods inherited from class org.pkl.core.ast.PklNode
exceptionBuilder, getShortName, getSourceSection, toStringMethods 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
-
ExpressionNode
protected ExpressionNode(com.oracle.truffle.api.source.SourceSection sourceSection) -
ExpressionNode
protected ExpressionNode()
-
-
Method Details
-
executeGeneric
-
executeInt
public long executeInt(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.nodes.UnexpectedResultException - Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException
-
executeFloat
public double executeFloat(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.nodes.UnexpectedResultException - Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException
-
executeBoolean
public boolean executeBoolean(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.nodes.UnexpectedResultException - Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException
-
hasTag
- Specified by:
hasTagin interfacecom.oracle.truffle.api.instrumentation.InstrumentableNode
-
isInstrumentable
public boolean isInstrumentable()- Specified by:
isInstrumentablein interfacecom.oracle.truffle.api.instrumentation.InstrumentableNode
-
createWrapper
public com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode createWrapper(com.oracle.truffle.api.instrumentation.ProbeNode probe) - Specified by:
createWrapperin interfacecom.oracle.truffle.api.instrumentation.InstrumentableNode
-