public class org.jruby.ast.ListNode extends org.jruby.ast.Node implements java.lang.Iterable<org.jruby.ast.Node>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.ast.ListNode
  super_class: org.jruby.ast.Node
{
  private static final org.jruby.ast.Node[] EMPTY;
    descriptor: [Lorg/jruby/ast/Node;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int INITIAL_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private org.jruby.ast.Node[] list;
    descriptor: [Lorg/jruby/ast/Node;
    flags: (0x0002) ACC_PRIVATE

  private int size;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.jruby.ast.Node single;
    descriptor: Lorg/jruby/ast/Node;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 47
            iconst_0
            anewarray org.jruby.ast.Node
            putstatic org.jruby.ast.ListNode.EMPTY:[Lorg/jruby/ast/Node;
         1: .line 48
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.jruby.lexer.yacc.ISourcePosition, org.jruby.ast.Node);
    descriptor: (Lorg/jruby/lexer/yacc/ISourcePosition;Lorg/jruby/ast/Node;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.ast.ListNode this
        start local 1 // org.jruby.lexer.yacc.ISourcePosition position
        start local 2 // org.jruby.ast.Node firstNode
         0: .line 66
            aload 0 /* this */
            aload 1 /* position */
            aload 2 /* firstNode */
            ifnull 1
            aload 2 /* firstNode */
            getfield org.jruby.ast.Node.containsVariableAssignment:Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals: uninitialized-this org.jruby.lexer.yacc.ISourcePosition org.jruby.ast.Node
      StackMap stack: uninitialized-this org.jruby.lexer.yacc.ISourcePosition
         1: iconst_0
      StackMap locals: uninitialized-this org.jruby.lexer.yacc.ISourcePosition org.jruby.ast.Node
      StackMap stack: uninitialized-this org.jruby.lexer.yacc.ISourcePosition int
         2: invokespecial org.jruby.ast.Node.<init>:(Lorg/jruby/lexer/yacc/ISourcePosition;Z)V
         3: .line 49
            aload 0 /* this */
            getstatic org.jruby.ast.ListNode.EMPTY:[Lorg/jruby/ast/Node;
            putfield org.jruby.ast.ListNode.list:[Lorg/jruby/ast/Node;
         4: .line 50
            aload 0 /* this */
            iconst_0
            putfield org.jruby.ast.ListNode.size:I
         5: .line 68
            aload 0 /* this */
            aload 2 /* firstNode */
            putfield org.jruby.ast.ListNode.single:Lorg/jruby/ast/Node;
         6: .line 69
            aload 0 /* this */
            iconst_1
            putfield org.jruby.ast.ListNode.size:I
         7: .line 70
            return
        end local 2 // org.jruby.ast.Node firstNode
        end local 1 // org.jruby.lexer.yacc.ISourcePosition position
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/jruby/ast/ListNode;
            0    8     1   position  Lorg/jruby/lexer/yacc/ISourcePosition;
            0    8     2  firstNode  Lorg/jruby/ast/Node;
    MethodParameters:
           Name  Flags
      position   
      firstNode  

  public void <init>(org.jruby.lexer.yacc.ISourcePosition);
    descriptor: (Lorg/jruby/lexer/yacc/ISourcePosition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.ast.ListNode this
        start local 1 // org.jruby.lexer.yacc.ISourcePosition position
         0: .line 73
            aload 0 /* this */
            aload 1 /* position */
            iconst_0
            invokespecial org.jruby.ast.Node.<init>:(Lorg/jruby/lexer/yacc/ISourcePosition;Z)V
         1: .line 49
            aload 0 /* this */
            getstatic org.jruby.ast.ListNode.EMPTY:[Lorg/jruby/ast/Node;
            putfield org.jruby.ast.ListNode.list:[Lorg/jruby/ast/Node;
         2: .line 50
            aload 0 /* this */
            iconst_0
            putfield org.jruby.ast.ListNode.size:I
         3: .line 74
            return
        end local 1 // org.jruby.lexer.yacc.ISourcePosition position
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/jruby/ast/ListNode;
            0    4     1  position  Lorg/jruby/lexer/yacc/ISourcePosition;
    MethodParameters:
          Name  Flags
      position  

  public org.jruby.ast.NodeType getNodeType();
    descriptor: ()Lorg/jruby/ast/NodeType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ast.ListNode this
         0: .line 77
            getstatic org.jruby.ast.NodeType.LISTNODE:Lorg/jruby/ast/NodeType;
            areturn
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ast/ListNode;

  private org.jruby.ast.Node[] growList(int);
    descriptor: (I)[Lorg/jruby/ast/Node;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.jruby.ast.ListNode this
        start local 1 // int mustBeDelta
         0: .line 81
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.list:[Lorg/jruby/ast/Node;
            arraylength
            iconst_2
            imul
            istore 2 /* newSize */
        start local 2 // int newSize
         1: .line 84
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.size:I
            iload 1 /* mustBeDelta */
            iadd
            iload 2 /* newSize */
            if_icmplt 2
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.size:I
            iload 1 /* mustBeDelta */
            iadd
            i2d
            ldc 1.5
            dmul
            d2i
            istore 2 /* newSize */
         2: .line 86
      StackMap locals: int
      StackMap stack:
            iload 2 /* newSize */
            anewarray org.jruby.ast.Node
            astore 3 /* newList */
        start local 3 // org.jruby.ast.Node[] newList
         3: .line 87
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.list:[Lorg/jruby/ast/Node;
            iconst_0
            aload 3 /* newList */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.size:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 88
            aload 0 /* this */
            aload 3 /* newList */
            dup_x1
            putfield org.jruby.ast.ListNode.list:[Lorg/jruby/ast/Node;
            areturn
        end local 3 // org.jruby.ast.Node[] newList
        end local 2 // int newSize
        end local 1 // int mustBeDelta
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/jruby/ast/ListNode;
            0    5     1  mustBeDelta  I
            1    5     2      newSize  I
            3    5     3      newList  [Lorg/jruby/ast/Node;
    MethodParameters:
             Name  Flags
      mustBeDelta  

  protected void addInternal(org.jruby.ast.Node);
    descriptor: (Lorg/jruby/ast/Node;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.ast.ListNode this
        start local 1 // org.jruby.ast.Node node
         0: .line 92
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.single:Lorg/jruby/ast/Node;
            astore 2 /* single */
        start local 2 // org.jruby.ast.Node single
         1: .line 94
            aload 2 /* single */
            ifnull 4
         2: .line 95
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.single:Lorg/jruby/ast/Node;
            aload 1 /* node */
            invokevirtual org.jruby.ast.ListNode.addToSingle:(Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;)V
         3: .line 96
            return
         4: .line 99
      StackMap locals: org.jruby.ast.Node
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.size:I
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.list:[Lorg/jruby/ast/Node;
            arraylength
            if_icmplt 5
            aload 0 /* this */
            iconst_1
            invokevirtual org.jruby.ast.ListNode.growList:(I)[Lorg/jruby/ast/Node;
            pop
         5: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.list:[Lorg/jruby/ast/Node;
            aload 0 /* this */
            dup
            getfield org.jruby.ast.ListNode.size:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.ast.ListNode.size:I
            aload 1 /* node */
            aastore
         6: .line 102
            return
        end local 2 // org.jruby.ast.Node single
        end local 1 // org.jruby.ast.Node node
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/jruby/ast/ListNode;
            0    7     1    node  Lorg/jruby/ast/Node;
            1    7     2  single  Lorg/jruby/ast/Node;
    MethodParameters:
      Name  Flags
      node  

  protected void addAllInternal(org.jruby.ast.ListNode);
    descriptor: (Lorg/jruby/ast/ListNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.jruby.ast.ListNode this
        start local 1 // org.jruby.ast.ListNode other
         0: .line 105
            aload 1 /* other */
            getfield org.jruby.ast.ListNode.size:I
            ifne 1
            return
         1: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.single:Lorg/jruby/ast/Node;
            astore 3 /* single */
        start local 3 // org.jruby.ast.Node single
         2: .line 111
            aload 3 /* single */
            ifnull 5
         3: .line 112
            aload 0 /* this */
            aload 3 /* single */
            invokevirtual org.jruby.ast.ListNode.arrayifySingle:(Lorg/jruby/ast/Node;)[Lorg/jruby/ast/Node;
            astore 2 /* list */
        start local 2 // org.jruby.ast.Node[] list
         4: .line 113
            goto 6
        end local 2 // org.jruby.ast.Node[] list
         5: .line 114
      StackMap locals: org.jruby.ast.ListNode org.jruby.ast.ListNode top org.jruby.ast.Node
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.list:[Lorg/jruby/ast/Node;
            astore 2 /* list */
        start local 2 // org.jruby.ast.Node[] list
         6: .line 117
      StackMap locals: org.jruby.ast.ListNode org.jruby.ast.ListNode org.jruby.ast.Node[] org.jruby.ast.Node
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.size:I
            aload 1 /* other */
            invokevirtual org.jruby.ast.ListNode.size:()I
            iadd
            aload 2 /* list */
            arraylength
            if_icmplt 7
            aload 0 /* this */
            aload 1 /* other */
            getfield org.jruby.ast.ListNode.size:I
            invokevirtual org.jruby.ast.ListNode.growList:(I)[Lorg/jruby/ast/Node;
            astore 2 /* list */
         7: .line 119
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            getfield org.jruby.ast.ListNode.single:Lorg/jruby/ast/Node;
            astore 4 /* otherSingle */
        start local 4 // org.jruby.ast.Node otherSingle
         8: .line 121
            aload 4 /* otherSingle */
            ifnull 11
         9: .line 122
            aload 2 /* list */
            aload 0 /* this */
            dup
            getfield org.jruby.ast.ListNode.size:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.ast.ListNode.size:I
            aload 4 /* otherSingle */
            aastore
        10: .line 123
            return
        11: .line 126
      StackMap locals: org.jruby.ast.Node
      StackMap stack:
            aload 1 /* other */
            getfield org.jruby.ast.ListNode.list:[Lorg/jruby/ast/Node;
            iconst_0
            aload 2 /* list */
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.size:I
            aload 1 /* other */
            getfield org.jruby.ast.ListNode.size:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        12: .line 128
            aload 0 /* this */
            dup
            getfield org.jruby.ast.ListNode.size:I
            aload 1 /* other */
            getfield org.jruby.ast.ListNode.size:I
            iadd
            putfield org.jruby.ast.ListNode.size:I
        13: .line 129
            return
        end local 4 // org.jruby.ast.Node otherSingle
        end local 3 // org.jruby.ast.Node single
        end local 2 // org.jruby.ast.Node[] list
        end local 1 // org.jruby.ast.ListNode other
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lorg/jruby/ast/ListNode;
            0   14     1        other  Lorg/jruby/ast/ListNode;
            4    5     2         list  [Lorg/jruby/ast/Node;
            6   14     2         list  [Lorg/jruby/ast/Node;
            2   14     3       single  Lorg/jruby/ast/Node;
            8   14     4  otherSingle  Lorg/jruby/ast/Node;
    MethodParameters:
       Name  Flags
      other  

  private void addToSingle(org.jruby.ast.Node, org.jruby.ast.Node);
    descriptor: (Lorg/jruby/ast/Node;Lorg/jruby/ast/Node;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.ast.ListNode this
        start local 1 // org.jruby.ast.Node single
        start local 2 // org.jruby.ast.Node node
         0: .line 132
            aload 0 /* this */
            aload 1 /* single */
            invokevirtual org.jruby.ast.ListNode.arrayifySingle:(Lorg/jruby/ast/Node;)[Lorg/jruby/ast/Node;
            aload 0 /* this */
            dup
            getfield org.jruby.ast.ListNode.size:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.ast.ListNode.size:I
            aload 2 /* node */
            aastore
         1: .line 133
            return
        end local 2 // org.jruby.ast.Node node
        end local 1 // org.jruby.ast.Node single
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jruby/ast/ListNode;
            0    2     1  single  Lorg/jruby/ast/Node;
            0    2     2    node  Lorg/jruby/ast/Node;
    MethodParameters:
        Name  Flags
      single  
      node    

  private org.jruby.ast.Node[] arrayifySingle(org.jruby.ast.Node);
    descriptor: (Lorg/jruby/ast/Node;)[Lorg/jruby/ast/Node;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.ast.ListNode this
        start local 1 // org.jruby.ast.Node single
         0: .line 136
            iconst_4
            anewarray org.jruby.ast.Node
            astore 2 /* list */
        start local 2 // org.jruby.ast.Node[] list
         1: .line 137
            aload 2 /* list */
            iconst_0
            aload 1 /* single */
            aastore
         2: .line 139
            aload 0 /* this */
            aload 2 /* list */
            putfield org.jruby.ast.ListNode.list:[Lorg/jruby/ast/Node;
         3: .line 140
            aload 0 /* this */
            aconst_null
            putfield org.jruby.ast.ListNode.single:Lorg/jruby/ast/Node;
         4: .line 142
            aload 2 /* list */
            areturn
        end local 2 // org.jruby.ast.Node[] list
        end local 1 // org.jruby.ast.Node single
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/jruby/ast/ListNode;
            0    5     1  single  Lorg/jruby/ast/Node;
            1    5     2    list  [Lorg/jruby/ast/Node;
    MethodParameters:
        Name  Flags
      single  

  public org.jruby.ast.ListNode add(org.jruby.ast.Node);
    descriptor: (Lorg/jruby/ast/Node;)Lorg/jruby/ast/ListNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ast.ListNode this
        start local 1 // org.jruby.ast.Node node
         0: .line 147
            aload 1 /* node */
            ifnull 1
            aload 1 /* node */
            getstatic org.jruby.ast.NilImplicitNode.NIL:Lorg/jruby/ast/NilImplicitNode;
            if_acmpne 3
         1: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.jruby.ast.NilImplicitNode.NIL:Lorg/jruby/ast/NilImplicitNode;
            invokevirtual org.jruby.ast.ListNode.addInternal:(Lorg/jruby/ast/Node;)V
         2: .line 150
            aload 0 /* this */
            areturn
         3: .line 153
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.jruby.ast.Node.containsVariableAssignment:()Z
            ifeq 4
            aload 0 /* this */
            iconst_1
            putfield org.jruby.ast.ListNode.containsVariableAssignment:Z
         4: .line 154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.jruby.ast.ListNode.addInternal:(Lorg/jruby/ast/Node;)V
         5: .line 156
            aload 0 /* this */
            invokevirtual org.jruby.ast.ListNode.getPosition:()Lorg/jruby/lexer/yacc/ISourcePosition;
            ifnonnull 6
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.jruby.ast.Node.getPosition:()Lorg/jruby/lexer/yacc/ISourcePosition;
            invokevirtual org.jruby.ast.ListNode.setPosition:(Lorg/jruby/lexer/yacc/ISourcePosition;)V
         6: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.ast.Node node
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/ast/ListNode;
            0    7     1  node  Lorg/jruby/ast/Node;
    MethodParameters:
      Name  Flags
      node  

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ast.ListNode this
         0: .line 162
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.size:I
            ireturn
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ast/ListNode;

  public org.jruby.ast.ListNode addAll(org.jruby.ast.ListNode);
    descriptor: (Lorg/jruby/ast/ListNode;)Lorg/jruby/ast/ListNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ast.ListNode this
        start local 1 // org.jruby.ast.ListNode other
         0: .line 173
            aload 1 /* other */
            ifnull 4
            aload 1 /* other */
            invokevirtual org.jruby.ast.ListNode.size:()I
            ifle 4
         1: .line 174
            aload 1 /* other */
            invokevirtual org.jruby.ast.ListNode.containsVariableAssignment:()Z
            ifeq 2
            aload 0 /* this */
            iconst_1
            putfield org.jruby.ast.ListNode.containsVariableAssignment:Z
         2: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual org.jruby.ast.ListNode.addAllInternal:(Lorg/jruby/ast/ListNode;)V
         3: .line 177
            aload 0 /* this */
            invokevirtual org.jruby.ast.ListNode.getPosition:()Lorg/jruby/lexer/yacc/ISourcePosition;
            ifnonnull 4
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual org.jruby.ast.ListNode.getPosition:()Lorg/jruby/lexer/yacc/ISourcePosition;
            invokevirtual org.jruby.ast.ListNode.setPosition:(Lorg/jruby/lexer/yacc/ISourcePosition;)V
         4: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.ast.ListNode other
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/jruby/ast/ListNode;
            0    5     1  other  Lorg/jruby/ast/ListNode;
    MethodParameters:
       Name  Flags
      other  

  public org.jruby.ast.ListNode addAll(org.jruby.ast.Node[], int, int);
    descriptor: ([Lorg/jruby/ast/Node;II)Lorg/jruby/ast/ListNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.jruby.ast.ListNode this
        start local 1 // org.jruby.ast.Node[] other
        start local 2 // int index
        start local 3 // int length
         0: .line 183
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.single:Lorg/jruby/ast/Node;
            astore 4 /* single */
        start local 4 // org.jruby.ast.Node single
         1: .line 185
            aload 4 /* single */
            ifnull 6
         2: .line 186
            aload 0 /* this */
            iload 3 /* length */
            iconst_1
            iadd
            anewarray org.jruby.ast.Node
            putfield org.jruby.ast.ListNode.list:[Lorg/jruby/ast/Node;
         3: .line 187
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.list:[Lorg/jruby/ast/Node;
            iconst_0
            aload 4 /* single */
            aastore
         4: .line 188
            aload 0 /* this */
            aconst_null
            putfield org.jruby.ast.ListNode.single:Lorg/jruby/ast/Node;
         5: .line 189
            aload 1 /* other */
            iload 2 /* index */
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.list:[Lorg/jruby/ast/Node;
            iconst_1
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 192
      StackMap locals: org.jruby.ast.Node
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.size:I
            iload 3 /* length */
            iadd
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.list:[Lorg/jruby/ast/Node;
            arraylength
            if_icmpge 8
         7: .line 193
            aload 0 /* this */
            iload 3 /* length */
            invokevirtual org.jruby.ast.ListNode.growList:(I)[Lorg/jruby/ast/Node;
            pop
         8: .line 196
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         9: goto 12
        10: .line 197
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* other */
            iload 2 /* index */
            iload 5 /* i */
            iadd
            aaload
            invokevirtual org.jruby.ast.ListNode.addInternal:(Lorg/jruby/ast/Node;)V
        11: .line 196
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            iload 3 /* length */
            if_icmplt 10
        end local 5 // int i
        13: .line 200
            aload 0 /* this */
            areturn
        end local 4 // org.jruby.ast.Node single
        end local 3 // int length
        end local 2 // int index
        end local 1 // org.jruby.ast.Node[] other
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/jruby/ast/ListNode;
            0   14     1   other  [Lorg/jruby/ast/Node;
            0   14     2   index  I
            0   14     3  length  I
            1   14     4  single  Lorg/jruby/ast/Node;
            9   13     5       i  I
    MethodParameters:
        Name  Flags
      other   
      index   
      length  

  public org.jruby.ast.ListNode addAll(org.jruby.ast.Node);
    descriptor: (Lorg/jruby/ast/Node;)Lorg/jruby/ast/ListNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ast.ListNode this
        start local 1 // org.jruby.ast.Node other
         0: .line 210
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual org.jruby.ast.ListNode.add:(Lorg/jruby/ast/Node;)Lorg/jruby/ast/ListNode;
            areturn
        end local 1 // org.jruby.ast.Node other
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/ast/ListNode;
            0    1     1  other  Lorg/jruby/ast/Node;
    MethodParameters:
       Name  Flags
      other  

  public org.jruby.ast.Node getLast();
    descriptor: ()Lorg/jruby/ast/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.jruby.ast.ListNode this
         0: .line 214
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.size:I
            istore 1 /* size */
        start local 1 // int size
         1: .line 216
            iload 1 /* size */
            ifne 2
            aconst_null
            areturn
         2: .line 218
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* size */
            iconst_1
            isub
            invokevirtual org.jruby.ast.ListNode.get:(I)Lorg/jruby/ast/Node;
            areturn
        end local 1 // int size
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/ast/ListNode;
            1    3     1  size  I

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ast.ListNode this
         0: .line 222
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.size:I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ast/ListNode;

  public org.jruby.ast.Node[] children();
    descriptor: ()[Lorg/jruby/ast/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.jruby.ast.ListNode this
         0: .line 226
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.single:Lorg/jruby/ast/Node;
            astore 1 /* single */
        start local 1 // org.jruby.ast.Node single
         1: .line 228
            aload 1 /* single */
            ifnull 2
            iconst_1
            anewarray org.jruby.ast.Node
            dup
            iconst_0
            aload 1 /* single */
            aastore
            areturn
         2: .line 230
      StackMap locals: org.jruby.ast.Node
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.size:I
            anewarray org.jruby.ast.Node
            astore 2 /* properList */
        start local 2 // org.jruby.ast.Node[] properList
         3: .line 231
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.list:[Lorg/jruby/ast/Node;
            iconst_0
            aload 2 /* properList */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.size:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 232
            aload 2 /* properList */
            areturn
        end local 2 // org.jruby.ast.Node[] properList
        end local 1 // org.jruby.ast.Node single
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/jruby/ast/ListNode;
            1    5     1      single  Lorg/jruby/ast/Node;
            3    5     2  properList  [Lorg/jruby/ast/Node;

  public java.util.List<org.jruby.ast.Node> childNodes();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.jruby.ast.ListNode this
         0: .line 237
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.single:Lorg/jruby/ast/Node;
            astore 1 /* single */
        start local 1 // org.jruby.ast.Node single
         1: .line 239
            aload 1 /* single */
            ifnull 2
            aload 1 /* single */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            areturn
         2: .line 241
      StackMap locals: org.jruby.ast.Node
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ast.ListNode.children:()[Lorg/jruby/ast/Node;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 1 // org.jruby.ast.Node single
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jruby/ast/ListNode;
            1    3     1  single  Lorg/jruby/ast/Node;
    Signature: ()Ljava/util/List<Lorg/jruby/ast/Node;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public <T> T accept(org.jruby.ast.visitor.NodeVisitor<T>);
    descriptor: (Lorg/jruby/ast/visitor/NodeVisitor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.ast.ListNode this
        start local 1 // org.jruby.ast.visitor.NodeVisitor visitor
         0: .line 245
            aload 1 /* visitor */
            aload 0 /* this */
            invokeinterface org.jruby.ast.visitor.NodeVisitor.visitListNode:(Lorg/jruby/ast/ListNode;)Ljava/lang/Object;
            areturn
        end local 1 // org.jruby.ast.visitor.NodeVisitor visitor
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/ast/ListNode;
            0    1     1  visitor  Lorg/jruby/ast/visitor/NodeVisitor<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/jruby/ast/visitor/NodeVisitor<TT;>;)TT;
    MethodParameters:
         Name  Flags
      visitor  

  public org.jruby.ast.Node get(int);
    descriptor: (I)Lorg/jruby/ast/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.ast.ListNode this
        start local 1 // int idx
         0: .line 249
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.single:Lorg/jruby/ast/Node;
            astore 2 /* single */
        start local 2 // org.jruby.ast.Node single
         1: .line 251
            iload 1 /* idx */
            ifne 2
            aload 2 /* single */
            ifnull 2
            aload 2 /* single */
            areturn
         2: .line 253
      StackMap locals: org.jruby.ast.Node
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ast.ListNode.list:[Lorg/jruby/ast/Node;
            iload 1 /* idx */
            aaload
            areturn
        end local 2 // org.jruby.ast.Node single
        end local 1 // int idx
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jruby/ast/ListNode;
            0    3     1     idx  I
            1    3     2  single  Lorg/jruby/ast/Node;
    MethodParameters:
      Name  Flags
      idx   

  public java.util.Iterator<org.jruby.ast.Node> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.ast.ListNode this
         0: .line 258
            new org.jruby.ast.ListNode$1
            dup
            aload 0 /* this */
            invokespecial org.jruby.ast.ListNode$1.<init>:(Lorg/jruby/ast/ListNode;)V
            areturn
        end local 0 // org.jruby.ast.ListNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ast/ListNode;
    Signature: ()Ljava/util/Iterator<Lorg/jruby/ast/Node;>;
}
Signature: Lorg/jruby/ast/Node;Ljava/lang/Iterable<Lorg/jruby/ast/Node;>;
SourceFile: "ListNode.java"
NestMembers:
  org.jruby.ast.ListNode$1
InnerClasses:
  org.jruby.ast.ListNode$1