final class com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser implements java.util.function.Consumer<java.lang.String>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser
super_class: java.lang.Object
{
private static final java.lang.String ;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "#"
private static final java.lang.String KEYWORD_BREAK;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "BREAK"
private static final java.lang.String KEYWORD_END;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "END"
private static final java.lang.String KEYWORD_FAILURE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "FAILURE"
private final java.util.LinkedList<java.lang.String> buffer;
descriptor: Ljava/util/LinkedList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/LinkedList<Ljava/lang/String;>;
private com.oracle.truffle.llvm.tests.debug.StopRequest request;
descriptor: Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.String, java.lang.String> map;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
final com.oracle.truffle.llvm.tests.debug.TestExpressions this$0;
descriptor: Lcom/oracle/truffle/llvm/tests/debug/TestExpressions;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(com.oracle.truffle.llvm.tests.debug.TestExpressions);
descriptor: (Lcom/oracle/truffle/llvm/tests/debug/TestExpressions;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.this$0:Lcom/oracle/truffle/llvm/tests/debug/TestExpressions;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.buffer:Ljava/util/LinkedList;
2: aload 0
aconst_null
putfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.request:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
3: aload 0
aconst_null
putfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.map:Ljava/util/Map;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/tests/debug/TestExpressions$Parser;
MethodParameters:
Name Flags
this$0 final
public void accept(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.split:(Ljava/lang/String;)V
1: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.nextToken:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
dup
astore 3
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 4
-368591510: 3
35: 4
68795: 5
63463647: 6
default: 19
}
StackMap locals: java.lang.String java.lang.String
StackMap stack:
3: aload 3
ldc "FAILURE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
goto 19
StackMap locals:
StackMap stack:
4: aload 3
ldc "#"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
goto 19
StackMap locals:
StackMap stack:
5: aload 3
ldc "END"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
goto 19
StackMap locals:
StackMap stack:
6: aload 3
ldc "BREAK"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 7
goto 19
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.parseNewBreak:()V
8: goto 30
9: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.map:Ljava/util/Map;
ifnonnull 12
10: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.error:()V
11: goto 30
12: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.this$0:Lcom/oracle/truffle/llvm/tests/debug/TestExpressions;
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions.stopReqExpressionMap:Ljava/util/Map;
aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.request:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.map:Ljava/util/Map;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: aload 0
aconst_null
putfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.map:Ljava/util/Map;
14: goto 30
15: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.buffer:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.clear:()V
16: return
17: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.this$0:Lcom/oracle/truffle/llvm/tests/debug/TestExpressions;
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions.stopReqAllowFailure:Ljava/util/Map;
aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.request:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
new java.lang.Boolean
dup
iconst_1
invokespecial java.lang.Boolean.<init>:(Z)V
invokeinterface java.util.Map.replace:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: goto 30
19: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.trim:()Ljava/lang/String;
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
ldc "\""
iconst_4
invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
astore 4
start local 4 20: aload 4
iconst_0
aaload
invokevirtual java.lang.String.length:()I
ifgt 22
21: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.error:()V
22: StackMap locals: java.lang.String[]
StackMap stack:
aload 4
iconst_2
aaload
invokevirtual java.lang.String.length:()I
ifgt 24
23: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.error:()V
24: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.map:Ljava/util/Map;
aload 4
iconst_0
aaload
aload 4
iconst_2
aaload
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
25: aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.buffer:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.clear:()V
26: goto 30
StackMap locals:
StackMap stack: java.lang.ArrayIndexOutOfBoundsException
27: pop
28: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "ARRAYINDEX_OUT_OF_BOUNDS_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
29: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.error:()V
end local 4 30: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.buffer:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifne 32
31: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.error:()V
32: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/oracle/truffle/llvm/tests/debug/TestExpressions$Parser;
0 33 1 line Ljava/lang/String;
2 33 2 token Ljava/lang/String;
20 30 4 lines [Ljava/lang/String;
Exception table:
from to target type
20 26 27 Class java.lang.ArrayIndexOutOfBoundsException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
line
private void parseNewBreak();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.map:Ljava/util/Map;
ifnull 2
1: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.error:()V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.nextToken:()Ljava/lang/String;
astore 1
start local 1 3: iconst_m1
istore 2
start local 2 4: aload 1
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 2
5: goto 8
StackMap locals: com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser java.lang.String int
StackMap stack: java.lang.NumberFormatException
6: astore 3
start local 3 7: aload 0
aload 3
invokevirtual com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.error:(Ljava/lang/Throwable;)V
end local 3 8: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.request:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
ifnull 10
iload 2
aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.request:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
invokevirtual com.oracle.truffle.llvm.tests.debug.StopRequest.getLine:()I
if_icmpne 10
9: new java.lang.AssertionError
dup
ldc "Invalid trace: Subsequent breaks on line: %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.nextToken:()Ljava/lang/String;
ldc "CONTINUE"
invokevirtual java.lang.String.contentEquals:(Ljava/lang/CharSequence;)Z
ifne 12
11: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.error:()V
12: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.nextToken:()Ljava/lang/String;
astore 3
start local 3 13: aload 0
new com.oracle.truffle.llvm.tests.debug.StopRequest
dup
getstatic com.oracle.truffle.llvm.tests.debug.ContinueStrategy.CONTINUE:Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;
aload 3
iload 2
iconst_1
invokespecial com.oracle.truffle.llvm.tests.debug.StopRequest.<init>:(Lcom/oracle/truffle/llvm/tests/debug/ContinueStrategy;Ljava/lang/String;IZ)V
putfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.request:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
14: aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.this$0:Lcom/oracle/truffle/llvm/tests/debug/TestExpressions;
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions.stops:Ljava/util/List;
aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.request:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.this$0:Lcom/oracle/truffle/llvm/tests/debug/TestExpressions;
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions.stopReqAllowFailure:Ljava/util/Map;
aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.request:Lcom/oracle/truffle/llvm/tests/debug/StopRequest;
new java.lang.Boolean
dup
iconst_0
invokespecial java.lang.Boolean.<init>:(Z)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.map:Ljava/util/Map;
17: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/llvm/tests/debug/TestExpressions$Parser;
3 18 1 lineStr Ljava/lang/String;
4 18 2 line I
7 8 3 nfe Ljava/lang/NumberFormatException;
13 18 3 functionName Ljava/lang/String;
Exception table:
from to target type
4 5 6 Class java.lang.NumberFormatException
private java.lang.String nextToken();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.buffer:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.pollFirst:()Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: java.lang.String
StackMap stack:
new java.lang.AssertionError
dup
ldc "Invalid TestExpressions!"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/tests/debug/TestExpressions$Parser;
1 4 1 token Ljava/lang/String;
private void split(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 19
3: StackMap locals: java.lang.String int
StackMap stack:
aload 2
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 4: iload 5
bipush 34
if_icmpne 10
5: iinc 3 1
6: aload 2
bipush 34
iload 3
invokevirtual java.lang.String.indexOf:(II)I
istore 4
start local 4 7: iload 4
iconst_m1
if_icmpne 13
8: aload 0
invokevirtual com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.error:()V
9: goto 13
end local 4 10: StackMap locals: com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser java.lang.String java.lang.String int top int
StackMap stack:
aload 2
bipush 32
iload 3
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 4
start local 4 11: iload 4
iconst_m1
if_icmpne 13
12: aload 2
invokevirtual java.lang.String.length:()I
istore 4
13: StackMap locals: com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser java.lang.String java.lang.String int int int
StackMap stack:
aload 2
iload 3
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 6
start local 6 14: aload 0
getfield com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.buffer:Ljava/util/LinkedList;
aload 6
invokevirtual java.util.LinkedList.addLast:(Ljava/lang/Object;)V
15: iload 4
iconst_1
iadd
istore 3
16: goto 18
17: StackMap locals: java.lang.String
StackMap stack:
iinc 3 1
18: StackMap locals:
StackMap stack:
iload 3
aload 2
invokevirtual java.lang.String.length:()I
if_icmpge 19
aload 2
iload 3
invokevirtual java.lang.String.charAt:(I)C
bipush 32
if_icmpeq 17
end local 6 end local 5 end local 4 19: StackMap locals:
StackMap stack:
iload 3
aload 2
invokevirtual java.lang.String.length:()I
if_icmplt 3
20: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/oracle/truffle/llvm/tests/debug/TestExpressions$Parser;
0 21 1 line Ljava/lang/String;
1 21 2 str Ljava/lang/String;
2 21 3 from I
7 10 4 to I
11 19 4 to I
4 19 5 ch C
14 19 6 nextToken Ljava/lang/String;
MethodParameters:
Name Flags
line
private void error();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.AssertionError
dup
ldc "Invalid TestExpressions!"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/tests/debug/TestExpressions$Parser;
private void error(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.AssertionError
dup
ldc "Invalid TestExpressions!"
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/tests/debug/TestExpressions$Parser;
0 1 1 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
cause
public void accept(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.lang.String
invokevirtual com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser.accept:(Ljava/lang/String;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/util/function/Consumer<Ljava/lang/String;>;
SourceFile: "TestExpressions.java"
NestHost: com.oracle.truffle.llvm.tests.debug.TestExpressions
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
private final Parser = com.oracle.truffle.llvm.tests.debug.TestExpressions$Parser of com.oracle.truffle.llvm.tests.debug.TestExpressions