Class JSTargetableNode

java.lang.Object
com.oracle.truffle.api.nodes.Node
All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode, com.oracle.truffle.api.nodes.NodeInterface, Cloneable
Direct Known Subclasses:
DeletePropertyNode, EvalVariableNode, GlobalConstantNode, GlobalPropertyNode, JSMaterializedInvokeTargetableNode, JSMaterializedInvokeTargetableNode.EchoTargetValueNode, JSTargetableWrapperNode, JSTargetableWriteNode, OptionalChainNode.OptionalTargetableNode, OptionalChainNode.ShortCircuitTargetableNode, PrivateBrandCheckNode, PrivateFieldGetNode, PrivateFieldSetNode, PropertyNode, ReadElementNode, SuperPropertyReferenceNode, WithVarWrapperNode, WriteElementNode

public abstract class JSTargetableNode extends JavaScriptNode
  • Constructor Details

    • JSTargetableNode

      public JSTargetableNode()
  • Method Details

    • executeWithTarget

      public abstract Object executeWithTarget(com.oracle.truffle.api.frame.VirtualFrame frame, Object target)
    • evaluateTarget

      public Object evaluateTarget(com.oracle.truffle.api.frame.VirtualFrame frame)
    • executeIntWithTarget

      public int executeIntWithTarget(com.oracle.truffle.api.frame.VirtualFrame frame, Object target) throws com.oracle.truffle.api.nodes.UnexpectedResultException
      Throws:
      com.oracle.truffle.api.nodes.UnexpectedResultException
    • executeDoubleWithTarget

      public double executeDoubleWithTarget(com.oracle.truffle.api.frame.VirtualFrame frame, Object target) throws com.oracle.truffle.api.nodes.UnexpectedResultException
      Throws:
      com.oracle.truffle.api.nodes.UnexpectedResultException
    • getTarget

      public JavaScriptNode getTarget()
    • evaluateReceiver

      public static Object evaluateReceiver(JavaScriptNode targetNode, com.oracle.truffle.api.frame.VirtualFrame frame, Object targetValue)
    • 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
      Overrides:
      createWrapper in class JavaScriptNode