final class com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser
  super_class: java.lang.Object
{
  private static final char EOF;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 65535

  private final com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage lang;
    descriptor: Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.api.source.Source source;
    descriptor: Lcom/oracle/truffle/api/source/Source;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String code;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  void <init>(com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage, com.oracle.truffle.api.source.Source, int);
    descriptor: (Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage;Lcom/oracle/truffle/api/source/Source;I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser this
        start local 1 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage lang
        start local 2 // com.oracle.truffle.api.source.Source source
        start local 3 // int preMaterialization
         0: .line 148
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 149
            aload 0 /* this */
            aload 1 /* lang */
            putfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.lang:Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage;
         2: .line 150
            aload 0 /* this */
            aload 2 /* source */
            putfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.source:Lcom/oracle/truffle/api/source/Source;
         3: .line 151
            aload 0 /* this */
            iload 3 /* preMaterialization */
            putfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.preMaterialization:I
         4: .line 152
            aload 0 /* this */
            aload 2 /* source */
            invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            putfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.code:Ljava/lang/String;
         5: .line 153
            return
        end local 3 // int preMaterialization
        end local 2 // com.oracle.truffle.api.source.Source source
        end local 1 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage lang
        end local 0 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$Parser;
            0    6     1                lang  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage;
            0    6     2              source  Lcom/oracle/truffle/api/source/Source;
            0    6     3  preMaterialization  I
    MethodParameters:
                    Name  Flags
      lang                
      source              
      preMaterialization  

  public com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestNode parse();
    descriptor: ()Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$TestNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=1
        start local 0 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser this
         0: .line 156
            new com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor
            dup
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.lang:Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage;
            ldc "F"
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.source:Lcom/oracle/truffle/api/source/Source;
            iconst_0
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.source:Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.getLength:()I
            iconst_1
            isub
            invokespecial com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.<init>:(Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage;Ljava/lang/String;Lcom/oracle/truffle/api/source/Source;II)V
            astore 1 /* sourceDescriptor */
        start local 1 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor sourceDescriptor
         1: .line 158
            goto 3
        start local 2 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor nd
         2: .line 159
      StackMap locals: com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor
      StackMap stack:
            aload 1 /* sourceDescriptor */
            aload 2 /* nd */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.addChild:(Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;)V
        end local 2 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor nd
         3: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.nextNode:()Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
            dup
            astore 2 /* nd */
        start local 2 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor nd
         4: ifnonnull 2
         5: .line 161
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.preMaterialization:I
            ifle 7
         6: .line 162
            aload 0 /* this */
            aload 1 /* sourceDescriptor */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.preMaterialize:(Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;)V
         7: .line 164
      StackMap locals: com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor
      StackMap stack:
            aload 1 /* sourceDescriptor */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.getNode:()Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$TestNode;
            areturn
        end local 2 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor nd
        end local 1 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor sourceDescriptor
        end local 0 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$Parser;
            1    8     1  sourceDescriptor  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
            2    3     2                nd  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
            4    8     2                nd  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;

  com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor nextNode();
    descriptor: ()Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
    flags: (0x0000) 
    Code:
      stack=7, locals=8, args_size=1
        start local 0 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser this
         0: .line 168
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.skipWhiteSpace:()V
         1: .line 169
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:I
            istore 1 /* startIndex */
        start local 1 // int startIndex
         2: .line 171
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:()C
            ldc 65535
            if_icmpne 4
         3: .line 172
            aconst_null
            areturn
         4: .line 174
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:()C
            bipush 123
            if_icmpeq 6
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:()C
            bipush 91
            if_icmpeq 6
         5: .line 175
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Expecting '{' or '[' at position "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " character: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:()C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:()C
            bipush 91
            if_icmpne 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 2 /* nodesArray */
        start local 2 // boolean nodesArray
         9: .line 178
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.next:()V
        10: .line 180
            aconst_null
            astore 4 /* ndFirst */
        start local 4 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor ndFirst
        11: .line 181
            aconst_null
            astore 5 /* ndLast */
        start local 5 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor ndLast
        12: .line 182
            iload 2 /* nodesArray */
            ifne 21
        13: .line 183
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* tags */
        start local 6 // java.lang.StringBuilder tags
        14: .line 184
            goto 17
        15: .line 185
      StackMap locals: com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser int int top com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor java.lang.StringBuilder
      StackMap stack:
            aload 6 /* tags */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:()C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 186
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.next:()V
        17: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:()C
            invokestatic java.lang.Character.isAlphabetic:(I)Z
            ifne 15
        18: .line 188
            new com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor
            dup
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.lang:Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage;
            aload 6 /* tags */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.source:Lcom/oracle/truffle/api/source/Source;
            iload 1 /* startIndex */
            iconst_m1
            invokespecial com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.<init>:(Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage;Ljava/lang/String;Lcom/oracle/truffle/api/source/Source;II)V
            dup
            astore 5 /* ndLast */
            astore 4 /* ndFirst */
        19: .line 189
            aload 4 /* ndFirst */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            astore 3 /* descriptors */
        end local 6 // java.lang.StringBuilder tags
        start local 3 // java.util.List descriptors
        20: .line 190
            goto 32
        end local 3 // java.util.List descriptors
        21: .line 191
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* descriptors */
        start local 3 // java.util.List descriptors
        22: .line 192
            goto 31
        23: .line 193
      StackMap locals: com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser int int java.util.List com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor
      StackMap stack:
            new com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor
            dup
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.lang:Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:()C
            invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.source:Lcom/oracle/truffle/api/source/Source;
            iload 1 /* startIndex */
            iconst_m1
            invokespecial com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.<init>:(Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage;Ljava/lang/String;Lcom/oracle/truffle/api/source/Source;II)V
            astore 6 /* d */
        start local 6 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor d
        24: .line 194
            aload 3 /* descriptors */
            aload 6 /* d */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        25: .line 195
            aload 4 /* ndFirst */
            ifnonnull 28
        26: .line 196
            aload 6 /* d */
            astore 4 /* ndFirst */
        27: .line 197
            goto 29
        28: .line 198
      StackMap locals: com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor
      StackMap stack:
            aload 3 /* descriptors */
            aload 3 /* descriptors */
            invokeinterface java.util.List.size:()I
            iconst_2
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor
            aload 6 /* d */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.addChild:(Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;)V
        29: .line 200
      StackMap locals:
      StackMap stack:
            aload 6 /* d */
            astore 5 /* ndLast */
        30: .line 201
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.next:()V
        end local 6 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor d
        31: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:()C
            invokestatic java.lang.Character.isAlphabetic:(I)Z
            ifne 23
        32: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.skipWhiteSpace:()V
        33: .line 205
            goto 37
        34: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.nextNode:()Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
            astore 6 /* child */
        start local 6 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor child
        35: .line 207
            aload 5 /* ndLast */
            aload 6 /* child */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.addChild:(Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;)V
        36: .line 208
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.skipWhiteSpace:()V
        end local 6 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor child
        37: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:()C
            bipush 123
            if_icmpeq 34
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:()C
            bipush 91
            if_icmpeq 34
        38: .line 210
            iload 2 /* nodesArray */
            ifeq 40
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:()C
            bipush 93
            if_icmpeq 40
        39: .line 211
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Expecting ']' at position "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " character: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:()C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        40: .line 213
      StackMap locals:
      StackMap stack:
            iload 2 /* nodesArray */
            ifne 42
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:()C
            bipush 125
            if_icmpeq 42
        41: .line 214
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Expecting '}' at position "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " character: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:()C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        42: .line 216
      StackMap locals:
      StackMap stack:
            aload 3 /* descriptors */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 45
      StackMap locals: com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser int int java.util.List com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor top java.util.Iterator
      StackMap stack:
        43: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor
            astore 6 /* d */
        start local 6 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor d
        44: .line 217
            aload 6 /* d */
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:I
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.setEndPos:(I)V
        end local 6 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor d
        45: .line 216
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 43
        46: .line 219
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.next:()V
        47: .line 220
            aload 4 /* ndFirst */
            areturn
        end local 5 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor ndLast
        end local 4 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor ndFirst
        end local 3 // java.util.List descriptors
        end local 2 // boolean nodesArray
        end local 1 // int startIndex
        end local 0 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   48     0         this  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$Parser;
            2   48     1   startIndex  I
            9   48     2   nodesArray  Z
           20   21     3  descriptors  Ljava/util/List<Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;>;
           22   48     3  descriptors  Ljava/util/List<Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;>;
           11   48     4      ndFirst  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
           12   48     5       ndLast  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
           14   20     6         tags  Ljava/lang/StringBuilder;
           24   31     6            d  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
           35   37     6        child  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
           44   45     6            d  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;

  private void skipWhiteSpace();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser this
         0: .line 224
            goto 2
         1: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.next:()V
         2: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:()C
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifne 1
         3: .line 227
            return
        end local 0 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$Parser;

  private void next();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser this
         0: .line 230
            aload 0 /* this */
            dup
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:I
            iconst_1
            iadd
            putfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:I
         1: .line 231
            return
        end local 0 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$Parser;

  private char current();
    descriptor: ()C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser this
         0: .line 234
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:I
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.code:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmplt 2
         1: .line 235
            ldc 65535
            ireturn
         2: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.code:Ljava/lang/String;
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.current:I
            invokevirtual java.lang.String.charAt:(I)C
            ireturn
        end local 0 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$Parser;

  private void preMaterialize(com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor);
    descriptor: (Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser this
        start local 1 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor nd
         0: .line 241
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.preMaterialization:I
            iconst_1
            if_icmpne 2
         1: .line 242
            aload 1 /* nd */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.getNode:()Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$TestNode;
            pop
         2: .line 244
      StackMap locals:
      StackMap stack:
            aload 1 /* nd */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.children:Ljava/util/List;
            ifnull 7
         3: .line 245
            aload 1 /* nd */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.children:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor
            astore 2 /* ch */
        start local 2 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor ch
         5: .line 246
            aload 0 /* this */
            aload 2 /* ch */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.preMaterialize:(Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;)V
        end local 2 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor ch
         6: .line 245
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 249
      StackMap locals: com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser.preMaterialization:I
            iconst_2
            if_icmpne 9
         8: .line 250
            aload 1 /* nd */
            invokevirtual com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor.getNode:()Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$TestNode;
            pop
         9: .line 252
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor nd
        end local 0 // com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$Parser;
            0   10     1    nd  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
            5    6     2    ch  Lcom/oracle/truffle/api/debug/test/InstrumentablePositionsTestLanguage$NodeDescriptor;
    MethodParameters:
      Name  Flags
      nd    
}
SourceFile: "InstrumentablePositionsTestLanguage.java"
NestHost: com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage
InnerClasses:
  private final NodeDescriptor = com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$NodeDescriptor of com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage
  private final Parser = com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$Parser of com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage
  private abstract TestNode = com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage$TestNode of com.oracle.truffle.api.debug.test.InstrumentablePositionsTestLanguage