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.Children

    Nested 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

    Constructors
    Modifier
    Constructor
    Description
    protected
     
    protected
    ExpressionNode(com.oracle.truffle.api.source.SourceSection sourceSection)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode
    createWrapper(com.oracle.truffle.api.instrumentation.ProbeNode probe)
     
    boolean
    executeBoolean(com.oracle.truffle.api.frame.VirtualFrame frame)
     
    double
    executeFloat(com.oracle.truffle.api.frame.VirtualFrame frame)
     
    abstract Object
    executeGeneric(com.oracle.truffle.api.frame.VirtualFrame frame)
     
    long
    executeInt(com.oracle.truffle.api.frame.VirtualFrame frame)
     
    boolean
    hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
     
    boolean
     

    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, reportReplace

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods 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

      public abstract Object executeGeneric(com.oracle.truffle.api.frame.VirtualFrame frame)
    • 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

      public boolean hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
      Specified by:
      hasTag in interface com.oracle.truffle.api.instrumentation.InstrumentableNode
    • isInstrumentable

      public boolean isInstrumentable()
      Specified by:
      isInstrumentable in interface com.oracle.truffle.api.instrumentation.InstrumentableNode
    • createWrapper

      public com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode createWrapper(com.oracle.truffle.api.instrumentation.ProbeNode probe)
      Specified by:
      createWrapper in interface com.oracle.truffle.api.instrumentation.InstrumentableNode