class com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$1 extends com.oracle.truffle.api.test.polyglot.ProxyLanguage
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$1
super_class: com.oracle.truffle.api.test.polyglot.ProxyLanguage
{
private final java.util.List<com.oracle.truffle.api.CallTarget> targets;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/oracle/truffle/api/CallTarget;>;
final com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest this$0;
descriptor: Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest);
descriptor: (Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$1.this$0:Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest;
aload 0
invokespecial com.oracle.truffle.api.test.polyglot.ProxyLanguage.<init>:()V
1: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$1.targets:Ljava/util/List;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$1;
MethodParameters:
Name Flags
this$0 final
com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode[] parseNodes(java.lang.String, com.oracle.truffle.api.source.Source);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/source/Source;)[Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
flags: (0x0000)
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 2: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 21
5: StackMap locals: com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$1 java.lang.String com.oracle.truffle.api.source.Source int java.util.List java.lang.StringBuilder int
StackMap stack:
aload 1
iload 6
invokevirtual java.lang.String.charAt:(I)C
lookupswitch { // 7
9: 6
10: 6
13: 6
32: 6
40: 13
41: 16
44: 7
default: 19
}
6: StackMap locals:
StackMap stack:
goto 20
7: StackMap locals:
StackMap stack:
iload 3
ifne 11
8: aload 4
aload 0
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$1.parseNode:(Ljava/lang/String;Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: aload 5
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
10: goto 20
11: StackMap locals:
StackMap stack:
aload 5
aload 1
iload 6
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
12: goto 20
13: StackMap locals:
StackMap stack:
iinc 3 1
14: aload 5
aload 1
iload 6
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
15: goto 20
16: StackMap locals:
StackMap stack:
iinc 3 -1
17: aload 5
aload 1
iload 6
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
18: goto 20
19: StackMap locals:
StackMap stack:
aload 5
aload 1
iload 6
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
20: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
21: iload 6
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 5
end local 6 22: iload 3
ifeq 24
23: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Mismatched parentheses for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "!"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.StringBuilder.length:()I
ifle 26
25: aload 4
aload 0
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$1.parseNode:(Ljava/lang/String;Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
26: StackMap locals:
StackMap stack:
aload 4
iconst_0
anewarray com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode[]
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$1;
0 27 1 code Ljava/lang/String;
0 27 2 completeSource Lcom/oracle/truffle/api/source/Source;
1 27 3 depth I
2 27 4 ret Ljava/util/List<Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;>;
3 27 5 current Ljava/lang/StringBuilder;
4 22 6 i I
MethodParameters:
Name Flags
code
completeSource
com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode parseNode(java.lang.String, com.oracle.truffle.api.source.Source);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
flags: (0x0000)
Code:
stack=9, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest.NODE_PATTERN:Ljava/util/regex/Pattern;
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 3
start local 3 1: aload 3
invokevirtual java.util.regex.Matcher.find:()Z
ifne 3
2: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Node "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " cannot be parsed!"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.util.regex.Matcher
StackMap stack:
new com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode
dup
aload 0
getfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$1.languageInstance:Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
aload 2
aload 3
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
aload 3
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
4: aload 0
aload 3
iconst_3
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$1.parseNodes:(Ljava/lang/String;Lcom/oracle/truffle/api/source/Source;)[Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;
5: invokespecial com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode.<init>:(Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;Lcom/oracle/truffle/api/source/Source;II[Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$CustomMaterializeNode;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$1;
0 6 1 code Ljava/lang/String;
0 6 2 completeSource Lcom/oracle/truffle/api/source/Source;
1 6 3 matcher Ljava/util/regex/Matcher;
MethodParameters:
Name Flags
code
completeSource
protected com.oracle.truffle.api.CallTarget parse(com.oracle.truffle.api.TruffleLanguage$ParsingRequest);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$ParsingRequest;)Lcom/oracle/truffle/api/CallTarget;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$ParsingRequest.getSource:()Lcom/oracle/truffle/api/source/Source;
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 3
start local 3 2: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
new com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$1$1
dup
aload 0
aload 0
getfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$1.languageInstance:Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
aload 3
aload 2
invokespecial com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$1$1.<init>:(Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$1;Lcom/oracle/truffle/api/TruffleLanguage;Ljava/lang/String;Lcom/oracle/truffle/api/source/Source;)V
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 4
start local 4 3: aload 0
getfield com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$1.targets:Ljava/util/List;
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/instrumentation/test/MaterializationAssertionsViolationTest$1;
0 5 1 request Lcom/oracle/truffle/api/TruffleLanguage$ParsingRequest;
1 5 2 source Lcom/oracle/truffle/api/source/Source;
2 5 3 code Ljava/lang/String;
3 5 4 target Lcom/oracle/truffle/api/CallTarget;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
request
}
SourceFile: "MaterializationAssertionsViolationTest.java"
EnclosingMethod: com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest.setup:()V
NestHost: com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest
InnerClasses:
public final ParsingRequest = com.oracle.truffle.api.TruffleLanguage$ParsingRequest of com.oracle.truffle.api.TruffleLanguage
com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$1
com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$1$1
CustomMaterializeNode = com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest$CustomMaterializeNode of com.oracle.truffle.api.instrumentation.test.MaterializationAssertionsViolationTest