public abstract class com.oracle.truffle.js.nodes.access.JSConstantNode extends com.oracle.truffle.js.nodes.JavaScriptNode implements com.oracle.truffle.js.nodes.RepeatableNode
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.js.nodes.access.JSConstantNode
  super_class: com.oracle.truffle.js.nodes.JavaScriptNode
{
  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 65
            ldc Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.truffle.js.nodes.access.JSConstantNode.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.access.JSConstantNode this
         0: .line 65
            aload 0 /* this */
            invokespecial com.oracle.truffle.js.nodes.JavaScriptNode.<init>:()V
            return
        end local 0 // com.oracle.truffle.js.nodes.access.JSConstantNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/access/JSConstantNode;

  public static com.oracle.truffle.js.nodes.access.JSConstantNode create(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.Object value
         0: .line 68
            getstatic com.oracle.truffle.js.nodes.access.JSConstantNode.$assertionsDisabled:Z
            ifne 2
            aload 0 /* value */
            instanceof java.lang.Long
            ifne 1
            aload 0 /* value */
            instanceof java.math.BigInteger
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 69
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Integer
            ifeq 4
         3: .line 70
            aload 0 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createInt:(I)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            areturn
         4: .line 71
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Double
            ifeq 9
         5: .line 72
            aload 0 /* value */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            dstore 1 /* doubleValue */
        start local 1 // double doubleValue
         6: .line 73
            dload 1 /* doubleValue */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.doubleIsRepresentableAsInt:(D)Z
            ifeq 8
         7: .line 74
            dload 1 /* doubleValue */
            d2i
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createInt:(I)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            areturn
         8: .line 76
      StackMap locals: double
      StackMap stack:
            dload 1 /* doubleValue */
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createDouble:(D)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            areturn
        end local 1 // double doubleValue
         9: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.Boolean
            ifeq 11
        10: .line 79
            aload 0 /* value */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createBoolean:(Z)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            areturn
        11: .line 80
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof java.lang.String
            ifeq 13
        12: .line 81
            aload 0 /* value */
            checkcast java.lang.String
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createString:(Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            areturn
        13: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 15
        14: .line 83
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createNull:()Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            areturn
        15: .line 84
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 17
        16: .line 85
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createUndefined:()Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            areturn
        17: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.BigInt
            ifeq 19
        18: .line 87
            aload 0 /* value */
            checkcast com.oracle.truffle.js.runtime.BigInt
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createBigInt:(Lcom/oracle/truffle/js/runtime/BigInt;)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            areturn
        19: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof com.oracle.truffle.js.runtime.SafeInteger
            ifeq 21
        20: .line 89
            aload 0 /* value */
            checkcast com.oracle.truffle.js.runtime.SafeInteger
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createSafeInteger:(Lcom/oracle/truffle/js/runtime/SafeInteger;)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            areturn
        21: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifeq 23
        22: .line 91
            new com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantJSObjectNode
            dup
            aload 0 /* value */
            checkcast com.oracle.truffle.api.object.DynamicObject
            invokespecial com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantJSObjectNode.<init>:(Lcom/oracle/truffle/api/object/DynamicObject;)V
            areturn
        23: .line 93
      StackMap locals:
      StackMap stack:
            new com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantObjectNode
            dup
            aload 0 /* value */
            invokespecial com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantObjectNode.<init>:(Ljava/lang/Object;)V
            areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0        value  Ljava/lang/Object;
            6    9     1  doubleValue  D
    MethodParameters:
       Name  Flags
      value  

  public boolean hasTag(java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.access.JSConstantNode this
        start local 1 // java.lang.Class tag
         0: .line 99
            aload 1 /* tag */
            ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag;
            if_acmpne 2
         1: .line 100
            iconst_1
            ireturn
         2: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tag */
            invokespecial com.oracle.truffle.js.nodes.JavaScriptNode.hasTag:(Ljava/lang/Class;)Z
            ireturn
        end local 1 // java.lang.Class tag
        end local 0 // com.oracle.truffle.js.nodes.access.JSConstantNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            0    3     1   tag  Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
    Signature: (Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;)Z
    MethodParameters:
      Name  Flags
      tag   

  public java.lang.Object getNodeObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.access.JSConstantNode this
         0: .line 108
            invokestatic com.oracle.truffle.js.nodes.instrumentation.JSTags.createNodeObjectDescriptor:()Lcom/oracle/truffle/js/nodes/instrumentation/NodeObjectDescriptor;
            astore 1 /* descriptor */
        start local 1 // com.oracle.truffle.js.nodes.instrumentation.NodeObjectDescriptor descriptor
         1: .line 109
            aload 0 /* this */
            instanceof com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantDoubleNode
            ifne 2
            aload 0 /* this */
            instanceof com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantIntegerNode
            ifne 2
            aload 0 /* this */
            instanceof com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantSafeIntegerNode
            ifeq 4
         2: .line 110
      StackMap locals: com.oracle.truffle.js.nodes.instrumentation.NodeObjectDescriptor
      StackMap stack:
            aload 1 /* descriptor */
            ldc "literalType"
            getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.NumericLiteral:Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag$Type;
            invokevirtual com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.name:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.js.nodes.instrumentation.NodeObjectDescriptor.addProperty:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 111
            goto 21
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            instanceof com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantBigIntNode
            ifeq 7
         5: .line 112
            aload 1 /* descriptor */
            ldc "literalType"
            getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.BigIntLiteral:Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag$Type;
            invokevirtual com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.name:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.js.nodes.instrumentation.NodeObjectDescriptor.addProperty:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 113
            goto 21
      StackMap locals:
      StackMap stack:
         7: aload 0 /* this */
            instanceof com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantBooleanNode
            ifeq 10
         8: .line 114
            aload 1 /* descriptor */
            ldc "literalType"
            getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.BooleanLiteral:Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag$Type;
            invokevirtual com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.name:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.js.nodes.instrumentation.NodeObjectDescriptor.addProperty:(Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 115
            goto 21
      StackMap locals:
      StackMap stack:
        10: aload 0 /* this */
            instanceof com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantStringNode
            ifeq 13
        11: .line 116
            aload 1 /* descriptor */
            ldc "literalType"
            getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.StringLiteral:Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag$Type;
            invokevirtual com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.name:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.js.nodes.instrumentation.NodeObjectDescriptor.addProperty:(Ljava/lang/String;Ljava/lang/Object;)V
        12: .line 117
            goto 21
      StackMap locals:
      StackMap stack:
        13: aload 0 /* this */
            instanceof com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantNullNode
            ifeq 16
        14: .line 118
            aload 1 /* descriptor */
            ldc "literalType"
            getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.NullLiteral:Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag$Type;
            invokevirtual com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.name:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.js.nodes.instrumentation.NodeObjectDescriptor.addProperty:(Ljava/lang/String;Ljava/lang/Object;)V
        15: .line 119
            goto 21
      StackMap locals:
      StackMap stack:
        16: aload 0 /* this */
            instanceof com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantUndefinedNode
            ifeq 19
        17: .line 120
            aload 1 /* descriptor */
            ldc "literalType"
            getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.UndefinedLiteral:Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag$Type;
            invokevirtual com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.name:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.js.nodes.instrumentation.NodeObjectDescriptor.addProperty:(Ljava/lang/String;Ljava/lang/Object;)V
        18: .line 121
            goto 21
      StackMap locals:
      StackMap stack:
        19: aload 0 /* this */
            instanceof com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantObjectNode
            ifne 20
            aload 0 /* this */
            instanceof com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantJSObjectNode
            ifeq 21
        20: .line 122
      StackMap locals:
      StackMap stack:
            aload 1 /* descriptor */
            ldc "literalType"
            getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.ObjectLiteral:Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag$Type;
            invokevirtual com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.name:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.js.nodes.instrumentation.NodeObjectDescriptor.addProperty:(Ljava/lang/String;Ljava/lang/Object;)V
        21: .line 124
      StackMap locals:
      StackMap stack:
            aload 1 /* descriptor */
            areturn
        end local 1 // com.oracle.truffle.js.nodes.instrumentation.NodeObjectDescriptor descriptor
        end local 0 // com.oracle.truffle.js.nodes.access.JSConstantNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            1   22     1  descriptor  Lcom/oracle/truffle/js/nodes/instrumentation/NodeObjectDescriptor;

  public static com.oracle.truffle.js.nodes.access.JSConstantNode createUndefined();
    descriptor: ()Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 128
            new com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantUndefinedNode
            dup
            invokespecial com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantUndefinedNode.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.oracle.truffle.js.nodes.access.JSConstantNode createNull();
    descriptor: ()Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 132
            new com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantNullNode
            dup
            invokespecial com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantNullNode.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.oracle.truffle.js.nodes.access.JSConstantNode createInt(int);
    descriptor: (I)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int value
         0: .line 136
            new com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantIntegerNode
            dup
            iload 0 /* value */
            invokespecial com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantIntegerNode.<init>:(I)V
            areturn
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  I
    MethodParameters:
       Name  Flags
      value  

  public static com.oracle.truffle.js.nodes.access.JSConstantNode createSafeInteger(com.oracle.truffle.js.runtime.SafeInteger);
    descriptor: (Lcom/oracle/truffle/js/runtime/SafeInteger;)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.SafeInteger value
         0: .line 140
            new com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantSafeIntegerNode
            dup
            aload 0 /* value */
            invokespecial com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantSafeIntegerNode.<init>:(Lcom/oracle/truffle/js/runtime/SafeInteger;)V
            areturn
        end local 0 // com.oracle.truffle.js.runtime.SafeInteger value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Lcom/oracle/truffle/js/runtime/SafeInteger;
    MethodParameters:
       Name  Flags
      value  

  public static com.oracle.truffle.js.nodes.access.JSConstantNode createBigInt(com.oracle.truffle.js.runtime.BigInt);
    descriptor: (Lcom/oracle/truffle/js/runtime/BigInt;)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.BigInt value
         0: .line 144
            new com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantBigIntNode
            dup
            aload 0 /* value */
            invokespecial com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantBigIntNode.<init>:(Lcom/oracle/truffle/js/runtime/BigInt;)V
            areturn
        end local 0 // com.oracle.truffle.js.runtime.BigInt value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Lcom/oracle/truffle/js/runtime/BigInt;
    MethodParameters:
       Name  Flags
      value  

  public static com.oracle.truffle.js.nodes.access.JSConstantNode createDouble(double);
    descriptor: (D)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // double value
         0: .line 148
            new com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantDoubleNode
            dup
            dload 0 /* value */
            invokespecial com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantDoubleNode.<init>:(D)V
            areturn
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  D
    MethodParameters:
       Name  Flags
      value  

  public static com.oracle.truffle.js.nodes.access.JSConstantNode createConstantNumericUnit();
    descriptor: ()Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 152
            new com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantNumericUnitNode
            dup
            invokespecial com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantNumericUnitNode.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.oracle.truffle.js.nodes.access.JSConstantNode createBoolean(boolean);
    descriptor: (Z)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // boolean value
         0: .line 156
            new com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantBooleanNode
            dup
            iload 0 /* value */
            invokespecial com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantBooleanNode.<init>:(Z)V
            areturn
        end local 0 // boolean value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Z
    MethodParameters:
       Name  Flags
      value  

  public static com.oracle.truffle.js.nodes.access.JSConstantNode createString(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String value
         0: .line 160
            new com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantStringNode
            dup
            aload 0 /* value */
            invokespecial com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantStringNode.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  public abstract java.lang.Object getValue();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public final void executeVoid(com.oracle.truffle.api.frame.VirtualFrame);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.access.JSConstantNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 466
            return
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.js.nodes.access.JSConstantNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            0    1     1  frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
    MethodParameters:
       Name  Flags
      frame  

  protected com.oracle.truffle.js.nodes.JavaScriptNode copyUninitialized(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
    descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.access.JSConstantNode this
        start local 1 // java.util.Set materializedTags
         0: .line 470
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.nodes.access.JSConstantNode.copy:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 1 // java.util.Set materializedTags
        end local 0 // com.oracle.truffle.js.nodes.access.JSConstantNode this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            0    1     1  materializedTags  Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
    Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                  Name  Flags
      materializedTags  

  public java.util.Map<java.lang.String, java.lang.Object> getDebugProperties();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.access.JSConstantNode this
         0: .line 476
            aload 0 /* this */
            invokespecial com.oracle.truffle.js.nodes.JavaScriptNode.getDebugProperties:()Ljava/util/Map;
            astore 1 /* map */
        start local 1 // java.util.Map map
         1: .line 477
            aload 1 /* map */
            ldc "value"
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.nodes.access.JSConstantNode.getValue:()Ljava/lang/Object;
            instanceof java.lang.String
            ifeq 2
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.nodes.access.JSConstantNode.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.quote:(Ljava/lang/String;)Ljava/lang/String;
            goto 3
      StackMap locals: com.oracle.truffle.js.nodes.access.JSConstantNode java.util.Map
      StackMap stack: java.util.Map java.lang.String
         2: aload 0 /* this */
            invokevirtual com.oracle.truffle.js.nodes.access.JSConstantNode.getValue:()Ljava/lang/Object;
      StackMap locals: com.oracle.truffle.js.nodes.access.JSConstantNode java.util.Map
      StackMap stack: java.util.Map java.lang.String java.lang.Object
         3: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 478
            aload 1 /* map */
            areturn
        end local 1 // java.util.Map map
        end local 0 // com.oracle.truffle.js.nodes.access.JSConstantNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            1    5     1   map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()

  public java.lang.String expressionToString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.access.JSConstantNode this
         0: .line 483
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.nodes.access.JSConstantNode.getValue:()Ljava/lang/Object;
            astore 1 /* value */
        start local 1 // java.lang.Object value
         1: .line 484
            aload 1 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJSPrimitive:(Ljava/lang/Object;)Z
            ifeq 6
         2: .line 485
            aload 1 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* string */
        start local 2 // java.lang.String string
         3: .line 486
            aload 1 /* value */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 487
            aload 2 /* string */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.quote:(Ljava/lang/String;)Ljava/lang/String;
            areturn
         5: .line 489
      StackMap locals: java.lang.Object java.lang.String
      StackMap stack:
            aload 2 /* string */
            areturn
        end local 2 // java.lang.String string
         6: .line 492
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.Object value
        end local 0 // com.oracle.truffle.js.nodes.access.JSConstantNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            1    7     1   value  Ljava/lang/Object;
            3    6     2  string  Ljava/lang/String;
}
SourceFile: "JSConstantNode.java"
NestMembers:
  com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantBigIntNode  com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantBooleanNode  com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantDoubleNode  com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantIntegerNode  com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantJSObjectNode  com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantNullNode  com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantNumericUnitNode  com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantObjectNode  com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantSafeIntegerNode  com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantStringNode  com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantUndefinedNode
InnerClasses:
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  public final JSConstantBigIntNode = com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantBigIntNode of com.oracle.truffle.js.nodes.access.JSConstantNode
  public final JSConstantBooleanNode = com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantBooleanNode of com.oracle.truffle.js.nodes.access.JSConstantNode
  public final JSConstantDoubleNode = com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantDoubleNode of com.oracle.truffle.js.nodes.access.JSConstantNode
  public final JSConstantIntegerNode = com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantIntegerNode of com.oracle.truffle.js.nodes.access.JSConstantNode
  private final JSConstantJSObjectNode = com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantJSObjectNode of com.oracle.truffle.js.nodes.access.JSConstantNode
  public final JSConstantNullNode = com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantNullNode of com.oracle.truffle.js.nodes.access.JSConstantNode
  public final JSConstantNumericUnitNode = com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantNumericUnitNode of com.oracle.truffle.js.nodes.access.JSConstantNode
  private final JSConstantObjectNode = com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantObjectNode of com.oracle.truffle.js.nodes.access.JSConstantNode
  public final JSConstantSafeIntegerNode = com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantSafeIntegerNode of com.oracle.truffle.js.nodes.access.JSConstantNode
  public final JSConstantStringNode = com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantStringNode of com.oracle.truffle.js.nodes.access.JSConstantNode
  public final JSConstantUndefinedNode = com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantUndefinedNode of com.oracle.truffle.js.nodes.access.JSConstantNode
  public final LiteralTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
  public final Type = com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type of com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag