public class com.oracle.truffle.js.nodes.NodeFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.js.nodes.NodeFactory
  super_class: java.lang.Object
{
  private static final com.oracle.truffle.js.nodes.NodeFactory FACTORY;
    descriptor: Lcom/oracle/truffle/js/nodes/NodeFactory;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$js$nodes$NodeFactory$UnaryOperation;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$js$nodes$NodeFactory$BinaryOperation;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  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=2, locals=0, args_size=0
         0: .line 225
            ldc Lcom/oracle/truffle/js/nodes/NodeFactory;
            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.NodeFactory.$assertionsDisabled:Z
         3: .line 227
            new com.oracle.truffle.js.nodes.NodeFactory
            dup
            invokespecial com.oracle.truffle.js.nodes.NodeFactory.<init>:()V
            putstatic com.oracle.truffle.js.nodes.NodeFactory.FACTORY:Lcom/oracle/truffle/js/nodes/NodeFactory;
            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.NodeFactory this
         0: .line 225
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/NodeFactory;

  public com.oracle.truffle.js.nodes.JavaScriptNode createUnary(com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation operation
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode operand
         0: .line 272
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.$SWITCH_TABLE$com$oracle$truffle$js$nodes$NodeFactory$UnaryOperation:()[I
            aload 1 /* operation */
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.ordinal:()I
            iaload
            tableswitch { // 1 - 10
                    1: 2
                    2: 3
                    3: 1
                    4: 4
                    5: 7
                    6: 7
                    7: 7
                    8: 7
                    9: 5
                   10: 6
              default: 7
          }
         1: .line 274
      StackMap locals:
      StackMap stack:
            aload 2 /* operand */
            invokestatic com.oracle.truffle.js.nodes.unary.JSComplementNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/unary/JSComplementNode;
            areturn
         2: .line 276
      StackMap locals:
      StackMap stack:
            aload 2 /* operand */
            invokestatic com.oracle.truffle.js.nodes.unary.JSUnaryMinusNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
         3: .line 278
      StackMap locals:
      StackMap stack:
            aload 2 /* operand */
            invokestatic com.oracle.truffle.js.nodes.unary.JSUnaryPlusNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/unary/JSUnaryPlusNode;
            areturn
         4: .line 280
      StackMap locals:
      StackMap stack:
            aload 2 /* operand */
            invokestatic com.oracle.truffle.js.nodes.unary.JSNotNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
         5: .line 282
      StackMap locals:
      StackMap stack:
            aload 2 /* operand */
            invokestatic com.oracle.truffle.js.nodes.unary.TypeOfNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/unary/TypeOfNode;
            areturn
         6: .line 284
      StackMap locals:
      StackMap stack:
            aload 2 /* operand */
            invokestatic com.oracle.truffle.js.nodes.unary.VoidNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
         7: .line 286
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode operand
        end local 1 // com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation operation
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    8     1  operation  Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
            0    8     2    operand  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
           Name  Flags
      operation  
      operand    

  public com.oracle.truffle.js.nodes.JavaScriptNode createLocalVarInc(com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation, com.oracle.truffle.api.frame.FrameSlot, boolean, com.oracle.truffle.js.nodes.access.ScopeFrameNode, com.oracle.truffle.api.frame.FrameDescriptor);
    descriptor: (Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;Lcom/oracle/truffle/api/frame/FrameSlot;ZLcom/oracle/truffle/js/nodes/access/ScopeFrameNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation operation
        start local 2 // com.oracle.truffle.api.frame.FrameSlot frameSlot
        start local 3 // boolean hasTemporalDeadZone
        start local 4 // com.oracle.truffle.js.nodes.access.ScopeFrameNode scopeFrameNode
        start local 5 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
         0: .line 291
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.$SWITCH_TABLE$com$oracle$truffle$js$nodes$NodeFactory$UnaryOperation:()[I
            aload 1 /* operation */
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.ordinal:()I
            iaload
            tableswitch { // 5 - 8
                    5: 1
                    6: 2
                    7: 3
                    8: 4
              default: 5
          }
         1: .line 293
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.nodes.access.LocalVarIncNode$Op.Inc:Lcom/oracle/truffle/js/nodes/access/LocalVarIncNode$Op;
            aload 2 /* frameSlot */
            iload 3 /* hasTemporalDeadZone */
            aload 4 /* scopeFrameNode */
            aload 5 /* frameDescriptor */
            invokestatic com.oracle.truffle.js.nodes.access.LocalVarIncNode.createPostfix:(Lcom/oracle/truffle/js/nodes/access/LocalVarIncNode$Op;Lcom/oracle/truffle/api/frame/FrameSlot;ZLcom/oracle/truffle/js/nodes/access/ScopeFrameNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/js/nodes/access/LocalVarIncNode;
            areturn
         2: .line 295
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.nodes.access.LocalVarIncNode$Op.Inc:Lcom/oracle/truffle/js/nodes/access/LocalVarIncNode$Op;
            aload 2 /* frameSlot */
            iload 3 /* hasTemporalDeadZone */
            aload 4 /* scopeFrameNode */
            aload 5 /* frameDescriptor */
            invokestatic com.oracle.truffle.js.nodes.access.LocalVarIncNode.createPrefix:(Lcom/oracle/truffle/js/nodes/access/LocalVarIncNode$Op;Lcom/oracle/truffle/api/frame/FrameSlot;ZLcom/oracle/truffle/js/nodes/access/ScopeFrameNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/js/nodes/access/LocalVarIncNode;
            areturn
         3: .line 297
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.nodes.access.LocalVarIncNode$Op.Dec:Lcom/oracle/truffle/js/nodes/access/LocalVarIncNode$Op;
            aload 2 /* frameSlot */
            iload 3 /* hasTemporalDeadZone */
            aload 4 /* scopeFrameNode */
            aload 5 /* frameDescriptor */
            invokestatic com.oracle.truffle.js.nodes.access.LocalVarIncNode.createPostfix:(Lcom/oracle/truffle/js/nodes/access/LocalVarIncNode$Op;Lcom/oracle/truffle/api/frame/FrameSlot;ZLcom/oracle/truffle/js/nodes/access/ScopeFrameNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/js/nodes/access/LocalVarIncNode;
            areturn
         4: .line 299
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.nodes.access.LocalVarIncNode$Op.Dec:Lcom/oracle/truffle/js/nodes/access/LocalVarIncNode$Op;
            aload 2 /* frameSlot */
            iload 3 /* hasTemporalDeadZone */
            aload 4 /* scopeFrameNode */
            aload 5 /* frameDescriptor */
            invokestatic com.oracle.truffle.js.nodes.access.LocalVarIncNode.createPrefix:(Lcom/oracle/truffle/js/nodes/access/LocalVarIncNode$Op;Lcom/oracle/truffle/api/frame/FrameSlot;ZLcom/oracle/truffle/js/nodes/access/ScopeFrameNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/js/nodes/access/LocalVarIncNode;
            areturn
         5: .line 301
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        end local 5 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
        end local 4 // com.oracle.truffle.js.nodes.access.ScopeFrameNode scopeFrameNode
        end local 3 // boolean hasTemporalDeadZone
        end local 2 // com.oracle.truffle.api.frame.FrameSlot frameSlot
        end local 1 // com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation operation
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                 this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    6     1            operation  Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
            0    6     2            frameSlot  Lcom/oracle/truffle/api/frame/FrameSlot;
            0    6     3  hasTemporalDeadZone  Z
            0    6     4       scopeFrameNode  Lcom/oracle/truffle/js/nodes/access/ScopeFrameNode;
            0    6     5      frameDescriptor  Lcom/oracle/truffle/api/frame/FrameDescriptor;
    MethodParameters:
                     Name  Flags
      operation            
      frameSlot            
      hasTemporalDeadZone  
      scopeFrameNode       
      frameDescriptor      

  public com.oracle.truffle.js.nodes.JavaScriptNode createToNumeric(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode operand
         0: .line 306
            aload 1 /* operand */
            invokestatic com.oracle.truffle.js.nodes.cast.JSToNumericNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode operand
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  operand  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
         Name  Flags
      operand  

  public com.oracle.truffle.js.nodes.JavaScriptNode createDual(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode left
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode right
         0: .line 310
            aload 2 /* left */
            instanceof com.oracle.truffle.js.nodes.control.EmptyNode
            ifeq 2
         1: .line 311
            aload 3 /* right */
            areturn
         2: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.DUAL:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            aload 2 /* left */
            aload 3 /* right */
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createBinary:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode right
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode left
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    3     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    3     2     left  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    3     3    right  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
         Name  Flags
      context  
      left     
      right    

  public com.oracle.truffle.js.nodes.JavaScriptNode createBinary(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation operation
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode left
        start local 4 // com.oracle.truffle.js.nodes.JavaScriptNode right
         0: .line 317
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.$SWITCH_TABLE$com$oracle$truffle$js$nodes$NodeFactory$BinaryOperation:()[I
            aload 2 /* operation */
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            iaload
            tableswitch { // 1 - 26
                    1: 1
                    2: 5
                    3: 6
                    4: 3
                    5: 4
                    6: 2
                    7: 7
                    8: 9
                    9: 8
                   10: 10
                   11: 12
                   12: 11
                   13: 13
                   14: 14
                   15: 20
                   16: 18
                   17: 19
                   18: 21
                   19: 22
                   20: 23
                   21: 15
                   22: 16
                   23: 24
                   24: 25
                   25: 26
                   26: 17
              default: 27
          }
         1: .line 319
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            iconst_0
            invokestatic com.oracle.truffle.js.nodes.binary.JSAddNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
         2: .line 321
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            iconst_0
            invokestatic com.oracle.truffle.js.nodes.binary.JSSubtractNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
         3: .line 323
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSMultiplyNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
         4: .line 325
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSExponentiateNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
         5: .line 327
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSDivideNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/binary/JSDivideNode;
            areturn
         6: .line 329
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSModuloNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/binary/JSModuloNode;
            areturn
         7: .line 331
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.createBinaryEqual:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
         8: .line 333
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSGreaterThanNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/binary/JSGreaterThanNode;
            areturn
         9: .line 335
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSGreaterOrEqualNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/binary/JSGreaterOrEqualNode;
            areturn
        10: .line 337
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.createBinaryIdentical:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        11: .line 339
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSLessThanNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/binary/JSLessThanNode;
            areturn
        12: .line 341
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSLessOrEqualNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/binary/JSLessOrEqualNode;
            areturn
        13: .line 343
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.createBinaryEqual:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            invokestatic com.oracle.truffle.js.nodes.unary.JSNotNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        14: .line 345
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.createBinaryIdentical:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            invokestatic com.oracle.truffle.js.nodes.unary.JSNotNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        15: .line 347
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSAndNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/binary/JSAndNode;
            areturn
        16: .line 349
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSOrNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/binary/JSOrNode;
            areturn
        17: .line 351
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSNullishCoalescingNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/binary/JSNullishCoalescingNode;
            areturn
        18: .line 353
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSBitwiseAndNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        19: .line 355
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSBitwiseOrNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        20: .line 357
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSBitwiseXorNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        21: .line 359
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSLeftShiftNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        22: .line 361
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSRightShiftNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        23: .line 363
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSUnsignedRightShiftNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        24: .line 365
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.InstanceofNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/binary/InstanceofNode;
            areturn
        25: .line 367
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.InNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/binary/InNode;
            areturn
        26: .line 369
      StackMap locals:
      StackMap stack:
            aload 3 /* left */
            aload 4 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.DualNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        27: .line 371
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        end local 4 // com.oracle.truffle.js.nodes.JavaScriptNode right
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode left
        end local 2 // com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation operation
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   28     0       this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0   28     1    context  Lcom/oracle/truffle/js/runtime/JSContext;
            0   28     2  operation  Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            0   28     3       left  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0   28     4      right  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
           Name  Flags
      context    
      operation  
      left       
      right      

  private static com.oracle.truffle.js.nodes.JavaScriptNode createBinaryIdentical(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.JavaScriptNode left
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode right
         0: .line 376
            aload 0 /* left */
            aload 1 /* right */
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.createIdenticalSpecial:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            astore 2 /* node */
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode node
         1: .line 377
            aload 2 /* node */
            ifnull 3
         2: .line 378
            aload 2 /* node */
            areturn
         3: .line 380
      StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
      StackMap stack:
            aload 0 /* left */
            aload 1 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSIdenticalNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode node
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode right
        end local 0 // com.oracle.truffle.js.nodes.JavaScriptNode left
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   left  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    4     1  right  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            1    4     2   node  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
       Name  Flags
      left   
      right  

  private static com.oracle.truffle.js.nodes.JavaScriptNode createBinaryEqual(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.JavaScriptNode left
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode right
         0: .line 384
            aload 0 /* left */
            aload 1 /* right */
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.createIdenticalSpecial:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            astore 2 /* node */
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode node
         1: .line 385
            aload 2 /* node */
            ifnull 3
         2: .line 386
            aload 2 /* node */
            areturn
         3: .line 388
      StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode
      StackMap stack:
            aload 0 /* left */
            aload 1 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSEqualNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode node
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode right
        end local 0 // com.oracle.truffle.js.nodes.JavaScriptNode left
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   left  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    4     1  right  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            1    4     2   node  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
       Name  Flags
      left   
      right  

  private static com.oracle.truffle.js.nodes.JavaScriptNode createIdenticalSpecial(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.JavaScriptNode left
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode right
         0: .line 392
            aload 0 /* left */
            instanceof com.oracle.truffle.js.nodes.unary.TypeOfNode
            ifeq 2
            aload 1 /* right */
            instanceof com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantStringNode
            ifeq 2
         1: .line 393
            aload 0 /* left */
            checkcast com.oracle.truffle.js.nodes.unary.TypeOfNode
            invokevirtual com.oracle.truffle.js.nodes.unary.TypeOfNode.getOperand:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 1 /* right */
            checkcast com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantStringNode
            invokestatic com.oracle.truffle.js.nodes.binary.JSTypeofIdenticalNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSConstantNode$JSConstantStringNode;)Lcom/oracle/truffle/js/nodes/binary/JSTypeofIdenticalNode;
            areturn
         2: .line 394
      StackMap locals:
      StackMap stack:
            aload 1 /* right */
            instanceof com.oracle.truffle.js.nodes.unary.TypeOfNode
            ifeq 4
            aload 0 /* left */
            instanceof com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantStringNode
            ifeq 4
         3: .line 395
            aload 1 /* right */
            checkcast com.oracle.truffle.js.nodes.unary.TypeOfNode
            invokevirtual com.oracle.truffle.js.nodes.unary.TypeOfNode.getOperand:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 0 /* left */
            checkcast com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantStringNode
            invokestatic com.oracle.truffle.js.nodes.binary.JSTypeofIdenticalNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSConstantNode$JSConstantStringNode;)Lcom/oracle/truffle/js/nodes/binary/JSTypeofIdenticalNode;
            areturn
         4: .line 397
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode right
        end local 0 // com.oracle.truffle.js.nodes.JavaScriptNode left
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   left  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    5     1  right  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
       Name  Flags
      left   
      right  

  public com.oracle.truffle.js.nodes.JavaScriptNode createTypeofIdentical(com.oracle.truffle.js.nodes.JavaScriptNode, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode subject
        start local 2 // java.lang.String typeString
         0: .line 401
            aload 1 /* subject */
            aload 2 /* typeString */
            invokestatic com.oracle.truffle.js.nodes.binary.JSTypeofIdenticalNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/binary/JSTypeofIdenticalNode;
            areturn
        end local 2 // java.lang.String typeString
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode subject
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1     subject  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2  typeString  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      subject     
      typeString  

  public com.oracle.truffle.js.nodes.JavaScriptNode createLogicalOr(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode left
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode right
         0: .line 405
            aload 1 /* left */
            aload 2 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSOrNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/binary/JSOrNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode right
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode left
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1   left  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2  right  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
       Name  Flags
      left   
      right  

  public com.oracle.truffle.js.nodes.JavaScriptNode createNotUndefinedOr(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode left
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode right
         0: .line 409
            aload 1 /* left */
            aload 2 /* right */
            invokestatic com.oracle.truffle.js.nodes.binary.JSOrNode.createNotUndefinedOr:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/binary/JSOrNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode right
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode left
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1   left  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2  right  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
       Name  Flags
      left   
      right  

  public com.oracle.truffle.js.nodes.JavaScriptNode createConstant(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // java.lang.Object value
         0: .line 413
            aload 1 /* value */
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.create:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            areturn
        end local 1 // java.lang.Object value
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public com.oracle.truffle.js.nodes.JavaScriptNode createConstantBoolean(boolean);
    descriptor: (Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // boolean value
         0: .line 417
            iload 1 /* value */
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createBoolean:(Z)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            areturn
        end local 1 // boolean value
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  value  Z
    MethodParameters:
       Name  Flags
      value  

  public com.oracle.truffle.js.nodes.JavaScriptNode createConstantInteger(int);
    descriptor: (I)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // int value
         0: .line 421
            iload 1 /* value */
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createInt:(I)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            areturn
        end local 1 // int value
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  value  I
    MethodParameters:
       Name  Flags
      value  

  public com.oracle.truffle.js.nodes.JavaScriptNode createConstantSafeInteger(long);
    descriptor: (J)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // long value
         0: .line 425
            lload 1 /* value */
            invokestatic com.oracle.truffle.js.runtime.SafeInteger.valueOf:(J)Lcom/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
        end local 1 // long value
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  value  J
    MethodParameters:
       Name  Flags
      value  

  public com.oracle.truffle.js.nodes.JavaScriptNode createConstantNumericUnit();
    descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
         0: .line 429
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createConstantNumericUnit:()Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            areturn
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/NodeFactory;

  public com.oracle.truffle.js.nodes.JavaScriptNode createConstantDouble(double);
    descriptor: (D)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // double value
         0: .line 433
            dload 1 /* value */
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createDouble:(D)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            areturn
        end local 1 // double value
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  value  D
    MethodParameters:
       Name  Flags
      value  

  public com.oracle.truffle.js.nodes.JavaScriptNode createConstantString(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // java.lang.String value
         0: .line 437
            aload 1 /* value */
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createString:(Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            areturn
        end local 1 // java.lang.String value
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  public com.oracle.truffle.js.nodes.JavaScriptNode createConstantUndefined();
    descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
         0: .line 441
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createUndefined:()Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            areturn
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/NodeFactory;

  public com.oracle.truffle.js.nodes.JavaScriptNode createConstantNull();
    descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
         0: .line 445
            invokestatic com.oracle.truffle.js.nodes.access.JSConstantNode.createNull:()Lcom/oracle/truffle/js/nodes/access/JSConstantNode;
            areturn
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/NodeFactory;

  public com.oracle.truffle.js.nodes.control.IfNode createIf(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/IfNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode condition
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode pass
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode fail
         0: .line 449
            aload 1 /* condition */
            aload 2 /* pass */
            aload 3 /* fail */
            invokestatic com.oracle.truffle.js.nodes.control.IfNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/IfNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode fail
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode pass
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode condition
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  condition  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2       pass  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3       fail  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
           Name  Flags
      condition  
      pass       
      fail       

  public com.oracle.truffle.js.nodes.control.SwitchNode createSwitch(com.oracle.truffle.js.nodes.JavaScriptNode[], int[], com.oracle.truffle.js.nodes.JavaScriptNode[]);
    descriptor: ([Lcom/oracle/truffle/js/nodes/JavaScriptNode;[I[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/SwitchNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode[] caseExpressions
        start local 2 // int[] jumptable
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode[] statements
         0: .line 455
            aload 1 /* caseExpressions */
            aload 2 /* jumptable */
            aload 3 /* statements */
            invokestatic com.oracle.truffle.js.nodes.control.SwitchNode.create:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;[I[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/SwitchNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode[] statements
        end local 2 // int[] jumptable
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode[] caseExpressions
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  caseExpressions  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2        jumptable  [I
            0    1     3       statements  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                 Name  Flags
      caseExpressions  
      jumptable        
      statements       

  public com.oracle.truffle.js.nodes.JavaScriptNode createWhileDo(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode condition
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
         0: .line 459
            aload 1 /* condition */
            aload 2 /* body */
            invokestatic com.oracle.truffle.js.nodes.control.WhileNode.createWhileDo:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode condition
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  condition  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2       body  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
           Name  Flags
      condition  
      body       

  public com.oracle.truffle.js.nodes.JavaScriptNode createDoWhile(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode condition
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
         0: .line 463
            aload 1 /* condition */
            aload 2 /* body */
            invokestatic com.oracle.truffle.js.nodes.control.WhileNode.createDoWhile:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode condition
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  condition  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2       body  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
           Name  Flags
      condition  
      body       

  public com.oracle.truffle.js.nodes.JavaScriptNode createDesugaredFor(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode condition
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
         0: .line 467
            aload 1 /* condition */
            aload 2 /* body */
            invokestatic com.oracle.truffle.js.nodes.control.WhileNode.createDesugaredFor:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode condition
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  condition  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2       body  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
           Name  Flags
      condition  
      body       

  public com.oracle.truffle.js.nodes.JavaScriptNode createDesugaredForOf(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode condition
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
         0: .line 471
            aload 1 /* condition */
            aload 2 /* body */
            invokestatic com.oracle.truffle.js.nodes.control.WhileNode.createDesugaredForOf:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode condition
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  condition  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2       body  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
           Name  Flags
      condition  
      body       

  public com.oracle.truffle.js.nodes.JavaScriptNode createDesugaredForIn(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode condition
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
         0: .line 475
            aload 1 /* condition */
            aload 2 /* body */
            invokestatic com.oracle.truffle.js.nodes.control.WhileNode.createDesugaredForIn:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode condition
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  condition  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2       body  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
           Name  Flags
      condition  
      body       

  public com.oracle.truffle.js.nodes.JavaScriptNode createDesugaredForAwaitOf(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode condition
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
         0: .line 479
            aload 1 /* condition */
            aload 2 /* body */
            invokestatic com.oracle.truffle.js.nodes.control.WhileNode.createDesugaredForAwaitOf:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode condition
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  condition  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2       body  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
           Name  Flags
      condition  
      body       

  public com.oracle.truffle.js.nodes.control.StatementNode createFor(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.api.frame.FrameDescriptor, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/StatementNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=7
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode condition
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode modify
        start local 4 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
        start local 5 // com.oracle.truffle.js.nodes.JavaScriptNode isFirstNode
        start local 6 // com.oracle.truffle.js.nodes.JavaScriptNode setNotFirstNode
         0: .line 483
            aload 0 /* this */
            aload 4 /* frameDescriptor */
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createIterationScope:(Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/js/nodes/function/IterationScopeNode;
            astore 7 /* perIterationScope */
        start local 7 // com.oracle.truffle.js.nodes.function.IterationScopeNode perIterationScope
         1: .line 484
            aload 1 /* condition */
            aload 2 /* body */
            aload 3 /* modify */
            aload 7 /* perIterationScope */
            aload 5 /* isFirstNode */
            aload 6 /* setNotFirstNode */
            invokestatic com.oracle.truffle.js.nodes.control.ForNode.createFor:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/function/IterationScopeNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ForNode;
            areturn
        end local 7 // com.oracle.truffle.js.nodes.function.IterationScopeNode perIterationScope
        end local 6 // com.oracle.truffle.js.nodes.JavaScriptNode setNotFirstNode
        end local 5 // com.oracle.truffle.js.nodes.JavaScriptNode isFirstNode
        end local 4 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode modify
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode condition
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    2     1          condition  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    2     2               body  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    2     3             modify  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    2     4    frameDescriptor  Lcom/oracle/truffle/api/frame/FrameDescriptor;
            0    2     5        isFirstNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    2     6    setNotFirstNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            1    2     7  perIterationScope  Lcom/oracle/truffle/js/nodes/function/IterationScopeNode;
    MethodParameters:
                 Name  Flags
      condition        
      body             
      modify           
      frameDescriptor  
      isFirstNode      
      setNotFirstNode  

  public com.oracle.truffle.js.nodes.function.IterationScopeNode createIterationScope(com.oracle.truffle.api.frame.FrameDescriptor);
    descriptor: (Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/js/nodes/function/IterationScopeNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=7, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
         0: .line 488
            getstatic com.oracle.truffle.js.nodes.NodeFactory.$assertionsDisabled:Z
            ifne 2
            aload 1 /* frameDescriptor */
            invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.getSize:()I
            ifle 1
            aload 1 /* frameDescriptor */
            invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.getSlots:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.frame.FrameSlot
            invokevirtual com.oracle.truffle.api.frame.FrameSlot.getIdentifier:()Ljava/lang/Object;
            getstatic com.oracle.truffle.js.nodes.access.ScopeFrameNode.PARENT_SCOPE_IDENTIFIER:Ljava/lang/Object;
            if_acmpeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 489
      StackMap locals:
      StackMap stack:
            aload 1 /* frameDescriptor */
            invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.getSlots:()Ljava/util/List;
            astore 2 /* slots */
        start local 2 // java.util.List slots
         3: .line 490
            aload 2 /* slots */
            invokeinterface java.util.List.size:()I
            anewarray com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode
            astore 3 /* reads */
        start local 3 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode[] reads
         4: .line 491
            aload 2 /* slots */
            invokeinterface java.util.List.size:()I
            anewarray com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
            astore 4 /* writes */
        start local 4 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode[] writes
         5: .line 492
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 11
         7: .line 493
      StackMap locals: com.oracle.truffle.js.nodes.NodeFactory com.oracle.truffle.api.frame.FrameDescriptor java.util.List com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode[] com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode[] int
      StackMap stack:
            aload 2 /* slots */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.frame.FrameSlot
            astore 6 /* slot */
        start local 6 // com.oracle.truffle.api.frame.FrameSlot slot
         8: .line 494
            aload 3 /* reads */
            iload 5 /* i */
            aload 6 /* slot */
            iconst_0
            iconst_0
            getstatic com.oracle.truffle.js.nodes.access.ScopeFrameNode.EMPTY_FRAME_SLOT_ARRAY:[Lcom/oracle/truffle/api/frame/FrameSlot;
            iconst_0
            invokestatic com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode.create:(Lcom/oracle/truffle/api/frame/FrameSlot;II[Lcom/oracle/truffle/api/frame/FrameSlot;Z)Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
            aastore
         9: .line 495
            aload 4 /* writes */
            iload 5 /* i */
            aload 6 /* slot */
            iconst_0
            iconst_0
            aload 1 /* frameDescriptor */
            getstatic com.oracle.truffle.js.nodes.access.ScopeFrameNode.EMPTY_FRAME_SLOT_ARRAY:[Lcom/oracle/truffle/api/frame/FrameSlot;
            aconst_null
            iconst_0
            invokestatic com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode.create:(Lcom/oracle/truffle/api/frame/FrameSlot;IILcom/oracle/truffle/api/frame/FrameDescriptor;[Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
            aastore
        end local 6 // com.oracle.truffle.api.frame.FrameSlot slot
        10: .line 492
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            aload 2 /* slots */
            invokeinterface java.util.List.size:()I
            if_icmplt 7
        end local 5 // int i
        12: .line 497
            aload 1 /* frameDescriptor */
            aload 3 /* reads */
            aload 4 /* writes */
            invokestatic com.oracle.truffle.js.nodes.function.IterationScopeNode.create:(Lcom/oracle/truffle/api/frame/FrameDescriptor;[Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;[Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/function/IterationScopeNode;
            areturn
        end local 4 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode[] writes
        end local 3 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode[] reads
        end local 2 // java.util.List slots
        end local 1 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0   13     1  frameDescriptor  Lcom/oracle/truffle/api/frame/FrameDescriptor;
            3   13     2            slots  Ljava/util/List<+Lcom/oracle/truffle/api/frame/FrameSlot;>;
            4   13     3            reads  [Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
            5   13     4           writes  [Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
            6   12     5                i  I
            8   10     6             slot  Lcom/oracle/truffle/api/frame/FrameSlot;
    MethodParameters:
                 Name  Flags
      frameDescriptor  

  public com.oracle.truffle.js.nodes.control.BreakNode createBreak(com.oracle.truffle.js.nodes.control.BreakTarget);
    descriptor: (Lcom/oracle/truffle/js/nodes/control/BreakTarget;)Lcom/oracle/truffle/js/nodes/control/BreakNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.control.BreakTarget breakTarget
         0: .line 501
            aload 1 /* breakTarget */
            invokestatic com.oracle.truffle.js.nodes.control.BreakNode.create:(Lcom/oracle/truffle/js/nodes/control/BreakTarget;)Lcom/oracle/truffle/js/nodes/control/BreakNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.control.BreakTarget breakTarget
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  breakTarget  Lcom/oracle/truffle/js/nodes/control/BreakTarget;
    MethodParameters:
             Name  Flags
      breakTarget  

  public com.oracle.truffle.js.nodes.control.ContinueNode createContinue(com.oracle.truffle.js.nodes.control.ContinueTarget);
    descriptor: (Lcom/oracle/truffle/js/nodes/control/ContinueTarget;)Lcom/oracle/truffle/js/nodes/control/ContinueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.control.ContinueTarget continueTarget
         0: .line 505
            aload 1 /* continueTarget */
            invokestatic com.oracle.truffle.js.nodes.control.ContinueNode.create:(Lcom/oracle/truffle/js/nodes/control/ContinueTarget;)Lcom/oracle/truffle/js/nodes/control/ContinueNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.control.ContinueTarget continueTarget
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  continueTarget  Lcom/oracle/truffle/js/nodes/control/ContinueTarget;
    MethodParameters:
                Name  Flags
      continueTarget  

  public com.oracle.truffle.js.nodes.control.LabelNode createLabel(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.control.BreakTarget);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/control/BreakTarget;)Lcom/oracle/truffle/js/nodes/control/LabelNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode block
        start local 2 // com.oracle.truffle.js.nodes.control.BreakTarget target
         0: .line 509
            aload 1 /* block */
            aload 2 /* target */
            invokestatic com.oracle.truffle.js.nodes.control.LabelNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/control/BreakTarget;)Lcom/oracle/truffle/js/nodes/control/LabelNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.control.BreakTarget target
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode block
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1   block  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2  target  Lcom/oracle/truffle/js/nodes/control/BreakTarget;
    MethodParameters:
        Name  Flags
      block   
      target  

  public com.oracle.truffle.js.nodes.JavaScriptNode createEmpty();
    descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
         0: .line 513
            invokestatic com.oracle.truffle.js.nodes.control.EmptyNode.create:()Lcom/oracle/truffle/js/nodes/control/EmptyNode;
            areturn
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/NodeFactory;

  public com.oracle.truffle.js.nodes.JavaScriptNode createVoidBlock(com.oracle.truffle.js.nodes.JavaScriptNode[]);
    descriptor: ([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode[] statements
         0: .line 517
            aload 1 /* statements */
            invokestatic com.oracle.truffle.js.nodes.control.VoidBlockNode.createVoidBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode[] statements
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  statements  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      statements  

  public com.oracle.truffle.js.nodes.JavaScriptNode createExprBlock(com.oracle.truffle.js.nodes.JavaScriptNode[]);
    descriptor: ([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode[] statements
         0: .line 521
            aload 1 /* statements */
            invokestatic com.oracle.truffle.js.nodes.control.ExprBlockNode.createExprBlock:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode[] statements
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  statements  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      statements  

  public com.oracle.truffle.js.nodes.control.ReturnTargetNode createReturnTarget(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ReturnTargetNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode body
         0: .line 525
            aload 1 /* body */
            invokestatic com.oracle.truffle.js.nodes.control.ReturnTargetNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ReturnTargetNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode body
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  body  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
      Name  Flags
      body  

  public com.oracle.truffle.js.nodes.control.ReturnTargetNode createFrameReturnTarget(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ReturnTargetNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode body
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode returnValue
         0: .line 529
            aload 1 /* body */
            aload 2 /* returnValue */
            invokestatic com.oracle.truffle.js.nodes.control.ReturnTargetNode.createFrameReturnTarget:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ReturnTargetNode$FrameReturnTargetNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode returnValue
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode body
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1         body  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2  returnValue  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
             Name  Flags
      body         
      returnValue  

  public com.oracle.truffle.js.nodes.control.ContinueTargetNode createContinueTarget(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.control.ContinueTarget);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/control/ContinueTarget;)Lcom/oracle/truffle/js/nodes/control/ContinueTargetNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode block
        start local 2 // com.oracle.truffle.js.nodes.control.ContinueTarget continueTarget
         0: .line 533
            aload 1 /* block */
            aload 2 /* continueTarget */
            invokestatic com.oracle.truffle.js.nodes.control.ContinueTargetNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/control/ContinueTarget;)Lcom/oracle/truffle/js/nodes/control/ContinueTargetNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.control.ContinueTarget continueTarget
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode block
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1           block  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2  continueTarget  Lcom/oracle/truffle/js/nodes/control/ContinueTarget;
    MethodParameters:
                Name  Flags
      block           
      continueTarget  

  public com.oracle.truffle.js.nodes.control.DirectBreakTargetNode createDirectBreakTarget(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/DirectBreakTargetNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode block
         0: .line 537
            aload 1 /* block */
            invokestatic com.oracle.truffle.js.nodes.control.DirectBreakTargetNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/DirectBreakTargetNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode block
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  block  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
       Name  Flags
      block  

  public com.oracle.truffle.js.nodes.JavaScriptNode createDebugger();
    descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
         0: .line 541
            invokestatic com.oracle.truffle.js.nodes.control.DebuggerNode.create:()Lcom/oracle/truffle/js/nodes/control/DebuggerNode;
            areturn
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/NodeFactory;

  public com.oracle.truffle.js.nodes.JavaScriptNode createLocal(com.oracle.truffle.api.frame.FrameSlot, int, int, com.oracle.truffle.api.frame.FrameSlot[]);
    descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;II[Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.api.frame.FrameSlot frameSlot
        start local 2 // int frameLevel
        start local 3 // int scopeLevel
        start local 4 // com.oracle.truffle.api.frame.FrameSlot[] parentSlots
         0: .line 545
            aload 0 /* this */
            aload 1 /* frameSlot */
            iload 2 /* frameLevel */
            iload 3 /* scopeLevel */
            aload 4 /* parentSlots */
            iconst_0
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createLocal:(Lcom/oracle/truffle/api/frame/FrameSlot;II[Lcom/oracle/truffle/api/frame/FrameSlot;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 4 // com.oracle.truffle.api.frame.FrameSlot[] parentSlots
        end local 3 // int scopeLevel
        end local 2 // int frameLevel
        end local 1 // com.oracle.truffle.api.frame.FrameSlot frameSlot
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1    frameSlot  Lcom/oracle/truffle/api/frame/FrameSlot;
            0    1     2   frameLevel  I
            0    1     3   scopeLevel  I
            0    1     4  parentSlots  [Lcom/oracle/truffle/api/frame/FrameSlot;
    MethodParameters:
             Name  Flags
      frameSlot    
      frameLevel   
      scopeLevel   
      parentSlots  

  public com.oracle.truffle.js.nodes.JavaScriptNode createLocal(com.oracle.truffle.api.frame.FrameSlot, int, int, com.oracle.truffle.api.frame.FrameSlot[], boolean);
    descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;II[Lcom/oracle/truffle/api/frame/FrameSlot;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.api.frame.FrameSlot frameSlot
        start local 2 // int frameLevel
        start local 3 // int scopeLevel
        start local 4 // com.oracle.truffle.api.frame.FrameSlot[] parentSlots
        start local 5 // boolean hasTemporalDeadZone
         0: .line 549
            aload 1 /* frameSlot */
            iload 2 /* frameLevel */
            iload 3 /* scopeLevel */
            aload 4 /* parentSlots */
            iload 5 /* hasTemporalDeadZone */
            invokestatic com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode.create:(Lcom/oracle/truffle/api/frame/FrameSlot;II[Lcom/oracle/truffle/api/frame/FrameSlot;Z)Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
            areturn
        end local 5 // boolean hasTemporalDeadZone
        end local 4 // com.oracle.truffle.api.frame.FrameSlot[] parentSlots
        end local 3 // int scopeLevel
        end local 2 // int frameLevel
        end local 1 // com.oracle.truffle.api.frame.FrameSlot frameSlot
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1            frameSlot  Lcom/oracle/truffle/api/frame/FrameSlot;
            0    1     2           frameLevel  I
            0    1     3           scopeLevel  I
            0    1     4          parentSlots  [Lcom/oracle/truffle/api/frame/FrameSlot;
            0    1     5  hasTemporalDeadZone  Z
    MethodParameters:
                     Name  Flags
      frameSlot            
      frameLevel           
      scopeLevel           
      parentSlots          
      hasTemporalDeadZone  

  public com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode createWriteFrameSlot(com.oracle.truffle.api.frame.FrameSlot, int, int, com.oracle.truffle.api.frame.FrameDescriptor, com.oracle.truffle.api.frame.FrameSlot[], com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;IILcom/oracle/truffle/api/frame/FrameDescriptor;[Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.api.frame.FrameSlot frameSlot
        start local 2 // int frameLevel
        start local 3 // int scopeLevel
        start local 4 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
        start local 5 // com.oracle.truffle.api.frame.FrameSlot[] parentSlots
        start local 6 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
         0: .line 553
            aload 1 /* frameSlot */
            iload 2 /* frameLevel */
            iload 3 /* scopeLevel */
            aload 4 /* frameDescriptor */
            aload 5 /* parentSlots */
            aload 6 /* rhs */
            iconst_0
            invokestatic com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode.create:(Lcom/oracle/truffle/api/frame/FrameSlot;IILcom/oracle/truffle/api/frame/FrameDescriptor;[Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
            areturn
        end local 6 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
        end local 5 // com.oracle.truffle.api.frame.FrameSlot[] parentSlots
        end local 4 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
        end local 3 // int scopeLevel
        end local 2 // int frameLevel
        end local 1 // com.oracle.truffle.api.frame.FrameSlot frameSlot
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1        frameSlot  Lcom/oracle/truffle/api/frame/FrameSlot;
            0    1     2       frameLevel  I
            0    1     3       scopeLevel  I
            0    1     4  frameDescriptor  Lcom/oracle/truffle/api/frame/FrameDescriptor;
            0    1     5      parentSlots  [Lcom/oracle/truffle/api/frame/FrameSlot;
            0    1     6              rhs  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                 Name  Flags
      frameSlot        
      frameLevel       
      scopeLevel       
      frameDescriptor  
      parentSlots      
      rhs              

  public com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode createWriteFrameSlot(com.oracle.truffle.api.frame.FrameSlot, int, int, com.oracle.truffle.api.frame.FrameDescriptor, com.oracle.truffle.api.frame.FrameSlot[], com.oracle.truffle.js.nodes.JavaScriptNode, boolean);
    descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;IILcom/oracle/truffle/api/frame/FrameDescriptor;[Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=8
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.api.frame.FrameSlot frameSlot
        start local 2 // int frameLevel
        start local 3 // int scopeLevel
        start local 4 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
        start local 5 // com.oracle.truffle.api.frame.FrameSlot[] parentSlots
        start local 6 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
        start local 7 // boolean hasTemporalDeadZone
         0: .line 558
            aload 1 /* frameSlot */
            iload 2 /* frameLevel */
            iload 3 /* scopeLevel */
            aload 4 /* frameDescriptor */
            aload 5 /* parentSlots */
            aload 6 /* rhs */
            iload 7 /* hasTemporalDeadZone */
            invokestatic com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode.create:(Lcom/oracle/truffle/api/frame/FrameSlot;IILcom/oracle/truffle/api/frame/FrameDescriptor;[Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
            areturn
        end local 7 // boolean hasTemporalDeadZone
        end local 6 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
        end local 5 // com.oracle.truffle.api.frame.FrameSlot[] parentSlots
        end local 4 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
        end local 3 // int scopeLevel
        end local 2 // int frameLevel
        end local 1 // com.oracle.truffle.api.frame.FrameSlot frameSlot
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1            frameSlot  Lcom/oracle/truffle/api/frame/FrameSlot;
            0    1     2           frameLevel  I
            0    1     3           scopeLevel  I
            0    1     4      frameDescriptor  Lcom/oracle/truffle/api/frame/FrameDescriptor;
            0    1     5          parentSlots  [Lcom/oracle/truffle/api/frame/FrameSlot;
            0    1     6                  rhs  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     7  hasTemporalDeadZone  Z
    MethodParameters:
                     Name  Flags
      frameSlot            
      frameLevel           
      scopeLevel           
      frameDescriptor      
      parentSlots          
      rhs                  
      hasTemporalDeadZone  

  public com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode createWriteCurrentFrameSlot(com.oracle.truffle.api.frame.FrameSlot, com.oracle.truffle.api.frame.FrameDescriptor, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.api.frame.FrameSlot frameSlot
        start local 2 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
         0: .line 562
            aload 1 /* frameSlot */
            iconst_0
            iconst_0
            aload 2 /* frameDescriptor */
            getstatic com.oracle.truffle.js.nodes.access.ScopeFrameNode.EMPTY_FRAME_SLOT_ARRAY:[Lcom/oracle/truffle/api/frame/FrameSlot;
            aload 3 /* rhs */
            iconst_0
            invokestatic com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode.create:(Lcom/oracle/truffle/api/frame/FrameSlot;IILcom/oracle/truffle/api/frame/FrameDescriptor;[Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
        end local 2 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
        end local 1 // com.oracle.truffle.api.frame.FrameSlot frameSlot
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1        frameSlot  Lcom/oracle/truffle/api/frame/FrameSlot;
            0    1     2  frameDescriptor  Lcom/oracle/truffle/api/frame/FrameDescriptor;
            0    1     3              rhs  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                 Name  Flags
      frameSlot        
      frameDescriptor  
      rhs              

  public com.oracle.truffle.js.nodes.access.ScopeFrameNode createScopeFrame(int, int, com.oracle.truffle.api.frame.FrameSlot[]);
    descriptor: (II[Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/nodes/access/ScopeFrameNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // int frameLevel
        start local 2 // int scopeLevel
        start local 3 // com.oracle.truffle.api.frame.FrameSlot[] parentSlots
         0: .line 566
            iload 1 /* frameLevel */
            iload 2 /* scopeLevel */
            aload 3 /* parentSlots */
            invokestatic com.oracle.truffle.js.nodes.access.ScopeFrameNode.create:(II[Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/nodes/access/ScopeFrameNode;
            areturn
        end local 3 // com.oracle.truffle.api.frame.FrameSlot[] parentSlots
        end local 2 // int scopeLevel
        end local 1 // int frameLevel
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1   frameLevel  I
            0    1     2   scopeLevel  I
            0    1     3  parentSlots  [Lcom/oracle/truffle/api/frame/FrameSlot;
    MethodParameters:
             Name  Flags
      frameLevel   
      scopeLevel   
      parentSlots  

  public com.oracle.truffle.js.nodes.JavaScriptNode createReadLexicalGlobal(java.lang.String, boolean, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Ljava/lang/String;ZLcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // java.lang.String name
        start local 2 // boolean hasTemporalDeadZone
        start local 3 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 570
            aload 3 /* context */
            aload 1 /* name */
            iload 2 /* hasTemporalDeadZone */
            invokestatic com.oracle.truffle.js.nodes.access.GlobalPropertyNode.createLexicalGlobal:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Z)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
            areturn
        end local 3 // com.oracle.truffle.js.runtime.JSContext context
        end local 2 // boolean hasTemporalDeadZone
        end local 1 // java.lang.String name
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1                 name  Ljava/lang/String;
            0    1     2  hasTemporalDeadZone  Z
            0    1     3              context  Lcom/oracle/truffle/js/runtime/JSContext;
    MethodParameters:
                     Name  Flags
      name                 
      hasTemporalDeadZone  
      context              

  public com.oracle.truffle.js.nodes.JavaScriptNode createGlobalScope(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 574
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.nodes.access.GlobalScopeNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
    MethodParameters:
         Name  Flags
      context  

  public com.oracle.truffle.js.nodes.JavaScriptNode createGlobalScopeTDZCheck(com.oracle.truffle.js.runtime.JSContext, java.lang.String, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // java.lang.String name
        start local 3 // boolean checkTDZ
         0: .line 578
            iload 3 /* checkTDZ */
            ifne 2
         1: .line 579
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createGlobalScope:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
         2: .line 581
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 2 /* name */
            invokestatic com.oracle.truffle.js.nodes.access.GlobalScopeNode.createWithTDZCheck:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 3 // boolean checkTDZ
        end local 2 // java.lang.String name
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    3     1   context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    3     2      name  Ljava/lang/String;
            0    3     3  checkTDZ  Z
    MethodParameters:
          Name  Flags
      context   
      name      
      checkTDZ  

  public com.oracle.truffle.js.nodes.JavaScriptNode createGlobalVarWrapper(java.lang.String, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.JSTargetableNode);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // java.lang.String varName
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode defaultDelegate
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode dynamicScope
        start local 4 // com.oracle.truffle.js.nodes.access.JSTargetableNode scopeAccessNode
         0: .line 585
            new com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode
            dup
            aload 1 /* varName */
            aload 2 /* defaultDelegate */
            aload 3 /* dynamicScope */
            aload 4 /* scopeAccessNode */
            invokespecial com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode.<init>:(Ljava/lang/String;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;)V
            areturn
        end local 4 // com.oracle.truffle.js.nodes.access.JSTargetableNode scopeAccessNode
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode dynamicScope
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode defaultDelegate
        end local 1 // java.lang.String varName
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1          varName  Ljava/lang/String;
            0    1     2  defaultDelegate  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3     dynamicScope  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     4  scopeAccessNode  Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
    MethodParameters:
                 Name  Flags
      varName          
      defaultDelegate  
      dynamicScope     
      scopeAccessNode  

  public com.oracle.truffle.js.nodes.JavaScriptNode createThrow(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode expression
         0: .line 589
            aload 2 /* expression */
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.nodes.control.ThrowNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/control/ThrowNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1     context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  expression  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      context     
      expression  

  public com.oracle.truffle.js.nodes.JavaScriptNode createTryCatch(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.function.BlockScopeNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/function/BlockScopeNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=8
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode tryNode
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode catchBlock
        start local 4 // com.oracle.truffle.js.nodes.JavaScriptNode writeErrorVar
        start local 5 // com.oracle.truffle.js.nodes.function.BlockScopeNode blockScope
        start local 6 // com.oracle.truffle.js.nodes.JavaScriptNode destructuring
        start local 7 // com.oracle.truffle.js.nodes.JavaScriptNode conditionExpression
         0: .line 594
            aload 1 /* context */
            aload 2 /* tryNode */
            aload 3 /* catchBlock */
            aload 4 /* writeErrorVar */
            checkcast com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
            aload 5 /* blockScope */
            aload 6 /* destructuring */
            aload 7 /* conditionExpression */
            invokestatic com.oracle.truffle.js.nodes.control.TryCatchNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/nodes/function/BlockScopeNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/TryCatchNode;
            areturn
        end local 7 // com.oracle.truffle.js.nodes.JavaScriptNode conditionExpression
        end local 6 // com.oracle.truffle.js.nodes.JavaScriptNode destructuring
        end local 5 // com.oracle.truffle.js.nodes.function.BlockScopeNode blockScope
        end local 4 // com.oracle.truffle.js.nodes.JavaScriptNode writeErrorVar
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode catchBlock
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode tryNode
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1              context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2              tryNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3           catchBlock  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     4        writeErrorVar  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     5           blockScope  Lcom/oracle/truffle/js/nodes/function/BlockScopeNode;
            0    1     6        destructuring  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     7  conditionExpression  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                     Name  Flags
      context              
      tryNode              
      catchBlock           
      writeErrorVar        
      blockScope           
      destructuring        
      conditionExpression  

  public com.oracle.truffle.js.nodes.JavaScriptNode createTryFinally(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode tryNode
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode finallyBlock
         0: .line 598
            aload 1 /* tryNode */
            aload 2 /* finallyBlock */
            invokestatic com.oracle.truffle.js.nodes.control.TryFinallyNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode finallyBlock
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode tryNode
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1       tryNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2  finallyBlock  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
              Name  Flags
      tryNode       
      finallyBlock  

  public com.oracle.truffle.js.nodes.JavaScriptNode createFunctionCall(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode[]);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode[] arguments
         0: .line 602
            aload 2 /* expression */
            instanceof com.oracle.truffle.js.nodes.access.PropertyNode
            ifne 2
            aload 2 /* expression */
            instanceof com.oracle.truffle.js.nodes.access.ReadElementNode
            ifne 2
            aload 2 /* expression */
            instanceof com.oracle.truffle.js.nodes.access.WithVarWrapperNode
            ifne 2
            aload 2 /* expression */
            instanceof com.oracle.truffle.js.nodes.access.PrivateFieldGetNode
            ifne 2
         1: .line 603
            aload 2 /* expression */
            instanceof com.oracle.truffle.js.nodes.access.OptionalChainNode$ShortCircuitTargetableNode
            ifne 2
            aload 2 /* expression */
            instanceof com.oracle.truffle.js.nodes.access.OptionalChainNode$OptionalTargetableNode
            ifeq 4
         2: .line 604
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.nodes.NodeFactory.$assertionsDisabled:Z
            ifne 3
            aload 2 /* expression */
            instanceof com.oracle.truffle.js.nodes.access.PropertyNode
            ifeq 3
            aload 2 /* expression */
            checkcast com.oracle.truffle.js.nodes.access.PropertyNode
            invokevirtual com.oracle.truffle.js.nodes.access.PropertyNode.isMethod:()Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 605
      StackMap locals:
      StackMap stack:
            aload 2 /* expression */
            checkcast com.oracle.truffle.js.nodes.access.JSTargetableNode
            aload 3 /* arguments */
            iconst_0
            iconst_0
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createInvoke:(Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            areturn
         4: .line 606
      StackMap locals:
      StackMap stack:
            aload 2 /* expression */
            instanceof com.oracle.truffle.js.nodes.access.JSTargetableWrapperNode
            ifeq 8
         5: .line 607
            aload 2 /* expression */
            checkcast com.oracle.truffle.js.nodes.access.JSTargetableWrapperNode
            invokevirtual com.oracle.truffle.js.nodes.access.JSTargetableWrapperNode.getDelegate:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            astore 4 /* function */
        start local 4 // com.oracle.truffle.js.nodes.JavaScriptNode function
         6: .line 608
            aload 2 /* expression */
            checkcast com.oracle.truffle.js.nodes.access.JSTargetableWrapperNode
            invokevirtual com.oracle.truffle.js.nodes.access.JSTargetableWrapperNode.getTarget:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            astore 5 /* target */
        start local 5 // com.oracle.truffle.js.nodes.JavaScriptNode target
         7: .line 609
            aload 4 /* function */
            aload 5 /* target */
            aload 3 /* arguments */
            iconst_0
            iconst_0
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createCall:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            areturn
        end local 5 // com.oracle.truffle.js.nodes.JavaScriptNode target
        end local 4 // com.oracle.truffle.js.nodes.JavaScriptNode function
         8: .line 611
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.nodes.NodeFactory.$assertionsDisabled:Z
            ifne 9
            aload 2 /* expression */
            ifnonnull 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 612
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* target */
        start local 4 // com.oracle.truffle.js.nodes.JavaScriptNode target
        10: .line 613
            aload 2 /* expression */
            astore 5 /* function */
        start local 5 // com.oracle.truffle.js.nodes.JavaScriptNode function
        11: .line 614
            aload 5 /* function */
            instanceof com.oracle.truffle.js.nodes.access.GlobalPropertyNode
            ifeq 14
        12: .line 615
            aload 5 /* function */
            checkcast com.oracle.truffle.js.nodes.access.GlobalPropertyNode
            invokevirtual com.oracle.truffle.js.nodes.access.GlobalPropertyNode.setMethod:()V
        13: .line 616
            goto 16
      StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.JavaScriptNode
      StackMap stack:
        14: aload 5 /* function */
            instanceof com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode
            ifeq 16
        15: .line 617
            aload 5 /* function */
            checkcast com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode
            invokevirtual com.oracle.truffle.js.nodes.access.GlobalScopeVarWrapperNode.setMethod:()V
        16: .line 619
      StackMap locals:
      StackMap stack:
            aload 5 /* function */
            aload 4 /* target */
            aload 3 /* arguments */
            iconst_0
            iconst_0
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createCall:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            areturn
        end local 5 // com.oracle.truffle.js.nodes.JavaScriptNode function
        end local 4 // com.oracle.truffle.js.nodes.JavaScriptNode target
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode[] arguments
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0   17     1     context  Lcom/oracle/truffle/js/runtime/JSContext;
            0   17     2  expression  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0   17     3   arguments  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            6    8     4    function  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            7    8     5      target  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
           10   17     4      target  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
           11   17     5    function  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      context     
      expression  
      arguments   

  public com.oracle.truffle.js.nodes.JavaScriptNode createFunctionCallWithNewTarget(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode[]);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode[] arguments
         0: .line 624
            getstatic com.oracle.truffle.js.nodes.NodeFactory.$assertionsDisabled:Z
            ifne 1
            aload 2 /* expression */
            instanceof com.oracle.truffle.js.nodes.access.JSTargetableWrapperNode
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 625
      StackMap locals:
      StackMap stack:
            aload 2 /* expression */
            checkcast com.oracle.truffle.js.nodes.access.JSTargetableWrapperNode
            invokevirtual com.oracle.truffle.js.nodes.access.JSTargetableWrapperNode.getDelegate:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            astore 4 /* function */
        start local 4 // com.oracle.truffle.js.nodes.JavaScriptNode function
         2: .line 626
            aload 2 /* expression */
            checkcast com.oracle.truffle.js.nodes.access.JSTargetableWrapperNode
            invokevirtual com.oracle.truffle.js.nodes.access.JSTargetableWrapperNode.getTarget:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            astore 5 /* target */
        start local 5 // com.oracle.truffle.js.nodes.JavaScriptNode target
         3: .line 627
            aload 4 /* function */
            aload 5 /* target */
            aload 3 /* arguments */
            iconst_0
            iconst_1
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createCall:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZ)Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
            areturn
        end local 5 // com.oracle.truffle.js.nodes.JavaScriptNode target
        end local 4 // com.oracle.truffle.js.nodes.JavaScriptNode function
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode[] arguments
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    4     1     context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    4     2  expression  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    4     3   arguments  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            2    4     4    function  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            3    4     5      target  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      context     
      expression  
      arguments   

  public com.oracle.truffle.js.nodes.JavaScriptNode createNew(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode[]);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode function
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode[] arguments
         0: .line 631
            getstatic com.oracle.truffle.js.nodes.NodeFactory.$assertionsDisabled:Z
            ifne 1
            aload 2 /* function */
            instanceof com.oracle.truffle.js.nodes.access.PropertyNode
            ifeq 1
            aload 2 /* function */
            checkcast com.oracle.truffle.js.nodes.access.PropertyNode
            invokevirtual com.oracle.truffle.js.nodes.access.PropertyNode.isMethod:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 632
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 2 /* function */
            aload 3 /* arguments */
            invokestatic com.oracle.truffle.js.nodes.function.JSNewNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/function/JSNewNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode[] arguments
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode function
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    2     1    context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    2     2   function  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    2     3  arguments  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
           Name  Flags
      context    
      function   
      arguments  

  public com.oracle.truffle.js.nodes.JavaScriptNode createAccessThis();
    descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
         0: .line 638
            invokestatic com.oracle.truffle.js.nodes.arguments.AccessThisNode.create:()Lcom/oracle/truffle/js/nodes/arguments/AccessThisNode;
            areturn
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/NodeFactory;

  public com.oracle.truffle.js.nodes.JavaScriptNode createAccessCallee(int);
    descriptor: (I)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // int level
         0: .line 642
            iload 1 /* level */
            ifne 2
         1: .line 643
            invokestatic com.oracle.truffle.js.nodes.arguments.AccessFunctionNode.create:()Lcom/oracle/truffle/js/nodes/arguments/AccessFunctionNode;
            areturn
         2: .line 645
      StackMap locals:
      StackMap stack:
            iload 1 /* level */
            invokestatic com.oracle.truffle.js.nodes.arguments.AccessLevelFunctionNode.create:(I)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 1 // int level
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    3     1  level  I
    MethodParameters:
       Name  Flags
      level  

  public com.oracle.truffle.js.nodes.JavaScriptNode createAccessLexicalThis();
    descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
         0: .line 650
            aload 0 /* this */
            iconst_0
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAccessCallee:(I)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            invokestatic com.oracle.truffle.js.nodes.arguments.AccessLexicalThisNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/arguments/AccessLexicalThisNode;
            areturn
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/NodeFactory;

  public com.oracle.truffle.js.nodes.JavaScriptNode createAccessArgument(int);
    descriptor: (I)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // int index
         0: .line 654
            iload 1 /* index */
            invokestatic com.oracle.truffle.js.nodes.arguments.AccessIndexedArgumentNode.create:(I)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 1 // int index
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public com.oracle.truffle.js.nodes.JavaScriptNode createAccessVarArgs(int);
    descriptor: (I)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // int startIndex
         0: .line 658
            iload 1 /* startIndex */
            invokestatic com.oracle.truffle.js.nodes.arguments.AccessVarArgsNode.create:(I)Lcom/oracle/truffle/js/nodes/arguments/AccessVarArgsNode;
            areturn
        end local 1 // int startIndex
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  startIndex  I
    MethodParameters:
            Name  Flags
      startIndex  

  public com.oracle.truffle.js.nodes.JavaScriptNode createAccessRestArgument(com.oracle.truffle.js.runtime.JSContext, int, int);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;II)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // int index
        start local 3 // int trailingArgCount
         0: .line 662
            aload 1 /* context */
            iload 2 /* index */
            iload 3 /* trailingArgCount */
            invokestatic com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;II)Lcom/oracle/truffle/js/nodes/arguments/AccessRestArgumentsNode;
            areturn
        end local 3 // int trailingArgCount
        end local 2 // int index
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1           context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2             index  I
            0    1     3  trailingArgCount  I
    MethodParameters:
                  Name  Flags
      context           
      index             
      trailingArgCount  

  public com.oracle.truffle.js.nodes.JavaScriptNode createAccessNewTarget();
    descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
         0: .line 666
            iconst_0
            invokestatic com.oracle.truffle.js.nodes.arguments.AccessIndexedArgumentNode.create:(I)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/NodeFactory;

  public com.oracle.truffle.js.nodes.JavaScriptNode createAccessFrameArgument(int, int);
    descriptor: (II)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // int frameLevel
        start local 2 // int argIndex
         0: .line 670
            iload 1 /* frameLevel */
            iload 2 /* argIndex */
            invokestatic com.oracle.truffle.js.nodes.arguments.AccessFrameArgumentNode.create:(II)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 2 // int argIndex
        end local 1 // int frameLevel
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  frameLevel  I
            0    1     2    argIndex  I
    MethodParameters:
            Name  Flags
      frameLevel  
      argIndex    

  public com.oracle.truffle.js.nodes.JavaScriptNode createAccessHomeObject(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 674
            aload 1 /* context */
            aload 0 /* this */
            iconst_0
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory.createAccessCallee:(I)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            getstatic com.oracle.truffle.js.runtime.builtins.JSFunction.HOME_OBJECT_ID:Lcom/oracle/truffle/api/object/HiddenKey;
            invokestatic com.oracle.truffle.js.nodes.access.PropertyNode.createGetHidden:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/object/HiddenKey;)Lcom/oracle/truffle/js/nodes/access/PropertyNode;
            areturn
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
    MethodParameters:
         Name  Flags
      context  

  public com.oracle.truffle.js.nodes.access.ReadElementNode createReadElementNode(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode target
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode element
         0: .line 680
            aload 2 /* target */
            aload 3 /* element */
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.nodes.access.ReadElementNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode element
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode target
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2   target  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  element  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
         Name  Flags
      context  
      target   
      element  

  public com.oracle.truffle.js.nodes.access.WriteElementNode createWriteElementNode(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.runtime.JSContext, boolean);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WriteElementNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode targetNode
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode indexNode
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode valueNode
        start local 4 // com.oracle.truffle.js.runtime.JSContext context
        start local 5 // boolean isStrict
         0: .line 684
            aload 1 /* targetNode */
            aload 2 /* indexNode */
            aload 3 /* valueNode */
            aload 4 /* context */
            iload 5 /* isStrict */
            invokestatic com.oracle.truffle.js.nodes.access.WriteElementNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WriteElementNode;
            areturn
        end local 5 // boolean isStrict
        end local 4 // com.oracle.truffle.js.runtime.JSContext context
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode valueNode
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode indexNode
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode targetNode
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  targetNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2   indexNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3   valueNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     4     context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     5    isStrict  Z
    MethodParameters:
            Name  Flags
      targetNode  
      indexNode   
      valueNode   
      context     
      isStrict    

  public com.oracle.truffle.js.nodes.access.WriteElementNode createCompoundWriteElementNode(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode, com.oracle.truffle.js.runtime.JSContext, boolean);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WriteElementNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=7
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode targetNode
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode indexNode
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode valueNode
        start local 4 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeIndex
        start local 5 // com.oracle.truffle.js.runtime.JSContext context
        start local 6 // boolean isStrict
         0: .line 689
            aload 1 /* targetNode */
            aload 2 /* indexNode */
            aload 3 /* valueNode */
            aload 4 /* writeIndex */
            aload 5 /* context */
            iload 6 /* isStrict */
            invokestatic com.oracle.truffle.js.nodes.access.CompoundWriteElementNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/CompoundWriteElementNode;
            areturn
        end local 6 // boolean isStrict
        end local 5 // com.oracle.truffle.js.runtime.JSContext context
        end local 4 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeIndex
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode valueNode
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode indexNode
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode targetNode
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  targetNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2   indexNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3   valueNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     4  writeIndex  Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
            0    1     5     context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     6    isStrict  Z
    MethodParameters:
            Name  Flags
      targetNode  
      indexNode   
      valueNode   
      writeIndex  
      context     
      isStrict    

  public com.oracle.truffle.js.nodes.access.JSTargetableNode createReadProperty(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode base
        start local 3 // java.lang.String propertyName
         0: .line 695
            aload 1 /* context */
            aload 2 /* base */
            aload 3 /* propertyName */
            invokestatic com.oracle.truffle.js.nodes.access.PropertyNode.createProperty:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/PropertyNode;
            areturn
        end local 3 // java.lang.String propertyName
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode base
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1       context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2          base  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  propertyName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      context       
      base          
      propertyName  

  public com.oracle.truffle.js.nodes.access.JSTargetableNode createReadProperty(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, java.lang.String, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/String;Z)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode base
        start local 3 // java.lang.String propertyName
        start local 4 // boolean method
         0: .line 699
            aload 1 /* context */
            aload 2 /* base */
            aload 3 /* propertyName */
            iload 4 /* method */
            invokestatic com.oracle.truffle.js.nodes.access.PropertyNode.createProperty:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;Z)Lcom/oracle/truffle/js/nodes/access/PropertyNode;
            areturn
        end local 4 // boolean method
        end local 3 // java.lang.String propertyName
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode base
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1       context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2          base  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  propertyName  Ljava/lang/String;
            0    1     4        method  Z
    MethodParameters:
              Name  Flags
      context       
      base          
      propertyName  
      method        

  public com.oracle.truffle.js.nodes.access.WritePropertyNode createWriteProperty(com.oracle.truffle.js.nodes.JavaScriptNode, java.lang.Object, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.runtime.JSContext, boolean);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode target
        start local 2 // java.lang.Object propertyKey
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
        start local 4 // com.oracle.truffle.js.runtime.JSContext context
        start local 5 // boolean strictMode
         0: .line 703
            aload 1 /* target */
            aload 2 /* propertyKey */
            aload 3 /* rhs */
            aload 4 /* context */
            iload 5 /* strictMode */
            invokestatic com.oracle.truffle.js.nodes.access.WritePropertyNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
            areturn
        end local 5 // boolean strictMode
        end local 4 // com.oracle.truffle.js.runtime.JSContext context
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
        end local 2 // java.lang.Object propertyKey
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode target
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1       target  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2  propertyKey  Ljava/lang/Object;
            0    1     3          rhs  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     4      context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     5   strictMode  Z
    MethodParameters:
             Name  Flags
      target       
      propertyKey  
      rhs          
      context      
      strictMode   

  public com.oracle.truffle.js.nodes.access.WritePropertyNode createWriteProperty(com.oracle.truffle.js.nodes.JavaScriptNode, java.lang.String, com.oracle.truffle.js.nodes.JavaScriptNode, boolean, com.oracle.truffle.js.runtime.JSContext, boolean);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/String;Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=7
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode target
        start local 2 // java.lang.String name
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
        start local 4 // boolean isGlobal
        start local 5 // com.oracle.truffle.js.runtime.JSContext context
        start local 6 // boolean isStrict
         0: .line 707
            aload 1 /* target */
            aload 2 /* name */
            aload 3 /* rhs */
            iload 4 /* isGlobal */
            aload 5 /* context */
            iload 6 /* isStrict */
            invokestatic com.oracle.truffle.js.nodes.access.WritePropertyNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/js/nodes/access/WritePropertyNode;
            areturn
        end local 6 // boolean isStrict
        end local 5 // com.oracle.truffle.js.runtime.JSContext context
        end local 4 // boolean isGlobal
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
        end local 2 // java.lang.String name
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode target
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1    target  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2      name  Ljava/lang/String;
            0    1     3       rhs  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     4  isGlobal  Z
            0    1     5   context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     6  isStrict  Z
    MethodParameters:
          Name  Flags
      target    
      name      
      rhs       
      isGlobal  
      context   
      isStrict  

  public com.oracle.truffle.js.nodes.access.ConstantVariableWriteNode createWriteConstantVariable(com.oracle.truffle.js.nodes.JavaScriptNode, boolean);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/access/ConstantVariableWriteNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
        start local 2 // boolean doThrow
         0: .line 711
            aload 1 /* rhs */
            iload 2 /* doThrow */
            invokestatic com.oracle.truffle.js.nodes.access.ConstantVariableWriteNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/access/ConstantVariableWriteNode;
            areturn
        end local 2 // boolean doThrow
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1      rhs  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2  doThrow  Z
    MethodParameters:
         Name  Flags
      rhs      
      doThrow  

  public com.oracle.truffle.js.nodes.access.JSTargetableNode createReadGlobalProperty(com.oracle.truffle.js.runtime.JSContext, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // java.lang.String name
         0: .line 715
            aload 1 /* context */
            aload 2 /* name */
            invokestatic com.oracle.truffle.js.nodes.access.GlobalPropertyNode.createPropertyNode:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
            areturn
        end local 2 // java.lang.String name
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2     name  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      name     

  public com.oracle.truffle.js.nodes.access.JSTargetableNode createDeleteProperty(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, boolean, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode target
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode property
        start local 3 // boolean strictMode
        start local 4 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 719
            aload 1 /* target */
            aload 2 /* property */
            iload 3 /* strictMode */
            aload 4 /* context */
            invokestatic com.oracle.truffle.js.nodes.control.DeletePropertyNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/control/DeletePropertyNode;
            areturn
        end local 4 // com.oracle.truffle.js.runtime.JSContext context
        end local 3 // boolean strictMode
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode property
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode target
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1      target  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2    property  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  strictMode  Z
            0    1     4     context  Lcom/oracle/truffle/js/runtime/JSContext;
    MethodParameters:
            Name  Flags
      target      
      property    
      strictMode  
      context     

  public com.oracle.truffle.js.nodes.function.FunctionRootNode createFunctionRootNode(com.oracle.truffle.js.nodes.function.AbstractBodyNode, com.oracle.truffle.api.frame.FrameDescriptor, com.oracle.truffle.js.runtime.builtins.JSFunctionData, com.oracle.truffle.api.source.SourceSection, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/nodes/function/AbstractBodyNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.function.AbstractBodyNode body
        start local 2 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
        start local 3 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
        start local 4 // com.oracle.truffle.api.source.SourceSection sourceSection
        start local 5 // java.lang.String internalFunctionName
         0: .line 725
            aload 1 /* body */
            aload 2 /* frameDescriptor */
            aload 3 /* functionData */
            aload 4 /* sourceSection */
            aload 5 /* internalFunctionName */
            invokestatic com.oracle.truffle.js.nodes.function.FunctionRootNode.create:(Lcom/oracle/truffle/js/nodes/function/AbstractBodyNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
            astore 6 /* functionRoot */
        start local 6 // com.oracle.truffle.js.nodes.function.FunctionRootNode functionRoot
         1: .line 728
            aload 3 /* functionData */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.hasLazyInit:()Z
            ifne 4
         2: .line 729
            aload 3 /* functionData */
            aload 6 /* functionRoot */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.setLazyInit:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData$Initializer;)V
         3: .line 730
            goto 5
         4: .line 731
      StackMap locals: com.oracle.truffle.js.nodes.function.FunctionRootNode
      StackMap stack:
            aload 6 /* functionRoot */
            aload 3 /* functionData */
            invokevirtual com.oracle.truffle.js.nodes.function.FunctionRootNode.initializeRoot:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)V
         5: .line 737
      StackMap locals:
      StackMap stack:
            aload 6 /* functionRoot */
            areturn
        end local 6 // com.oracle.truffle.js.nodes.function.FunctionRootNode functionRoot
        end local 5 // java.lang.String internalFunctionName
        end local 4 // com.oracle.truffle.api.source.SourceSection sourceSection
        end local 3 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
        end local 2 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
        end local 1 // com.oracle.truffle.js.nodes.function.AbstractBodyNode body
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    6     0                  this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    6     1                  body  Lcom/oracle/truffle/js/nodes/function/AbstractBodyNode;
            0    6     2       frameDescriptor  Lcom/oracle/truffle/api/frame/FrameDescriptor;
            0    6     3          functionData  Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            0    6     4         sourceSection  Lcom/oracle/truffle/api/source/SourceSection;
            0    6     5  internalFunctionName  Ljava/lang/String;
            1    6     6          functionRoot  Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
    MethodParameters:
                      Name  Flags
      body                  
      frameDescriptor       
      functionData          
      sourceSection         
      internalFunctionName  

  public com.oracle.truffle.js.nodes.function.ConstructorRootNode createConstructorRootNode(com.oracle.truffle.js.runtime.builtins.JSFunctionData, com.oracle.truffle.api.CallTarget, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/CallTarget;Z)Lcom/oracle/truffle/js/nodes/function/ConstructorRootNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
        start local 2 // com.oracle.truffle.api.CallTarget callTarget
        start local 3 // boolean newTarget
         0: .line 741
            aload 1 /* functionData */
            aload 2 /* callTarget */
            iload 3 /* newTarget */
            invokestatic com.oracle.truffle.js.nodes.function.ConstructorRootNode.create:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/CallTarget;Z)Lcom/oracle/truffle/js/nodes/function/ConstructorRootNode;
            areturn
        end local 3 // boolean newTarget
        end local 2 // com.oracle.truffle.api.CallTarget callTarget
        end local 1 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  functionData  Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            0    1     2    callTarget  Lcom/oracle/truffle/api/CallTarget;
            0    1     3     newTarget  Z
    MethodParameters:
              Name  Flags
      functionData  
      callTarget    
      newTarget     

  public com.oracle.truffle.js.nodes.function.FunctionBodyNode createFunctionBody(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/function/FunctionBodyNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode body
         0: .line 745
            aload 1 /* body */
            invokestatic com.oracle.truffle.js.nodes.function.FunctionBodyNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/function/FunctionBodyNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode body
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  body  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
      Name  Flags
      body  

  public com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode createFunctionExpression(com.oracle.truffle.js.runtime.builtins.JSFunctionData, com.oracle.truffle.js.nodes.function.FunctionRootNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.builtins.JSFunctionData function
        start local 2 // com.oracle.truffle.js.nodes.function.FunctionRootNode functionNode
         0: .line 749
            aload 1 /* function */
            aload 2 /* functionNode */
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode.create:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.function.FunctionRootNode functionNode
        end local 1 // com.oracle.truffle.js.runtime.builtins.JSFunctionData function
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1      function  Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            0    1     2  functionNode  Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
    MethodParameters:
              Name  Flags
      function      
      functionNode  

  public com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode createFunctionExpressionLexicalThis(com.oracle.truffle.js.runtime.builtins.JSFunctionData, com.oracle.truffle.js.nodes.function.FunctionRootNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.builtins.JSFunctionData function
        start local 2 // com.oracle.truffle.js.nodes.function.FunctionRootNode functionNode
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode thisNode
         0: .line 753
            aload 1 /* function */
            aload 2 /* functionNode */
            aload 3 /* thisNode */
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode.createLexicalThis:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode thisNode
        end local 2 // com.oracle.truffle.js.nodes.function.FunctionRootNode functionNode
        end local 1 // com.oracle.truffle.js.runtime.builtins.JSFunctionData function
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1      function  Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            0    1     2  functionNode  Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;
            0    1     3      thisNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
              Name  Flags
      function      
      functionNode  
      thisNode      

  public com.oracle.truffle.js.nodes.JavaScriptNode createPrepareThisBinding(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode child
         0: .line 757
            aload 1 /* context */
            aload 2 /* child */
            invokestatic com.oracle.truffle.js.nodes.cast.JSPrepareThisNode.createPrepareThisBinding:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/cast/JSPrepareThisNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode child
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2    child  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
         Name  Flags
      context  
      child    

  public com.oracle.truffle.js.nodes.JavaScriptNode createGlobalObject(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 761
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.nodes.access.GlobalObjectNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/GlobalObjectNode;
            areturn
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
    MethodParameters:
         Name  Flags
      context  

  public com.oracle.truffle.js.nodes.JavaScriptNode createArgumentsObjectNode(com.oracle.truffle.js.runtime.JSContext, boolean, int, int);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;ZII)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // boolean unmapped
        start local 3 // int leadingArgumentCount
        start local 4 // int trailingArgumentCount
         0: .line 765
            aload 1 /* context */
            iload 2 /* unmapped */
            iload 3 /* leadingArgumentCount */
            iload 4 /* trailingArgumentCount */
            invokestatic com.oracle.truffle.js.nodes.arguments.ArgumentsObjectNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;ZII)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 4 // int trailingArgumentCount
        end local 3 // int leadingArgumentCount
        end local 2 // boolean unmapped
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    1     0                   this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1                context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2               unmapped  Z
            0    1     3   leadingArgumentCount  I
            0    1     4  trailingArgumentCount  I
    MethodParameters:
                       Name  Flags
      context                
      unmapped               
      leadingArgumentCount   
      trailingArgumentCount  

  public com.oracle.truffle.js.nodes.JavaScriptNode createThrowError(com.oracle.truffle.js.runtime.JSErrorType, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSErrorType;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSErrorType errorType
        start local 2 // java.lang.String message
         0: .line 769
            aload 1 /* errorType */
            aload 2 /* message */
            invokestatic com.oracle.truffle.js.nodes.control.RuntimeErrorNode.create:(Lcom/oracle/truffle/js/runtime/JSErrorType;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/control/RuntimeErrorNode;
            areturn
        end local 2 // java.lang.String message
        end local 1 // com.oracle.truffle.js.runtime.JSErrorType errorType
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  errorType  Lcom/oracle/truffle/js/runtime/JSErrorType;
            0    1     2    message  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      errorType  
      message    

  public com.oracle.truffle.js.nodes.JavaScriptNode createObjectLiteral(com.oracle.truffle.js.runtime.JSContext, java.util.ArrayList<com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode>);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/util/ArrayList;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // java.util.ArrayList members
         0: .line 773
            aload 1 /* context */
            aload 2 /* members */
            getstatic com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode.EMPTY:[Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[]
            invokestatic com.oracle.truffle.js.nodes.access.ObjectLiteralNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;[Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode;
            areturn
        end local 2 // java.util.ArrayList members
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  members  Ljava/util/ArrayList<Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;>;
    Signature: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/util/ArrayList<Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
         Name  Flags
      context  
      members  

  public com.oracle.truffle.js.nodes.JavaScriptNode createArrayLiteral(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode[]);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode[] elements
         0: .line 777
            aload 1 /* context */
            aload 2 /* elements */
            invokestatic com.oracle.truffle.js.nodes.access.ArrayLiteralNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ArrayLiteralNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode[] elements
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1   context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  elements  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
          Name  Flags
      context   
      elements  

  public com.oracle.truffle.js.nodes.JavaScriptNode createArrayLiteralWithSpread(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode[]);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode[] elements
         0: .line 781
            aload 1 /* context */
            aload 2 /* elements */
            invokestatic com.oracle.truffle.js.nodes.access.ArrayLiteralNode.createWithSpread:(Lcom/oracle/truffle/js/runtime/JSContext;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ArrayLiteralNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode[] elements
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1   context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  elements  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
          Name  Flags
      context   
      elements  

  public com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode createAccessorMember(java.lang.String, boolean, boolean, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Ljava/lang/String;ZZLcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // java.lang.String keyName
        start local 2 // boolean isStatic
        start local 3 // boolean enumerable
        start local 4 // com.oracle.truffle.js.nodes.JavaScriptNode getter
        start local 5 // com.oracle.truffle.js.nodes.JavaScriptNode setter
         0: .line 785
            aload 1 /* keyName */
            iload 2 /* isStatic */
            iload 3 /* enumerable */
            aload 4 /* getter */
            aload 5 /* setter */
            invokestatic com.oracle.truffle.js.nodes.access.ObjectLiteralNode.newAccessorMember:(Ljava/lang/String;ZZLcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
            areturn
        end local 5 // com.oracle.truffle.js.nodes.JavaScriptNode setter
        end local 4 // com.oracle.truffle.js.nodes.JavaScriptNode getter
        end local 3 // boolean enumerable
        end local 2 // boolean isStatic
        end local 1 // java.lang.String keyName
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1     keyName  Ljava/lang/String;
            0    1     2    isStatic  Z
            0    1     3  enumerable  Z
            0    1     4      getter  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     5      setter  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      keyName     
      isStatic    
      enumerable  
      getter      
      setter      

  public com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode createDataMember(java.lang.String, boolean, boolean, com.oracle.truffle.js.nodes.JavaScriptNode, boolean);
    descriptor: (Ljava/lang/String;ZZLcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // java.lang.String keyName
        start local 2 // boolean isStatic
        start local 3 // boolean enumerable
        start local 4 // com.oracle.truffle.js.nodes.JavaScriptNode value
        start local 5 // boolean isField
         0: .line 789
            aload 1 /* keyName */
            iload 2 /* isStatic */
            iload 3 /* enumerable */
            aload 4 /* value */
            iload 5 /* isField */
            invokestatic com.oracle.truffle.js.nodes.access.ObjectLiteralNode.newDataMember:(Ljava/lang/String;ZZLcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
            areturn
        end local 5 // boolean isField
        end local 4 // com.oracle.truffle.js.nodes.JavaScriptNode value
        end local 3 // boolean enumerable
        end local 2 // boolean isStatic
        end local 1 // java.lang.String keyName
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1     keyName  Ljava/lang/String;
            0    1     2    isStatic  Z
            0    1     3  enumerable  Z
            0    1     4       value  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     5     isField  Z
    MethodParameters:
            Name  Flags
      keyName     
      isStatic    
      enumerable  
      value       
      isField     

  public com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode createProtoMember(java.lang.String, boolean, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Ljava/lang/String;ZLcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // java.lang.String keyName
        start local 2 // boolean isStatic
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode value
         0: .line 793
            aload 1 /* keyName */
            iload 2 /* isStatic */
            aload 3 /* value */
            invokestatic com.oracle.truffle.js.nodes.access.ObjectLiteralNode.newProtoMember:(Ljava/lang/String;ZLcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode value
        end local 2 // boolean isStatic
        end local 1 // java.lang.String keyName
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1   keyName  Ljava/lang/String;
            0    1     2  isStatic  Z
            0    1     3     value  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
          Name  Flags
      keyName   
      isStatic  
      value     

  public com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode createComputedDataMember(com.oracle.truffle.js.nodes.JavaScriptNode, boolean, boolean, com.oracle.truffle.js.nodes.JavaScriptNode, boolean, boolean);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZLcom/oracle/truffle/js/nodes/JavaScriptNode;ZZ)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=7
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode key
        start local 2 // boolean isStatic
        start local 3 // boolean enumerable
        start local 4 // com.oracle.truffle.js.nodes.JavaScriptNode value
        start local 5 // boolean isField
        start local 6 // boolean isAnonymousFunctionDefinition
         0: .line 797
            aload 1 /* key */
            iload 2 /* isStatic */
            iload 3 /* enumerable */
            aload 4 /* value */
            iload 5 /* isField */
            iload 6 /* isAnonymousFunctionDefinition */
            invokestatic com.oracle.truffle.js.nodes.access.ObjectLiteralNode.newComputedDataMember:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZLcom/oracle/truffle/js/nodes/JavaScriptNode;ZZ)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
            areturn
        end local 6 // boolean isAnonymousFunctionDefinition
        end local 5 // boolean isField
        end local 4 // com.oracle.truffle.js.nodes.JavaScriptNode value
        end local 3 // boolean enumerable
        end local 2 // boolean isStatic
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode key
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0    1     0                           this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1                            key  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2                       isStatic  Z
            0    1     3                     enumerable  Z
            0    1     4                          value  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     5                        isField  Z
            0    1     6  isAnonymousFunctionDefinition  Z
    MethodParameters:
                               Name  Flags
      key                            
      isStatic                       
      enumerable                     
      value                          
      isField                        
      isAnonymousFunctionDefinition  

  public com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode createComputedAccessorMember(com.oracle.truffle.js.nodes.JavaScriptNode, boolean, boolean, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZLcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode key
        start local 2 // boolean isStatic
        start local 3 // boolean enumerable
        start local 4 // com.oracle.truffle.js.nodes.JavaScriptNode getter
        start local 5 // com.oracle.truffle.js.nodes.JavaScriptNode setter
         0: .line 801
            aload 1 /* key */
            iload 2 /* isStatic */
            iload 3 /* enumerable */
            aload 4 /* getter */
            aload 5 /* setter */
            invokestatic com.oracle.truffle.js.nodes.access.ObjectLiteralNode.newComputedAccessorMember:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZZLcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
            areturn
        end local 5 // com.oracle.truffle.js.nodes.JavaScriptNode setter
        end local 4 // com.oracle.truffle.js.nodes.JavaScriptNode getter
        end local 3 // boolean enumerable
        end local 2 // boolean isStatic
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode key
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1         key  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2    isStatic  Z
            0    1     3  enumerable  Z
            0    1     4      getter  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     5      setter  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      key         
      isStatic    
      enumerable  
      getter      
      setter      

  public com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode createSpreadObjectMember(boolean, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (ZLcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // boolean isStatic
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode value
         0: .line 805
            iload 1 /* isStatic */
            aload 2 /* value */
            invokestatic com.oracle.truffle.js.nodes.access.ObjectLiteralNode.newSpreadObjectMember:(ZLcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode value
        end local 1 // boolean isStatic
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  isStatic  Z
            0    1     2     value  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
          Name  Flags
      isStatic  
      value     

  public com.oracle.truffle.js.nodes.JavaScriptNode createClassDefinition(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[], com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode, java.lang.String, int, int, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Ljava/lang/String;IIZ)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=10, args_size=10
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode constructorFunction
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode classHeritage
        start local 4 // com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[] members
        start local 5 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeClassBinding
        start local 6 // java.lang.String className
        start local 7 // int instanceFieldCount
        start local 8 // int staticFieldCount
        start local 9 // boolean hasPrivateInstanceMethods
         0: .line 810
            aload 1 /* context */
            aload 2 /* constructorFunction */
            aload 3 /* classHeritage */
            aload 4 /* members */
            aload 5 /* writeClassBinding */
            aload 6 /* className */
            ifnull 1
            iconst_1
            goto 2
      StackMap locals: com.oracle.truffle.js.nodes.NodeFactory com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[] com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode java.lang.String int int int
      StackMap stack: com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[] com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode
         1: iconst_0
      StackMap locals: com.oracle.truffle.js.nodes.NodeFactory com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[] com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode java.lang.String int int int
      StackMap stack: com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode com.oracle.truffle.js.nodes.JavaScriptNode com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[] com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode int
         2: iload 7 /* instanceFieldCount */
            iload 8 /* staticFieldCount */
            iload 9 /* hasPrivateInstanceMethods */
            invokestatic com.oracle.truffle.js.nodes.function.ClassDefinitionNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;ZIIZ)Lcom/oracle/truffle/js/nodes/function/ClassDefinitionNode;
            areturn
        end local 9 // boolean hasPrivateInstanceMethods
        end local 8 // int staticFieldCount
        end local 7 // int instanceFieldCount
        end local 6 // java.lang.String className
        end local 5 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeClassBinding
        end local 4 // com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode[] members
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode classHeritage
        end local 2 // com.oracle.truffle.js.nodes.function.JSFunctionExpressionNode constructorFunction
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    3     0                       this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    3     1                    context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    3     2        constructorFunction  Lcom/oracle/truffle/js/nodes/function/JSFunctionExpressionNode;
            0    3     3              classHeritage  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    3     4                    members  [Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
            0    3     5          writeClassBinding  Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
            0    3     6                  className  Ljava/lang/String;
            0    3     7         instanceFieldCount  I
            0    3     8           staticFieldCount  I
            0    3     9  hasPrivateInstanceMethods  Z
    MethodParameters:
                           Name  Flags
      context                    
      constructorFunction        
      classHeritage              
      members                    
      writeClassBinding          
      className                  
      instanceFieldCount         
      staticFieldCount           
      hasPrivateInstanceMethods  

  public com.oracle.truffle.js.nodes.JavaScriptNode createMakeMethod(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode function
         0: .line 814
            aload 1 /* context */
            aload 2 /* function */
            invokestatic com.oracle.truffle.js.nodes.access.ObjectLiteralNode$MakeMethodNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode function
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1   context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  function  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
          Name  Flags
      context   
      function  

  public com.oracle.truffle.js.nodes.JavaScriptNode createSpreadArgument(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode argument
         0: .line 818
            aload 1 /* context */
            aload 2 /* argument */
            invokestatic com.oracle.truffle.js.nodes.function.SpreadArgumentNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/function/SpreadArgumentNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode argument
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1   context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  argument  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
          Name  Flags
      context   
      argument  

  public com.oracle.truffle.js.nodes.JavaScriptNode createSpreadArray(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode argument
         0: .line 822
            aload 1 /* context */
            aload 2 /* argument */
            invokestatic com.oracle.truffle.js.nodes.access.ArrayLiteralNode$SpreadArrayNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/ArrayLiteralNode$SpreadArrayNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode argument
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1   context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  argument  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
          Name  Flags
      context   
      argument  

  public com.oracle.truffle.js.nodes.control.ReturnNode createReturn(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ReturnNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode expression
         0: .line 826
            aload 1 /* expression */
            invokestatic com.oracle.truffle.js.nodes.control.ReturnNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ReturnNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  expression  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      expression  

  public com.oracle.truffle.js.nodes.control.ReturnNode createFrameReturn(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ReturnNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode expression
         0: .line 830
            aload 1 /* expression */
            invokestatic com.oracle.truffle.js.nodes.control.ReturnNode.createFrameReturn:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ReturnNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  expression  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      expression  

  public com.oracle.truffle.js.nodes.control.ReturnNode createTerminalPositionReturn(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ReturnNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode expression
         0: .line 834
            aload 1 /* expression */
            invokestatic com.oracle.truffle.js.nodes.control.ReturnNode.createTerminalPositionReturn:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/ReturnNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  expression  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      expression  

  public com.oracle.truffle.js.runtime.builtins.JSFunctionData createFunctionData(com.oracle.truffle.js.runtime.JSContext, int, java.lang.String, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;ILjava/lang/String;ZZZZZZZZZZ)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=17, locals=14, args_size=14
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // int length
        start local 3 // java.lang.String name
        start local 4 // boolean isConstructor
        start local 5 // boolean isDerived
        start local 6 // boolean isStrict
        start local 7 // boolean isBuiltin
        start local 8 // boolean needsParentFrame
        start local 9 // boolean isGenerator
        start local 10 // boolean isAsync
        start local 11 // boolean isClassConstructor
        start local 12 // boolean strictProperties
        start local 13 // boolean needsNewTarget
         0: .line 839
            aload 1 /* context */
            aconst_null
            aconst_null
            aconst_null
            iload 2 /* length */
            aload 3 /* name */
            iload 4 /* isConstructor */
            iload 5 /* isDerived */
            iload 6 /* isStrict */
            iload 7 /* isBuiltin */
            iload 8 /* needsParentFrame */
            iload 9 /* isGenerator */
            iload 10 /* isAsync */
            iload 11 /* isClassConstructor */
         1: .line 840
            iload 12 /* strictProperties */
            iload 13 /* needsNewTarget */
            iconst_0
         2: .line 839
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunctionData.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;Lcom/oracle/truffle/api/CallTarget;Lcom/oracle/truffle/api/CallTarget;ILjava/lang/String;ZZZZZZZZZZZ)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            areturn
        end local 13 // boolean needsNewTarget
        end local 12 // boolean strictProperties
        end local 11 // boolean isClassConstructor
        end local 10 // boolean isAsync
        end local 9 // boolean isGenerator
        end local 8 // boolean needsParentFrame
        end local 7 // boolean isBuiltin
        end local 6 // boolean isStrict
        end local 5 // boolean isDerived
        end local 4 // boolean isConstructor
        end local 3 // java.lang.String name
        end local 2 // int length
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    3     1             context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    3     2              length  I
            0    3     3                name  Ljava/lang/String;
            0    3     4       isConstructor  Z
            0    3     5           isDerived  Z
            0    3     6            isStrict  Z
            0    3     7           isBuiltin  Z
            0    3     8    needsParentFrame  Z
            0    3     9         isGenerator  Z
            0    3    10             isAsync  Z
            0    3    11  isClassConstructor  Z
            0    3    12    strictProperties  Z
            0    3    13      needsNewTarget  Z
    MethodParameters:
                    Name  Flags
      context             
      length              
      name                
      isConstructor       
      isDerived           
      isStrict            
      isBuiltin           
      needsParentFrame    
      isGenerator         
      isAsync             
      isClassConstructor  
      strictProperties    
      needsNewTarget      

  public com.oracle.truffle.js.nodes.JavaScriptNode createAwait(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode, com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        start local 3 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncContextNode
        start local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncResultNode
         0: .line 844
            aload 1 /* context */
            aload 2 /* expression */
            aload 3 /* asyncContextNode */
            aload 4 /* asyncResultNode */
            invokestatic com.oracle.truffle.js.nodes.control.AwaitNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;)Lcom/oracle/truffle/js/nodes/control/AwaitNode;
            areturn
        end local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncResultNode
        end local 3 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncContextNode
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1           context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2        expression  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  asyncContextNode  Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
            0    1     4   asyncResultNode  Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
    MethodParameters:
                  Name  Flags
      context           
      expression        
      asyncContextNode  
      asyncResultNode   

  public com.oracle.truffle.js.nodes.JavaScriptNode createYield(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, boolean, com.oracle.truffle.js.nodes.control.ReturnNode, com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/nodes/control/ReturnNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=7
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode yieldValue
        start local 4 // boolean yieldStar
        start local 5 // com.oracle.truffle.js.nodes.control.ReturnNode returnNode
        start local 6 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeYieldResultNode
         0: .line 850
            iload 4 /* yieldStar */
            ifeq 2
         1: .line 851
            aload 1 /* context */
            aload 2 /* expression */
            aload 3 /* yieldValue */
            aload 5 /* returnNode */
            aload 6 /* writeYieldResultNode */
            invokestatic com.oracle.truffle.js.nodes.control.YieldNode.createYieldStar:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/control/ReturnNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/control/YieldNode;
            areturn
         2: .line 853
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 2 /* expression */
            aload 3 /* yieldValue */
            aload 5 /* returnNode */
            aload 6 /* writeYieldResultNode */
            invokestatic com.oracle.truffle.js.nodes.control.YieldNode.createYield:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/control/ReturnNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/control/YieldNode;
            areturn
        end local 6 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeYieldResultNode
        end local 5 // com.oracle.truffle.js.nodes.control.ReturnNode returnNode
        end local 4 // boolean yieldStar
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode yieldValue
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    3     0                  this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    3     1               context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    3     2            expression  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    3     3            yieldValue  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    3     4             yieldStar  Z
            0    3     5            returnNode  Lcom/oracle/truffle/js/nodes/control/ReturnNode;
            0    3     6  writeYieldResultNode  Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
    MethodParameters:
                      Name  Flags
      context               
      expression            
      yieldValue            
      yieldStar             
      returnNode            
      writeYieldResultNode  

  public com.oracle.truffle.js.nodes.JavaScriptNode createAsyncGeneratorYield(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode, com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode, com.oracle.truffle.js.nodes.control.ReturnNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/control/ReturnNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        start local 3 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncContextNode
        start local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncResultNode
        start local 5 // com.oracle.truffle.js.nodes.control.ReturnNode returnNode
         0: .line 858
            aload 1 /* context */
            aload 2 /* expression */
            aload 3 /* asyncContextNode */
            aload 4 /* asyncResultNode */
            aload 5 /* returnNode */
            invokestatic com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldNode.createYield:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/control/ReturnNode;)Lcom/oracle/truffle/js/nodes/control/AsyncGeneratorYieldNode;
            areturn
        end local 5 // com.oracle.truffle.js.nodes.control.ReturnNode returnNode
        end local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncResultNode
        end local 3 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncContextNode
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1           context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2        expression  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  asyncContextNode  Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
            0    1     4   asyncResultNode  Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
            0    1     5        returnNode  Lcom/oracle/truffle/js/nodes/control/ReturnNode;
    MethodParameters:
                  Name  Flags
      context           
      expression        
      asyncContextNode  
      asyncResultNode   
      returnNode        

  public com.oracle.truffle.js.nodes.JavaScriptNode createAsyncGeneratorYieldStar(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode, com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode, com.oracle.truffle.js.nodes.control.ReturnNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.WriteNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/control/ReturnNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/WriteNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=8
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        start local 3 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncContextNode
        start local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncResultNode
        start local 5 // com.oracle.truffle.js.nodes.control.ReturnNode returnNode
        start local 6 // com.oracle.truffle.js.nodes.JavaScriptNode readTemp
        start local 7 // com.oracle.truffle.js.nodes.access.WriteNode writeTemp
         0: .line 863
            aload 1 /* context */
            aload 2 /* expression */
            aload 3 /* asyncContextNode */
            aload 4 /* asyncResultNode */
            aload 5 /* returnNode */
            aload 6 /* readTemp */
            aload 7 /* writeTemp */
            invokestatic com.oracle.truffle.js.nodes.control.AsyncGeneratorYieldNode.createYieldStar:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/control/ReturnNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/WriteNode;)Lcom/oracle/truffle/js/nodes/control/AsyncGeneratorYieldNode;
            areturn
        end local 7 // com.oracle.truffle.js.nodes.access.WriteNode writeTemp
        end local 6 // com.oracle.truffle.js.nodes.JavaScriptNode readTemp
        end local 5 // com.oracle.truffle.js.nodes.control.ReturnNode returnNode
        end local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncResultNode
        end local 3 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncContextNode
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1           context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2        expression  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  asyncContextNode  Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
            0    1     4   asyncResultNode  Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
            0    1     5        returnNode  Lcom/oracle/truffle/js/nodes/control/ReturnNode;
            0    1     6          readTemp  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     7         writeTemp  Lcom/oracle/truffle/js/nodes/access/WriteNode;
    MethodParameters:
                  Name  Flags
      context           
      expression        
      asyncContextNode  
      asyncResultNode   
      returnNode        
      readTemp          
      writeTemp         

  public com.oracle.truffle.js.nodes.JavaScriptNode createAsyncFunctionBody(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode, com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode, com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
        start local 3 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeAsyncContext
        start local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode readAsyncContext
        start local 5 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeAsyncResult
         0: .line 868
            aload 1 /* context */
            aload 2 /* body */
            aload 3 /* writeAsyncContext */
            aload 4 /* readAsyncContext */
            aload 5 /* writeAsyncResult */
            invokestatic com.oracle.truffle.js.nodes.control.AsyncFunctionBodyNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 5 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeAsyncResult
        end local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode readAsyncContext
        end local 3 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeAsyncContext
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1            context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2               body  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  writeAsyncContext  Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
            0    1     4   readAsyncContext  Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
            0    1     5   writeAsyncResult  Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
    MethodParameters:
                   Name  Flags
      context            
      body               
      writeAsyncContext  
      readAsyncContext   
      writeAsyncResult   

  public com.oracle.truffle.js.nodes.JavaScriptNode createGeneratorBody(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode, com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
        start local 3 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeYieldValue
        start local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode readYieldResult
         0: .line 872
            aload 1 /* context */
            aload 2 /* body */
            aload 3 /* writeYieldValue */
            aload 4 /* readYieldResult */
            invokestatic com.oracle.truffle.js.nodes.control.GeneratorBodyNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;)Lcom/oracle/truffle/js/nodes/control/GeneratorBodyNode;
            areturn
        end local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode readYieldResult
        end local 3 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeYieldValue
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1          context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2             body  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  writeYieldValue  Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
            0    1     4  readYieldResult  Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
    MethodParameters:
                 Name  Flags
      context          
      body             
      writeYieldValue  
      readYieldResult  

  public com.oracle.truffle.js.nodes.JavaScriptNode createAsyncGeneratorBody(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode, com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode, com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode, com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=7
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
        start local 3 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeYieldValue
        start local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode readYieldResult
        start local 5 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeAsyncContext
        start local 6 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode readAsyncContext
         0: .line 877
            aload 1 /* context */
            aload 2 /* body */
            aload 3 /* writeYieldValue */
            aload 4 /* readYieldResult */
            aload 5 /* writeAsyncContext */
            aload 6 /* readAsyncContext */
            invokestatic com.oracle.truffle.js.nodes.control.AsyncGeneratorBodyNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 6 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode readAsyncContext
        end local 5 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeAsyncContext
        end local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode readYieldResult
        end local 3 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeYieldValue
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode body
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1            context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2               body  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3    writeYieldValue  Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
            0    1     4    readYieldResult  Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
            0    1     5  writeAsyncContext  Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
            0    1     6   readAsyncContext  Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
    MethodParameters:
                   Name  Flags
      context            
      body               
      writeYieldValue    
      readYieldResult    
      writeAsyncContext  
      readAsyncContext   

  public com.oracle.truffle.js.nodes.JavaScriptNode createGeneratorWrapper(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.WriteNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/WriteNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode child
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode state
        start local 3 // com.oracle.truffle.js.nodes.access.WriteNode writeStateNode
         0: .line 881
            aload 1 /* child */
            aload 2 /* state */
            aload 3 /* writeStateNode */
            invokestatic com.oracle.truffle.js.nodes.control.GeneratorWrapperNode.createWrapper:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/WriteNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.access.WriteNode writeStateNode
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode state
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode child
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1           child  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2           state  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  writeStateNode  Lcom/oracle/truffle/js/nodes/access/WriteNode;
    MethodParameters:
                Name  Flags
      child           
      state           
      writeStateNode  

  public com.oracle.truffle.js.nodes.JavaScriptNode createGeneratorVoidBlock(com.oracle.truffle.js.nodes.JavaScriptNode[], com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.WriteNode);
    descriptor: ([Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/WriteNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode[] statements
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode readState
        start local 3 // com.oracle.truffle.js.nodes.access.WriteNode writeState
         0: .line 885
            aload 1 /* statements */
            aload 2 /* readState */
            aload 3 /* writeState */
            invokestatic com.oracle.truffle.js.nodes.control.GeneratorVoidBlockNode.create:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/WriteNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.access.WriteNode writeState
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode readState
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode[] statements
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  statements  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2   readState  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  writeState  Lcom/oracle/truffle/js/nodes/access/WriteNode;
    MethodParameters:
            Name  Flags
      statements  
      readState   
      writeState  

  public com.oracle.truffle.js.nodes.JavaScriptNode createGeneratorExprBlock(com.oracle.truffle.js.nodes.JavaScriptNode[], com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.WriteNode);
    descriptor: ([Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/WriteNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode[] statements
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode readState
        start local 3 // com.oracle.truffle.js.nodes.access.WriteNode writeState
         0: .line 889
            aload 1 /* statements */
            aload 2 /* readState */
            aload 3 /* writeState */
            invokestatic com.oracle.truffle.js.nodes.control.GeneratorExprBlockNode.create:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/WriteNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.access.WriteNode writeState
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode readState
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode[] statements
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  statements  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2   readState  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  writeState  Lcom/oracle/truffle/js/nodes/access/WriteNode;
    MethodParameters:
            Name  Flags
      statements  
      readState   
      writeState  

  public com.oracle.truffle.js.nodes.access.LazyReadFrameSlotNode createLazyReadFrameSlot(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/LazyReadFrameSlotNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // java.lang.Object identifier
         0: .line 893
            aload 1 /* identifier */
            invokestatic com.oracle.truffle.js.nodes.access.LazyReadFrameSlotNode.create:(Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/LazyReadFrameSlotNode;
            areturn
        end local 1 // java.lang.Object identifier
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  identifier  Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      identifier  

  public com.oracle.truffle.js.nodes.access.LazyWriteFrameSlotNode createLazyWriteFrameSlot(java.lang.Object, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/LazyWriteFrameSlotNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // java.lang.Object identifier
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
         0: .line 897
            aload 1 /* identifier */
            aload 2 /* rhs */
            invokestatic com.oracle.truffle.js.nodes.access.LazyWriteFrameSlotNode.create:(Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/LazyWriteFrameSlotNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
        end local 1 // java.lang.Object identifier
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  identifier  Ljava/lang/Object;
            0    1     2         rhs  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      identifier  
      rhs         

  public com.oracle.truffle.js.nodes.JavaScriptNode createBlockScope(com.oracle.truffle.api.frame.FrameDescriptor, com.oracle.truffle.api.frame.FrameSlot, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.api.frame.FrameDescriptor blockFrameDescriptor
        start local 2 // com.oracle.truffle.api.frame.FrameSlot parentSlot
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode block
         0: .line 901
            aload 1 /* blockFrameDescriptor */
            aload 2 /* parentSlot */
            aload 3 /* block */
            invokestatic com.oracle.truffle.js.nodes.function.BlockScopeNode.create:(Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/function/BlockScopeNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode block
        end local 2 // com.oracle.truffle.api.frame.FrameSlot parentSlot
        end local 1 // com.oracle.truffle.api.frame.FrameDescriptor blockFrameDescriptor
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    1     0                  this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  blockFrameDescriptor  Lcom/oracle/truffle/api/frame/FrameDescriptor;
            0    1     2            parentSlot  Lcom/oracle/truffle/api/frame/FrameSlot;
            0    1     3                 block  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                      Name  Flags
      blockFrameDescriptor  
      parentSlot            
      block                 

  public com.oracle.truffle.js.nodes.JavaScriptNode createTemplateObject(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode rawStrings
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode cookedStrings
         0: .line 905
            aload 1 /* context */
            aload 2 /* rawStrings */
            checkcast com.oracle.truffle.js.nodes.access.ArrayLiteralNode
            aload 3 /* cookedStrings */
            checkcast com.oracle.truffle.js.nodes.access.ArrayLiteralNode
            invokestatic com.oracle.truffle.js.nodes.access.GetTemplateObjectNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/access/ArrayLiteralNode;Lcom/oracle/truffle/js/nodes/access/ArrayLiteralNode;)Lcom/oracle/truffle/js/nodes/access/GetTemplateObjectNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode cookedStrings
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode rawStrings
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1        context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2     rawStrings  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  cookedStrings  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
               Name  Flags
      context        
      rawStrings     
      cookedStrings  

  public com.oracle.truffle.js.nodes.JavaScriptNode createToString(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode operand
         0: .line 909
            aload 1 /* operand */
            invokestatic com.oracle.truffle.js.nodes.cast.JSToStringNode$JSToStringWrapperNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/cast/JSToStringNode$JSToStringWrapperNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode operand
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  operand  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
         Name  Flags
      operand  

  public com.oracle.truffle.js.nodes.JavaScriptNode createRegExpLiteral(com.oracle.truffle.js.runtime.JSContext, java.lang.String, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // java.lang.String pattern
        start local 3 // java.lang.String flags
         0: .line 913
            aload 1 /* context */
            aload 2 /* pattern */
            aload 3 /* flags */
            invokestatic com.oracle.truffle.js.nodes.access.RegExpLiteralNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/access/RegExpLiteralNode;
            areturn
        end local 3 // java.lang.String flags
        end local 2 // java.lang.String pattern
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  pattern  Ljava/lang/String;
            0    1     3    flags  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      pattern  
      flags    

  public com.oracle.truffle.js.nodes.JavaScriptNode createGetIterator(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode iteratedObject
         0: .line 919
            aload 1 /* context */
            aload 2 /* iteratedObject */
            invokestatic com.oracle.truffle.js.nodes.access.GetIteratorNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/GetIteratorNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode iteratedObject
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1         context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  iteratedObject  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                Name  Flags
      context         
      iteratedObject  

  public com.oracle.truffle.js.nodes.JavaScriptNode createGetAsyncIterator(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode iteratedObject
         0: .line 923
            aload 1 /* context */
            aload 2 /* iteratedObject */
            invokestatic com.oracle.truffle.js.nodes.access.GetIteratorNode.createAsync:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/GetIteratorNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode iteratedObject
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1         context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  iteratedObject  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                Name  Flags
      context         
      iteratedObject  

  public com.oracle.truffle.js.nodes.JavaScriptNode createEnumerate(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode iteratedObject
        start local 3 // boolean values
         0: .line 927
            aload 1 /* context */
            aload 2 /* iteratedObject */
            iload 3 /* values */
            invokestatic com.oracle.truffle.js.nodes.access.EnumerateNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/access/EnumerateNode;
            areturn
        end local 3 // boolean values
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode iteratedObject
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1         context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  iteratedObject  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3          values  Z
    MethodParameters:
                Name  Flags
      context         
      iteratedObject  
      values          

  public com.oracle.truffle.js.nodes.JavaScriptNode createIteratorNext(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode iterator
         0: .line 931
            aload 1 /* iterator */
            invokestatic com.oracle.truffle.js.nodes.access.IteratorNextUnaryNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode iterator
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  iterator  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
          Name  Flags
      iterator  

  public com.oracle.truffle.js.nodes.JavaScriptNode createIteratorComplete(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode iterResult
         0: .line 935
            aload 1 /* context */
            aload 2 /* iterResult */
            invokestatic com.oracle.truffle.js.nodes.access.IteratorCompleteUnaryNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode iterResult
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1     context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  iterResult  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      context     
      iterResult  

  public com.oracle.truffle.js.nodes.JavaScriptNode createIteratorGetNextValue(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode iterator
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode doneNode
        start local 4 // boolean setDoneOnError
         0: .line 939
            aload 1 /* context */
            aload 2 /* iterator */
            aload 3 /* doneNode */
            iload 4 /* setDoneOnError */
            invokestatic com.oracle.truffle.js.nodes.access.IteratorGetNextValueNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/access/IteratorGetNextValueNode;
            areturn
        end local 4 // boolean setDoneOnError
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode doneNode
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode iterator
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1         context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2        iterator  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3        doneNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     4  setDoneOnError  Z
    MethodParameters:
                Name  Flags
      context         
      iterator        
      doneNode        
      setDoneOnError  

  public com.oracle.truffle.js.nodes.JavaScriptNode createIteratorSetDone(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode iterator
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode isDone
         0: .line 943
            aload 1 /* iterator */
            aload 2 /* isDone */
            invokestatic com.oracle.truffle.js.nodes.access.IteratorSetDoneNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/IteratorSetDoneNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode isDone
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode iterator
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  iterator  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2    isDone  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
          Name  Flags
      iterator  
      isDone    

  public com.oracle.truffle.js.nodes.JavaScriptNode createAsyncIteratorNext(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode, com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode createReadNode
        start local 3 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncContextNode
        start local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncResultNode
         0: .line 947
            aload 1 /* context */
            aload 2 /* createReadNode */
            aload 3 /* asyncContextNode */
            aload 4 /* asyncResultNode */
            invokestatic com.oracle.truffle.js.nodes.access.AsyncIteratorNextNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;)Lcom/oracle/truffle/js/nodes/control/AwaitNode;
            areturn
        end local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncResultNode
        end local 3 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncContextNode
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode createReadNode
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1           context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2    createReadNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  asyncContextNode  Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
            0    1     4   asyncResultNode  Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
    MethodParameters:
                  Name  Flags
      context           
      createReadNode    
      asyncContextNode  
      asyncResultNode   

  public com.oracle.truffle.js.nodes.JavaScriptNode createIteratorValue(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode iterator
         0: .line 951
            aload 1 /* context */
            aload 2 /* iterator */
            invokestatic com.oracle.truffle.js.nodes.access.IteratorValueNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/IteratorValueNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode iterator
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1   context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  iterator  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
          Name  Flags
      context   
      iterator  

  public com.oracle.truffle.js.nodes.JavaScriptNode createAsyncIteratorCloseWrapper(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode, com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode loopNode
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode iterator
        start local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncContextNode
        start local 5 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncResultNode
         0: .line 956
            aload 1 /* context */
            aload 2 /* loopNode */
            aload 3 /* iterator */
            aload 4 /* asyncContextNode */
            aload 5 /* asyncResultNode */
            invokestatic com.oracle.truffle.js.nodes.control.AsyncIteratorCloseWrapperNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 5 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncResultNode
        end local 4 // com.oracle.truffle.js.nodes.access.JSReadFrameSlotNode asyncContextNode
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode iterator
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode loopNode
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1           context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2          loopNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3          iterator  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     4  asyncContextNode  Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
            0    1     5   asyncResultNode  Lcom/oracle/truffle/js/nodes/access/JSReadFrameSlotNode;
    MethodParameters:
                  Name  Flags
      context           
      loopNode          
      iterator          
      asyncContextNode  
      asyncResultNode   

  public com.oracle.truffle.js.nodes.JavaScriptNode createIteratorCloseIfNotDone(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode block
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode iterator
         0: .line 960
            aload 1 /* context */
            aload 2 /* block */
            aload 3 /* iterator */
            invokestatic com.oracle.truffle.js.nodes.control.IteratorCloseWrapperNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode iterator
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode block
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1   context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2     block  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  iterator  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
          Name  Flags
      context   
      block     
      iterator  

  public com.oracle.truffle.js.nodes.access.IteratorToArrayNode createIteratorToArray(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/IteratorToArrayNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode iterator
         0: .line 964
            aload 1 /* context */
            aload 2 /* iterator */
            invokestatic com.oracle.truffle.js.nodes.access.IteratorToArrayNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/IteratorToArrayNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode iterator
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1   context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  iterator  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
          Name  Flags
      context   
      iterator  

  public com.oracle.truffle.js.nodes.JavaScriptNode createGetPrototype(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode object
         0: .line 968
            aload 1 /* object */
            invokestatic com.oracle.truffle.js.nodes.access.GetPrototypeNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode object
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  object  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
        Name  Flags
      object  

  public com.oracle.truffle.js.nodes.access.JSTargetableNode createSuperPropertyReference(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode delegate
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode target
         0: .line 972
            aload 1 /* delegate */
            aload 2 /* target */
            invokestatic com.oracle.truffle.js.nodes.access.SuperPropertyReferenceNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode target
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode delegate
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  delegate  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2    target  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
          Name  Flags
      delegate  
      target    

  public com.oracle.truffle.js.nodes.access.JSTargetableNode createTargetableWrapper(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode delegate
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode target
         0: .line 976
            aload 1 /* delegate */
            aload 2 /* target */
            invokestatic com.oracle.truffle.js.nodes.access.JSTargetableWrapperNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode target
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode delegate
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  delegate  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2    target  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
          Name  Flags
      delegate  
      target    

  public com.oracle.truffle.js.nodes.JavaScriptNode createWith(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode statement
         0: .line 980
            aload 1 /* expression */
            aload 2 /* statement */
            invokestatic com.oracle.truffle.js.nodes.control.WithNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/WithNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode statement
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode expression
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  expression  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2   statement  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      expression  
      statement   

  public com.oracle.truffle.js.nodes.JavaScriptNode createWithVarWrapper(java.lang.String, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.JSTargetableNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // java.lang.String propertyName
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode withTarget
        start local 3 // com.oracle.truffle.js.nodes.access.JSTargetableNode withAccessNode
        start local 4 // com.oracle.truffle.js.nodes.JavaScriptNode globalDelegate
         0: .line 984
            aload 1 /* propertyName */
            aload 2 /* withTarget */
            aload 3 /* withAccessNode */
            aload 4 /* globalDelegate */
            invokestatic com.oracle.truffle.js.nodes.access.WithVarWrapperNode.create:(Ljava/lang/String;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 4 // com.oracle.truffle.js.nodes.JavaScriptNode globalDelegate
        end local 3 // com.oracle.truffle.js.nodes.access.JSTargetableNode withAccessNode
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode withTarget
        end local 1 // java.lang.String propertyName
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1    propertyName  Ljava/lang/String;
            0    1     2      withTarget  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  withAccessNode  Lcom/oracle/truffle/js/nodes/access/JSTargetableNode;
            0    1     4  globalDelegate  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                Name  Flags
      propertyName    
      withTarget      
      withAccessNode  
      globalDelegate  

  public com.oracle.truffle.js.nodes.JavaScriptNode createWithTarget(com.oracle.truffle.js.runtime.JSContext, java.lang.String, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // java.lang.String propertyName
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode withVariable
         0: .line 988
            aload 1 /* context */
            aload 2 /* propertyName */
            aload 3 /* withVariable */
            invokestatic com.oracle.truffle.js.nodes.access.WithTargetNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode withVariable
        end local 2 // java.lang.String propertyName
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1       context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  propertyName  Ljava/lang/String;
            0    1     3  withVariable  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
              Name  Flags
      context       
      propertyName  
      withVariable  

  public com.oracle.truffle.js.runtime.JavaScriptRootNode createNewTargetConstruct(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.CallTarget);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.api.CallTarget callTarget
         0: .line 992
            aload 1 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getLanguage:()Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
            aload 2 /* callTarget */
            invokestatic com.oracle.truffle.js.nodes.function.NewTargetRootNode.createNewTargetConstruct:(Lcom/oracle/truffle/js/lang/JavaScriptLanguage;Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
            areturn
        end local 2 // com.oracle.truffle.api.CallTarget callTarget
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1     context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  callTarget  Lcom/oracle/truffle/api/CallTarget;
    MethodParameters:
            Name  Flags
      context     
      callTarget  

  public com.oracle.truffle.js.runtime.JavaScriptRootNode createNewTargetCall(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.CallTarget);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.api.CallTarget callTarget
         0: .line 996
            aload 1 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getLanguage:()Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
            aload 2 /* callTarget */
            invokestatic com.oracle.truffle.js.nodes.function.NewTargetRootNode.createNewTargetCall:(Lcom/oracle/truffle/js/lang/JavaScriptLanguage;Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
            areturn
        end local 2 // com.oracle.truffle.api.CallTarget callTarget
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1     context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  callTarget  Lcom/oracle/truffle/api/CallTarget;
    MethodParameters:
            Name  Flags
      context     
      callTarget  

  public com.oracle.truffle.js.runtime.JavaScriptRootNode createDropNewTarget(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.CallTarget);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.api.CallTarget callTarget
         0: .line 1000
            aload 1 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getLanguage:()Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
            aload 2 /* callTarget */
            invokestatic com.oracle.truffle.js.nodes.function.NewTargetRootNode.createDropNewTarget:(Lcom/oracle/truffle/js/lang/JavaScriptLanguage;Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
            areturn
        end local 2 // com.oracle.truffle.api.CallTarget callTarget
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1     context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  callTarget  Lcom/oracle/truffle/api/CallTarget;
    MethodParameters:
            Name  Flags
      context     
      callTarget  

  public com.oracle.truffle.js.runtime.JavaScriptRootNode createConstructorRequiresNewRoot(com.oracle.truffle.js.runtime.builtins.JSFunctionData, com.oracle.truffle.api.source.SourceSection);
    descriptor: (Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/source/SourceSection;)Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
        start local 2 // com.oracle.truffle.api.source.SourceSection sourceSection
         0: .line 1006
            aload 1 /* functionData */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            astore 3 /* context */
        start local 3 // com.oracle.truffle.js.runtime.JSContext context
         1: .line 1007
            new java.lang.StringBuilder
            dup
            ldc "Class constructor "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* functionData */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " cannot be invoked without 'new'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* message */
        start local 4 // java.lang.String message
         2: .line 1008
            new com.oracle.truffle.js.nodes.NodeFactory$1
            dup
            aload 0 /* this */
            aload 3 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getLanguage:()Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
            aload 2 /* sourceSection */
            aconst_null
            aload 4 /* message */
            invokespecial com.oracle.truffle.js.nodes.NodeFactory$1.<init>:(Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/lang/JavaScriptLanguage;Lcom/oracle/truffle/api/source/SourceSection;Lcom/oracle/truffle/api/frame/FrameDescriptor;Ljava/lang/String;)V
            areturn
        end local 4 // java.lang.String message
        end local 3 // com.oracle.truffle.js.runtime.JSContext context
        end local 2 // com.oracle.truffle.api.source.SourceSection sourceSection
        end local 1 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    3     1   functionData  Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            0    3     2  sourceSection  Lcom/oracle/truffle/api/source/SourceSection;
            1    3     3        context  Lcom/oracle/truffle/js/runtime/JSContext;
            2    3     4        message  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      functionData   
      sourceSection  

  public com.oracle.truffle.js.nodes.JavaScriptNode createDerivedConstructorResult(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode bodyNode
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode thisNode
         0: .line 1017
            aload 1 /* bodyNode */
            aload 2 /* thisNode */
            invokestatic com.oracle.truffle.js.nodes.function.ConstructorResultNode.createDerived:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode thisNode
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode bodyNode
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  bodyNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2  thisNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
          Name  Flags
      bodyNode  
      thisNode  

  public com.oracle.truffle.js.nodes.JavaScriptNode createDerivedConstructorThis(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode thisNode
         0: .line 1021
            aload 1 /* thisNode */
            invokestatic com.oracle.truffle.js.nodes.arguments.AccessDerivedConstructorThisNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/arguments/AccessDerivedConstructorThisNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode thisNode
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  thisNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
          Name  Flags
      thisNode  

  public com.oracle.truffle.js.nodes.JavaScriptNode createRequireObjectCoercible(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode argument
         0: .line 1025
            aload 1 /* argument */
            invokestatic com.oracle.truffle.js.nodes.access.RequireObjectCoercibleNode$RequireObjectCoercibleWrapperNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/RequireObjectCoercibleNode$RequireObjectCoercibleWrapperNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode argument
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  argument  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
          Name  Flags
      argument  

  public com.oracle.truffle.api.frame.FrameDescriptor createFrameDescriptor();
    descriptor: ()Lcom/oracle/truffle/api/frame/FrameDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
         0: .line 1029
            new com.oracle.truffle.api.frame.FrameDescriptor
            dup
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            invokespecial com.oracle.truffle.api.frame.FrameDescriptor.<init>:(Ljava/lang/Object;)V
            areturn
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/NodeFactory;

  public com.oracle.truffle.api.frame.FrameDescriptor createBlockFrameDescriptor();
    descriptor: ()Lcom/oracle/truffle/api/frame/FrameDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
         0: .line 1033
            new com.oracle.truffle.api.frame.FrameDescriptor
            dup
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            invokespecial com.oracle.truffle.api.frame.FrameDescriptor.<init>:(Ljava/lang/Object;)V
            astore 1 /* desc */
        start local 1 // com.oracle.truffle.api.frame.FrameDescriptor desc
         1: .line 1034
            aload 1 /* desc */
            getstatic com.oracle.truffle.js.nodes.access.ScopeFrameNode.PARENT_SCOPE_IDENTIFIER:Ljava/lang/Object;
            getstatic com.oracle.truffle.api.frame.FrameSlotKind.Object:Lcom/oracle/truffle/api/frame/FrameSlotKind;
            invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.addFrameSlot:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/FrameSlotKind;)Lcom/oracle/truffle/api/frame/FrameSlot;
            pop
         2: .line 1035
            aload 1 /* desc */
            areturn
        end local 1 // com.oracle.truffle.api.frame.FrameDescriptor desc
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            1    3     1  desc  Lcom/oracle/truffle/api/frame/FrameDescriptor;

  public com.oracle.truffle.js.nodes.access.DeclareGlobalNode createDeclareGlobalVariable(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lcom/oracle/truffle/js/nodes/access/DeclareGlobalNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // java.lang.String varName
        start local 2 // boolean configurable
         0: .line 1039
            aload 1 /* varName */
            iload 2 /* configurable */
            invokestatic com.oracle.truffle.js.nodes.access.DeclareGlobalVariableNode.create:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/nodes/access/DeclareGlobalVariableNode;
            areturn
        end local 2 // boolean configurable
        end local 1 // java.lang.String varName
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1       varName  Ljava/lang/String;
            0    1     2  configurable  Z
    MethodParameters:
              Name  Flags
      varName       
      configurable  

  public com.oracle.truffle.js.nodes.access.DeclareGlobalNode createDeclareGlobalFunction(java.lang.String, boolean, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Ljava/lang/String;ZLcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/DeclareGlobalNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // java.lang.String varName
        start local 2 // boolean configurable
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode valueNode
         0: .line 1043
            aload 1 /* varName */
            iload 2 /* configurable */
            aload 3 /* valueNode */
            invokestatic com.oracle.truffle.js.nodes.access.DeclareGlobalFunctionNode.create:(Ljava/lang/String;ZLcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/DeclareGlobalFunctionNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode valueNode
        end local 2 // boolean configurable
        end local 1 // java.lang.String varName
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1       varName  Ljava/lang/String;
            0    1     2  configurable  Z
            0    1     3     valueNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
              Name  Flags
      varName       
      configurable  
      valueNode     

  public com.oracle.truffle.js.nodes.access.DeclareGlobalNode createDeclareGlobalLexicalVariable(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lcom/oracle/truffle/js/nodes/access/DeclareGlobalNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // java.lang.String varName
        start local 2 // boolean isConst
         0: .line 1047
            aload 1 /* varName */
            iload 2 /* isConst */
            invokestatic com.oracle.truffle.js.nodes.access.DeclareGlobalLexicalVariableNode.create:(Ljava/lang/String;Z)Lcom/oracle/truffle/js/nodes/access/DeclareGlobalLexicalVariableNode;
            areturn
        end local 2 // boolean isConst
        end local 1 // java.lang.String varName
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  varName  Ljava/lang/String;
            0    1     2  isConst  Z
    MethodParameters:
         Name  Flags
      varName  
      isConst  

  public com.oracle.truffle.js.nodes.JavaScriptNode createGlobalDeclarationInstantiation(com.oracle.truffle.js.runtime.JSContext, java.util.List<com.oracle.truffle.js.nodes.access.DeclareGlobalNode>);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/util/List;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // java.util.List declarations
         0: .line 1051
            aload 1 /* context */
            aload 2 /* declarations */
            invokestatic com.oracle.truffle.js.nodes.access.GlobalDeclarationInstantiationNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/util/List;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 2 // java.util.List declarations
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1       context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  declarations  Ljava/util/List<Lcom/oracle/truffle/js/nodes/access/DeclareGlobalNode;>;
    Signature: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/util/List<Lcom/oracle/truffle/js/nodes/access/DeclareGlobalNode;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
              Name  Flags
      context       
      declarations  

  public com.oracle.truffle.js.nodes.JavaScriptNode copy(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode node
         0: .line 1055
            aload 1 /* node */
            invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.copy:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode node
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  node  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
      Name  Flags
      node  

  public com.oracle.truffle.js.nodes.JavaScriptNode createToObject(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode operand
         0: .line 1059
            aload 1 /* context */
            aload 2 /* operand */
            invokestatic com.oracle.truffle.js.nodes.cast.JSToObjectNode$JSToObjectWrapperNode.createToObject:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/cast/JSToObjectNode$JSToObjectWrapperNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode operand
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  operand  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
         Name  Flags
      context  
      operand  

  public com.oracle.truffle.js.nodes.JavaScriptNode createToObjectFromWith(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode operand
        start local 3 // boolean checkForNullOrUndefined
         0: .line 1063
            aload 1 /* context */
            aload 2 /* operand */
            iload 3 /* checkForNullOrUndefined */
            invokestatic com.oracle.truffle.js.nodes.cast.JSToObjectNode$JSToObjectWrapperNode.createToObjectFromWith:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Z)Lcom/oracle/truffle/js/nodes/cast/JSToObjectNode$JSToObjectWrapperNode;
            areturn
        end local 3 // boolean checkForNullOrUndefined
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode operand
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    1     0                     this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1                  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2                  operand  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  checkForNullOrUndefined  Z
    MethodParameters:
                         Name  Flags
      context                  
      operand                  
      checkForNullOrUndefined  

  public com.oracle.truffle.js.nodes.JavaScriptNode createAccessArgumentsArrayDirectly(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, int, int);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;II)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode writeArguments
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode readArguments
        start local 3 // int leadingArgCount
        start local 4 // int trailingArgCount
         0: .line 1067
            new com.oracle.truffle.js.nodes.arguments.AccessArgumentsArrayDirectlyNode
            dup
            aload 1 /* writeArguments */
            aload 2 /* readArguments */
            iload 3 /* leadingArgCount */
            iload 4 /* trailingArgCount */
            invokespecial com.oracle.truffle.js.nodes.arguments.AccessArgumentsArrayDirectlyNode.<init>:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;II)V
            areturn
        end local 4 // int trailingArgCount
        end local 3 // int leadingArgCount
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode readArguments
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode writeArguments
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1    writeArguments  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2     readArguments  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3   leadingArgCount  I
            0    1     4  trailingArgCount  I
    MethodParameters:
                  Name  Flags
      writeArguments    
      readArguments     
      leadingArgCount   
      trailingArgCount  

  public com.oracle.truffle.js.nodes.JavaScriptNode createCallApplyArguments(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSFunctionCallNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode callNode
         0: .line 1071
            aload 1 /* context */
            aload 2 /* callNode */
            invokestatic com.oracle.truffle.js.nodes.function.CallApplyArgumentsNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode callNode
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1   context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  callNode  Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
    MethodParameters:
          Name  Flags
      context   
      callNode  

  public com.oracle.truffle.js.nodes.JavaScriptNode createGuardDisconnectedArgumentRead(int, com.oracle.truffle.js.nodes.access.ReadElementNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.api.frame.FrameSlot);
    descriptor: (ILcom/oracle/truffle/js/nodes/access/ReadElementNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // int index
        start local 2 // com.oracle.truffle.js.nodes.access.ReadElementNode readElementNode
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode argumentsArray
        start local 4 // com.oracle.truffle.api.frame.FrameSlot slot
         0: .line 1075
            iload 1 /* index */
            aload 2 /* readElementNode */
            aload 3 /* argumentsArray */
            aload 4 /* slot */
            invokestatic com.oracle.truffle.js.nodes.access.JSGuardDisconnectedArgumentRead.create:(ILcom/oracle/truffle/js/nodes/access/ReadElementNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/nodes/access/JSGuardDisconnectedArgumentRead;
            areturn
        end local 4 // com.oracle.truffle.api.frame.FrameSlot slot
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode argumentsArray
        end local 2 // com.oracle.truffle.js.nodes.access.ReadElementNode readElementNode
        end local 1 // int index
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1            index  I
            0    1     2  readElementNode  Lcom/oracle/truffle/js/nodes/access/ReadElementNode;
            0    1     3   argumentsArray  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     4             slot  Lcom/oracle/truffle/api/frame/FrameSlot;
    MethodParameters:
                 Name  Flags
      index            
      readElementNode  
      argumentsArray   
      slot             

  public com.oracle.truffle.js.nodes.JavaScriptNode createGuardDisconnectedArgumentWrite(int, com.oracle.truffle.js.nodes.access.WriteElementNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.api.frame.FrameSlot);
    descriptor: (ILcom/oracle/truffle/js/nodes/access/WriteElementNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // int index
        start local 2 // com.oracle.truffle.js.nodes.access.WriteElementNode argumentsArrayAccess
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode argumentsArray
        start local 4 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
        start local 5 // com.oracle.truffle.api.frame.FrameSlot slot
         0: .line 1079
            iload 1 /* index */
            aload 2 /* argumentsArrayAccess */
            aload 3 /* argumentsArray */
            aload 4 /* rhs */
            aload 5 /* slot */
            invokestatic com.oracle.truffle.js.nodes.access.JSGuardDisconnectedArgumentWrite.create:(ILcom/oracle/truffle/js/nodes/access/WriteElementNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/js/nodes/access/JSGuardDisconnectedArgumentWrite;
            areturn
        end local 5 // com.oracle.truffle.api.frame.FrameSlot slot
        end local 4 // com.oracle.truffle.js.nodes.JavaScriptNode rhs
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode argumentsArray
        end local 2 // com.oracle.truffle.js.nodes.access.WriteElementNode argumentsArrayAccess
        end local 1 // int index
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    1     0                  this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1                 index  I
            0    1     2  argumentsArrayAccess  Lcom/oracle/truffle/js/nodes/access/WriteElementNode;
            0    1     3        argumentsArray  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     4                   rhs  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     5                  slot  Lcom/oracle/truffle/api/frame/FrameSlot;
    MethodParameters:
                      Name  Flags
      index                 
      argumentsArrayAccess  
      argumentsArray        
      rhs                   
      slot                  

  public com.oracle.truffle.js.nodes.JavaScriptNode createModuleBody(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode moduleBody
         0: .line 1083
            aload 1 /* moduleBody */
            invokestatic com.oracle.truffle.js.nodes.control.ModuleBodyNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode moduleBody
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  moduleBody  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      moduleBody  

  public com.oracle.truffle.js.nodes.JavaScriptNode createModuleYield();
    descriptor: ()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
         0: .line 1087
            invokestatic com.oracle.truffle.js.nodes.control.ModuleYieldNode.create:()Lcom/oracle/truffle/js/nodes/control/ModuleYieldNode;
            areturn
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/NodeFactory;

  public com.oracle.truffle.js.nodes.JavaScriptNode createTopLevelAsyncModuleBody(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode, com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode moduleBody
        start local 3 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode asyncResult
        start local 4 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeAsyncContextNode
         0: .line 1091
            aload 1 /* context */
            aload 2 /* moduleBody */
            aload 3 /* asyncResult */
            aload 4 /* writeAsyncContextNode */
            invokestatic com.oracle.truffle.js.nodes.control.TopLevelAwaitModuleBodyNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 4 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeAsyncContextNode
        end local 3 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode asyncResult
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode moduleBody
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    1     0                   this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1                context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2             moduleBody  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3            asyncResult  Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
            0    1     4  writeAsyncContextNode  Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
    MethodParameters:
                       Name  Flags
      context                
      moduleBody             
      asyncResult            
      writeAsyncContextNode  

  public com.oracle.truffle.js.nodes.JavaScriptNode createImportMeta(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode moduleNode
         0: .line 1095
            aload 1 /* moduleNode */
            invokestatic com.oracle.truffle.js.nodes.module.ImportMetaNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode moduleNode
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  moduleNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      moduleNode  

  public com.oracle.truffle.js.nodes.JavaScriptNode createResolveStarImport(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, java.lang.String, com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/String;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode moduleNode
        start local 3 // java.lang.String moduleRequest
        start local 4 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeLocalNode
         0: .line 1099
            aload 1 /* context */
            aload 2 /* moduleNode */
            aload 3 /* moduleRequest */
            aload 4 /* writeLocalNode */
            invokestatic com.oracle.truffle.js.nodes.module.ResolveStarImportNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/String;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/control/StatementNode;
            areturn
        end local 4 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeLocalNode
        end local 3 // java.lang.String moduleRequest
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode moduleNode
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1         context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2      moduleNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3   moduleRequest  Ljava/lang/String;
            0    1     4  writeLocalNode  Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
    MethodParameters:
                Name  Flags
      context         
      moduleNode      
      moduleRequest   
      writeLocalNode  

  public com.oracle.truffle.js.nodes.JavaScriptNode createResolveNamedImport(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, java.lang.String, java.lang.String, com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode moduleNode
        start local 3 // java.lang.String moduleRequest
        start local 4 // java.lang.String importName
        start local 5 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeLocalNode
         0: .line 1103
            aload 1 /* context */
            aload 2 /* moduleNode */
            aload 3 /* moduleRequest */
            aload 4 /* importName */
            aload 5 /* writeLocalNode */
            invokestatic com.oracle.truffle.js.nodes.module.ResolveNamedImportNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/control/StatementNode;
            areturn
        end local 5 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writeLocalNode
        end local 4 // java.lang.String importName
        end local 3 // java.lang.String moduleRequest
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode moduleNode
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1         context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2      moduleNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3   moduleRequest  Ljava/lang/String;
            0    1     4      importName  Ljava/lang/String;
            0    1     5  writeLocalNode  Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
    MethodParameters:
                Name  Flags
      context         
      moduleNode      
      moduleRequest   
      importName      
      writeLocalNode  

  public com.oracle.truffle.js.nodes.JavaScriptNode createReadImportBinding(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode readLocal
         0: .line 1107
            aload 1 /* readLocal */
            invokestatic com.oracle.truffle.js.nodes.module.ReadImportBindingNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode readLocal
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  readLocal  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
           Name  Flags
      readLocal  

  public com.oracle.truffle.js.nodes.JavaScriptNode createImportCall(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode argument
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode activeScriptOrModule
         0: .line 1111
            aload 1 /* context */
            aload 2 /* argument */
            aload 3 /* activeScriptOrModule */
            invokestatic com.oracle.truffle.js.nodes.promise.ImportCallNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/promise/ImportCallNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode activeScriptOrModule
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode argument
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    1     0                  this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1               context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2              argument  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  activeScriptOrModule  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                      Name  Flags
      context               
      argument              
      activeScriptOrModule  

  public com.oracle.truffle.js.nodes.JavaScriptNode createRestObject(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode source
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode excludedNames
         0: .line 1115
            aload 1 /* context */
            getstatic com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode.EMPTY:[Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
            invokestatic com.oracle.truffle.js.nodes.access.ObjectLiteralNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;[Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode;
            astore 4 /* restObj */
        start local 4 // com.oracle.truffle.js.nodes.JavaScriptNode restObj
         1: .line 1116
            aload 1 /* context */
            aload 4 /* restObj */
            aload 2 /* source */
            aload 3 /* excludedNames */
            invokestatic com.oracle.truffle.js.nodes.access.RestObjectNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 4 // com.oracle.truffle.js.nodes.JavaScriptNode restObj
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode excludedNames
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode source
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    2     1        context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    2     2         source  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    2     3  excludedNames  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            1    2     4        restObj  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
               Name  Flags
      context        
      source         
      excludedNames  

  public com.oracle.truffle.js.nodes.JavaScriptNode createInitializeInstanceElements(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode target
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode constructor
         0: .line 1120
            aload 1 /* context */
            aload 2 /* target */
            aload 3 /* constructor */
            invokestatic com.oracle.truffle.js.nodes.access.InitializeInstanceElementsNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode constructor
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode target
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1      context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2       target  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  constructor  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
             Name  Flags
      context      
      target       
      constructor  

  public com.oracle.truffle.js.nodes.JavaScriptNode createNewPrivateName(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // java.lang.String description
         0: .line 1124
            aload 1 /* description */
            invokestatic com.oracle.truffle.js.nodes.access.NewPrivateNameNode.create:(Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 1 // java.lang.String description
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  description  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      description  

  public com.oracle.truffle.js.nodes.JavaScriptNode createPrivateFieldGet(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode target
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode key
         0: .line 1128
            aload 2 /* target */
            aload 3 /* key */
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.nodes.access.PrivateFieldGetNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PrivateFieldGetNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode key
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode target
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2   target  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3      key  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
         Name  Flags
      context  
      target   
      key      

  public com.oracle.truffle.js.nodes.JavaScriptNode createPrivateFieldSet(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode targetNode
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode indexNode
        start local 4 // com.oracle.truffle.js.nodes.JavaScriptNode valueNode
         0: .line 1132
            aload 2 /* targetNode */
            aload 3 /* indexNode */
            aload 4 /* valueNode */
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.nodes.access.PrivateFieldSetNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PrivateFieldSetNode;
            areturn
        end local 4 // com.oracle.truffle.js.nodes.JavaScriptNode valueNode
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode indexNode
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode targetNode
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1     context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  targetNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3   indexNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     4   valueNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      context     
      targetNode  
      indexNode   
      valueNode   

  public com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode createPrivateFieldMember(com.oracle.truffle.js.nodes.JavaScriptNode, boolean, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode keyNode
        start local 2 // boolean isStatic
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode valueNode
        start local 4 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writePrivateNode
         0: .line 1136
            aload 1 /* keyNode */
            iload 2 /* isStatic */
            aload 3 /* valueNode */
            aload 4 /* writePrivateNode */
            invokestatic com.oracle.truffle.js.nodes.access.ObjectLiteralNode.newPrivateFieldMember:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;ZLcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
            areturn
        end local 4 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writePrivateNode
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode valueNode
        end local 2 // boolean isStatic
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode keyNode
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1           keyNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2          isStatic  Z
            0    1     3         valueNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     4  writePrivateNode  Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
    MethodParameters:
                  Name  Flags
      keyNode           
      isStatic          
      valueNode         
      writePrivateNode  

  public com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode createPrivateMethodMember(boolean, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode);
    descriptor: (ZLcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // boolean isStatic
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode valueNode
        start local 3 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writePrivateNode
         0: .line 1140
            iload 1 /* isStatic */
            aload 2 /* valueNode */
            aload 3 /* writePrivateNode */
            invokestatic com.oracle.truffle.js.nodes.access.ObjectLiteralNode.newPrivateMethodMember:(ZLcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
            areturn
        end local 3 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writePrivateNode
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode valueNode
        end local 1 // boolean isStatic
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1          isStatic  Z
            0    1     2         valueNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3  writePrivateNode  Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
    MethodParameters:
                  Name  Flags
      isStatic          
      valueNode         
      writePrivateNode  

  public com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode createPrivateAccessorMember(boolean, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode);
    descriptor: (ZLcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // boolean isStatic
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode getterNode
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode setterNode
        start local 4 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writePrivateNode
         0: .line 1144
            iload 1 /* isStatic */
            aload 2 /* getterNode */
            aload 3 /* setterNode */
            aload 4 /* writePrivateNode */
            invokestatic com.oracle.truffle.js.nodes.access.ObjectLiteralNode.newPrivateAccessorMember:(ZLcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;)Lcom/oracle/truffle/js/nodes/access/ObjectLiteralNode$ObjectLiteralMemberNode;
            areturn
        end local 4 // com.oracle.truffle.js.nodes.access.JSWriteFrameSlotNode writePrivateNode
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode setterNode
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode getterNode
        end local 1 // boolean isStatic
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1          isStatic  Z
            0    1     2        getterNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     3        setterNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     4  writePrivateNode  Lcom/oracle/truffle/js/nodes/access/JSWriteFrameSlotNode;
    MethodParameters:
                  Name  Flags
      isStatic          
      getterNode        
      setterNode        
      writePrivateNode  

  public com.oracle.truffle.js.nodes.JavaScriptNode createPrivateBrandCheck(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode targetNode
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode brandNode
         0: .line 1148
            aload 1 /* targetNode */
            aload 2 /* brandNode */
            invokestatic com.oracle.truffle.js.nodes.access.PrivateBrandCheckNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/PrivateBrandCheckNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode brandNode
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode targetNode
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  targetNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    1     2   brandNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      targetNode  
      brandNode   

  public com.oracle.truffle.js.nodes.JavaScriptNode createGetPrivateBrand(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode constructorNode
         0: .line 1152
            aload 2 /* constructorNode */
            aload 1 /* context */
            aload 2 /* constructorNode */
            getstatic com.oracle.truffle.js.runtime.builtins.JSFunction.PRIVATE_BRAND_ID:Lcom/oracle/truffle/api/object/HiddenKey;
            invokestatic com.oracle.truffle.js.nodes.access.PropertyNode.createGetHidden:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/object/HiddenKey;)Lcom/oracle/truffle/js/nodes/access/PropertyNode;
            invokestatic com.oracle.truffle.js.nodes.binary.JSAndNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/binary/JSAndNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode constructorNode
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1          context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  constructorNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                 Name  Flags
      context          
      constructorNode  

  public com.oracle.truffle.js.nodes.JavaScriptNode createToPropertyKey(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode key
         0: .line 1156
            aload 1 /* key */
            invokestatic com.oracle.truffle.js.nodes.cast.JSToPropertyKeyNode$JSToPropertyKeyWrapperNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode key
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1   key  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
      Name  Flags
      key   

  public com.oracle.truffle.js.nodes.JavaScriptNode createOptionalChain(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode accessNode
         0: .line 1160
            aload 1 /* accessNode */
            invokestatic com.oracle.truffle.js.nodes.access.OptionalChainNode.createTarget:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode accessNode
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  accessNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      accessNode  

  public com.oracle.truffle.js.nodes.JavaScriptNode createOptionalChainShortCircuit(com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode valueNode
         0: .line 1164
            aload 1 /* valueNode */
            invokestatic com.oracle.truffle.js.nodes.access.OptionalChainNode.createShortCircuit:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode valueNode
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  valueNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
           Name  Flags
      valueNode  

  public com.oracle.truffle.js.nodes.control.IfNode copyIfWithCondition(com.oracle.truffle.js.nodes.control.IfNode, com.oracle.truffle.js.nodes.JavaScriptNode);
    descriptor: (Lcom/oracle/truffle/js/nodes/control/IfNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/IfNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.nodes.NodeFactory this
        start local 1 // com.oracle.truffle.js.nodes.control.IfNode origIfNode
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode condition
         0: .line 1168
            aload 2 /* condition */
            aload 1 /* origIfNode */
            invokevirtual com.oracle.truffle.js.nodes.control.IfNode.getThenPart:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 1 /* origIfNode */
            invokevirtual com.oracle.truffle.js.nodes.control.IfNode.getElsePart:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            invokestatic com.oracle.truffle.js.nodes.control.IfNode.create:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/control/IfNode;
            areturn
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode condition
        end local 1 // com.oracle.truffle.js.nodes.control.IfNode origIfNode
        end local 0 // com.oracle.truffle.js.nodes.NodeFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/nodes/NodeFactory;
            0    1     1  origIfNode  Lcom/oracle/truffle/js/nodes/control/IfNode;
            0    1     2   condition  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
            Name  Flags
      origIfNode  
      condition   

  public static com.oracle.truffle.js.nodes.NodeFactory getDefaultInstance();
    descriptor: ()Lcom/oracle/truffle/js/nodes/NodeFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1174
            getstatic com.oracle.truffle.js.nodes.NodeFactory.FACTORY:Lcom/oracle/truffle/js/nodes/NodeFactory;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.oracle.truffle.js.nodes.NodeFactory getInstance(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/NodeFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 1178
            aload 0 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getNodeFactory:()Ljava/lang/Object;
            checkcast com.oracle.truffle.js.nodes.NodeFactory
            areturn
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lcom/oracle/truffle/js/runtime/JSContext;
    MethodParameters:
         Name  Flags
      context  

  static int[] $SWITCH_TABLE$com$oracle$truffle$js$nodes$NodeFactory$UnaryOperation();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 225
            getstatic com.oracle.truffle.js.nodes.NodeFactory.$SWITCH_TABLE$com$oracle$truffle$js$nodes$NodeFactory$UnaryOperation:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.values:()[Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.BITWISE_COMPLEMENT:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.MINUS:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.NOT:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.PLUS:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.POSTFIX_LOCAL_DECREMENT:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.ordinal:()I
            bipush 7
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.POSTFIX_LOCAL_INCREMENT:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.ordinal:()I
            iconst_5
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.PREFIX_LOCAL_DECREMENT:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.ordinal:()I
            bipush 8
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.PREFIX_LOCAL_INCREMENT:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.ordinal:()I
            bipush 6
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.TYPE_OF:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.ordinal:()I
            bipush 9
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.VOID:Lcom/oracle/truffle/js/nodes/NodeFactory$UnaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation.ordinal:()I
            bipush 10
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            dup
            putstatic com.oracle.truffle.js.nodes.NodeFactory.$SWITCH_TABLE$com$oracle$truffle$js$nodes$NodeFactory$UnaryOperation:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$com$oracle$truffle$js$nodes$NodeFactory$BinaryOperation();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 225
            getstatic com.oracle.truffle.js.nodes.NodeFactory.$SWITCH_TABLE$com$oracle$truffle$js$nodes$NodeFactory$BinaryOperation:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.values:()[Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ADD:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.BITWISE_AND:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 16
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.BITWISE_LEFT_SHIFT:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 18
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.BITWISE_OR:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 17
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.BITWISE_RIGHT_SHIFT:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 19
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.BITWISE_UNSIGNED_RIGHT_SHIFT:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 20
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.BITWISE_XOR:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 15
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.DIVIDE:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            iconst_2
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.DUAL:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 25
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.EQUAL:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 7
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.EXPONENTIATE:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            iconst_5
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.GREATER:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 9
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.GREATER_OR_EQUAL:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 8
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.IDENTICAL:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 10
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.IN:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 24
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.INSTANCEOF:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 23
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.LESS:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 12
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.LESS_OR_EQUAL:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 11
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.LOGICAL_AND:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 21
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.LOGICAL_OR:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 22
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.MODULO:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            iconst_3
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.MULTIPLY:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            iconst_4
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.NOT_EQUAL:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 13
            iastore
        69: goto 71
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        70: pop
      StackMap locals:
      StackMap stack:
        71: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.NOT_IDENTICAL:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 14
            iastore
        72: goto 74
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        73: pop
      StackMap locals:
      StackMap stack:
        74: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.NULLISH_COALESCING:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 26
            iastore
        75: goto 77
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        76: pop
      StackMap locals:
      StackMap stack:
        77: aload 0
            getstatic com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.SUBTRACT:Lcom/oracle/truffle/js/nodes/NodeFactory$BinaryOperation;
            invokevirtual com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation.ordinal:()I
            bipush 6
            iastore
        78: goto 80
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        79: pop
      StackMap locals:
      StackMap stack:
        80: aload 0
            dup
            putstatic com.oracle.truffle.js.nodes.NodeFactory.$SWITCH_TABLE$com$oracle$truffle$js$nodes$NodeFactory$BinaryOperation:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
          59    60      61  Class java.lang.NoSuchFieldError
          62    63      64  Class java.lang.NoSuchFieldError
          65    66      67  Class java.lang.NoSuchFieldError
          68    69      70  Class java.lang.NoSuchFieldError
          71    72      73  Class java.lang.NoSuchFieldError
          74    75      76  Class java.lang.NoSuchFieldError
          77    78      79  Class java.lang.NoSuchFieldError
}
SourceFile: "NodeFactory.java"
NestMembers:
  com.oracle.truffle.js.nodes.NodeFactory$1  com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation  com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation
InnerClasses:
  com.oracle.truffle.js.nodes.NodeFactory$1
  public final BinaryOperation = com.oracle.truffle.js.nodes.NodeFactory$BinaryOperation of com.oracle.truffle.js.nodes.NodeFactory
  public final UnaryOperation = com.oracle.truffle.js.nodes.NodeFactory$UnaryOperation of com.oracle.truffle.js.nodes.NodeFactory
  public final SpreadArrayNode = com.oracle.truffle.js.nodes.access.ArrayLiteralNode$SpreadArrayNode of com.oracle.truffle.js.nodes.access.ArrayLiteralNode
  public final JSConstantStringNode = com.oracle.truffle.js.nodes.access.JSConstantNode$JSConstantStringNode of com.oracle.truffle.js.nodes.access.JSConstantNode
  public final Op = com.oracle.truffle.js.nodes.access.LocalVarIncNode$Op of com.oracle.truffle.js.nodes.access.LocalVarIncNode
  public final MakeMethodNode = com.oracle.truffle.js.nodes.access.ObjectLiteralNode$MakeMethodNode of com.oracle.truffle.js.nodes.access.ObjectLiteralNode
  public abstract ObjectLiteralMemberNode = com.oracle.truffle.js.nodes.access.ObjectLiteralNode$ObjectLiteralMemberNode of com.oracle.truffle.js.nodes.access.ObjectLiteralNode
  public final OptionalTargetableNode = com.oracle.truffle.js.nodes.access.OptionalChainNode$OptionalTargetableNode of com.oracle.truffle.js.nodes.access.OptionalChainNode
  public final ShortCircuitTargetableNode = com.oracle.truffle.js.nodes.access.OptionalChainNode$ShortCircuitTargetableNode of com.oracle.truffle.js.nodes.access.OptionalChainNode
  public abstract RequireObjectCoercibleWrapperNode = com.oracle.truffle.js.nodes.access.RequireObjectCoercibleNode$RequireObjectCoercibleWrapperNode of com.oracle.truffle.js.nodes.access.RequireObjectCoercibleNode
  public abstract JSToObjectWrapperNode = com.oracle.truffle.js.nodes.cast.JSToObjectNode$JSToObjectWrapperNode of com.oracle.truffle.js.nodes.cast.JSToObjectNode
  public abstract JSToPropertyKeyWrapperNode = com.oracle.truffle.js.nodes.cast.JSToPropertyKeyNode$JSToPropertyKeyWrapperNode of com.oracle.truffle.js.nodes.cast.JSToPropertyKeyNode
  public abstract JSToStringWrapperNode = com.oracle.truffle.js.nodes.cast.JSToStringNode$JSToStringWrapperNode of com.oracle.truffle.js.nodes.cast.JSToStringNode
  public FrameReturnTargetNode = com.oracle.truffle.js.nodes.control.ReturnTargetNode$FrameReturnTargetNode of com.oracle.truffle.js.nodes.control.ReturnTargetNode
  public abstract Initializer = com.oracle.truffle.js.runtime.builtins.JSFunctionData$Initializer of com.oracle.truffle.js.runtime.builtins.JSFunctionData