Class JSConstantNode

java.lang.Object
com.oracle.truffle.api.nodes.Node
All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode, com.oracle.truffle.api.nodes.NodeInterface, RepeatableNode, Cloneable
Direct Known Subclasses:
JSConstantNode.JSConstantBigIntNode, JSConstantNode.JSConstantBooleanNode, JSConstantNode.JSConstantDoubleNode, JSConstantNode.JSConstantIntegerNode, JSConstantNode.JSConstantNullNode, JSConstantNode.JSConstantSafeIntegerNode, JSConstantNode.JSConstantStringNode, JSConstantNode.JSConstantUndefinedNode

public abstract class JSConstantNode extends JavaScriptNode implements RepeatableNode
  • Constructor Details

    • JSConstantNode

      public JSConstantNode()
  • Method Details

    • create

      public static JSConstantNode create(Object value)
    • hasTag

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

      public Object getNodeObject()
      Specified by:
      getNodeObject in interface com.oracle.truffle.api.instrumentation.InstrumentableNode
    • createUndefined

      public static JSConstantNode createUndefined()
    • createNull

      public static JSConstantNode createNull()
    • createInt

      public static JSConstantNode createInt(int value)
    • createSafeInteger

      public static JSConstantNode createSafeInteger(SafeInteger value)
    • createBigInt

      public static JSConstantNode createBigInt(BigInt value)
    • createDouble

      public static JSConstantNode createDouble(double value)
    • createBoolean

      public static JSConstantNode createBoolean(boolean value)
    • createString

      public static JSConstantNode createString(com.oracle.truffle.api.strings.TruffleString value)
    • getValue

      public abstract Object getValue()
    • executeVoid

      public final void executeVoid(com.oracle.truffle.api.frame.VirtualFrame frame)
      Description copied from class: JavaScriptNode
      Like JavaScriptNode.execute(VirtualFrame) except that it throws away the result. A node can override this method if it has a better way to execute without producing a value.
      Overrides:
      executeVoid in class JavaScriptNode
      Parameters:
      frame - the frame of the currently executing guest language method
    • copyUninitialized

      protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
      Overrides:
      copyUninitialized in class JavaScriptNode
    • getDebugProperties

      public Map<String,Object> getDebugProperties()
      Overrides:
      getDebugProperties in class com.oracle.truffle.api.nodes.Node
    • expressionToString

      public String expressionToString()
      Overrides:
      expressionToString in class JavaScriptNode