public class com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode extends com.oracle.truffle.js.nodes.arguments.AccessIndexedArgumentNode
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode
  super_class: com.oracle.truffle.js.nodes.arguments.AccessIndexedArgumentNode
{
  private final com.oracle.truffle.js.runtime.JSContext context;
    descriptor: Lcom/oracle/truffle/js/runtime/JSContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int trailingArgCount;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(com.oracle.truffle.js.runtime.JSContext, int, int);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;II)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // int paramIndex
        start local 3 // int trailingArgCount
         0: .line 58
            aload 0 /* this */
            iload 2 /* paramIndex */
            invokespecial com.oracle.truffle.js.nodes.arguments.AccessIndexedArgumentNode.<init>:(I)V
         1: .line 59
            aload 0 /* this */
            aload 1 /* context */
            putfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
         2: .line 60
            aload 0 /* this */
            iload 3 /* trailingArgCount */
            putfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.trailingArgCount:I
         3: .line 61
            return
        end local 3 // int trailingArgCount
        end local 2 // int paramIndex
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lcom/oracle/truffle/js/nodes/arguments/AccessRestArgumentsNode;
            0    4     1           context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    4     2        paramIndex  I
            0    4     3  trailingArgCount  I
    MethodParameters:
                  Name  Flags
      context           
      paramIndex        
      trailingArgCount  

  public static com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode create(com.oracle.truffle.js.runtime.JSContext, int);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;I)Lcom/oracle/truffle/js/nodes/arguments/AccessRestArgumentsNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // int paramIndex
         0: .line 64
            new com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode
            dup
            aload 0 /* context */
            iload 1 /* paramIndex */
            iconst_0
            invokespecial com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;II)V
            areturn
        end local 1 // int paramIndex
        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;
            0    1     1  paramIndex  I
    MethodParameters:
            Name  Flags
      context     
      paramIndex  

  public static com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode create(com.oracle.truffle.js.runtime.JSContext, int, int);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;II)Lcom/oracle/truffle/js/nodes/arguments/AccessRestArgumentsNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // int paramIndex
        start local 2 // int trailingArgCount
         0: .line 68
            new com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode
            dup
            aload 0 /* context */
            iload 1 /* paramIndex */
            iload 2 /* trailingArgCount */
            invokespecial com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;II)V
            areturn
        end local 2 // int trailingArgCount
        end local 1 // int paramIndex
        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;
            0    1     1        paramIndex  I
            0    1     2  trailingArgCount  I
    MethodParameters:
                  Name  Flags
      context           
      paramIndex        
      trailingArgCount  

  public java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
         0: .line 73
            aload 1 /* frame */
            invokeinterface com.oracle.truffle.api.frame.VirtualFrame.getArguments:()[Ljava/lang/Object;
            astore 2 /* jsArguments */
        start local 2 // java.lang.Object[] jsArguments
         1: .line 74
            aload 2 /* jsArguments */
            invokestatic com.oracle.truffle.js.runtime.JSArguments.getUserArgumentCount:([Ljava/lang/Object;)I
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.index:I
            isub
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.trailingArgCount:I
            isub
            istore 3 /* restLength */
        start local 3 // int restLength
         2: .line 75
            aload 0 /* this */
            iload 3 /* restLength */
            ifle 3
            iconst_1
            goto 4
      StackMap locals: com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object[] int
      StackMap stack: com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode
         3: iconst_0
      StackMap locals: com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode com.oracle.truffle.api.frame.VirtualFrame java.lang.Object[] int
      StackMap stack: com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode int
         4: invokevirtual com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.profile:(Z)Z
            ifeq 6
         5: .line 76
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.runtime.array.dyn.ConstantObjectArray.createConstantObjectArray:()Lcom/oracle/truffle/js/runtime/array/dyn/ConstantObjectArray;
            aload 2 /* jsArguments */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.index:I
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.trailingArgCount:I
            invokestatic com.oracle.truffle.js.runtime.JSArguments.extractUserArguments:([Ljava/lang/Object;II)[Ljava/lang/Object;
            iload 3 /* restLength */
            i2l
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/array/ScriptArray;Ljava/lang/Object;J)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
         6: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createEmptyZeroLength:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 3 // int restLength
        end local 2 // java.lang.Object[] jsArguments
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lcom/oracle/truffle/js/nodes/arguments/AccessRestArgumentsNode;
            0    7     1        frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            1    7     2  jsArguments  [Ljava/lang/Object;
            2    7     3   restLength  I
    MethodParameters:
       Name  Flags
      frame  

  protected com.oracle.truffle.js.nodes.JavaScriptNode copyUninitialized(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
    descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode this
        start local 1 // java.util.Set materializedTags
         0: .line 84
            new com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode
            dup
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.context:Lcom/oracle/truffle/js/runtime/JSContext;
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.index:I
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.trailingArgCount:I
            invokespecial com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;II)V
            areturn
        end local 1 // java.util.Set materializedTags
        end local 0 // com.oracle.truffle.js.nodes.arguments.AccessRestArgumentsNode this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/nodes/arguments/AccessRestArgumentsNode;
            0    1     1  materializedTags  Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
    Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                  Name  Flags
      materializedTags  
}
SourceFile: "AccessRestArgumentsNode.java"