class com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode extends com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BlockNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode
super_class: com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BlockNode
{
private final java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>> resolvedTags;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
void <init>(com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode[], java.util.List<java.lang.String>);
descriptor: ([Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;Ljava/util/List;)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BlockNode.<init>:([Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;)V
1: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode.resolvedTags:Ljava/util/Set;
2: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 18
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode[] java.util.List top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 4: aload 3
dup
astore 5
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 4
-1310359912: 5
2521314: 6
701446479: 7
1948626655: 8
default: 17
}
StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode[] java.util.List java.lang.String java.util.Iterator java.lang.String
StackMap stack:
5: aload 5
ldc "EXPRESSION"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
goto 17
StackMap locals:
StackMap stack:
6: aload 5
ldc "ROOT"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
goto 17
StackMap locals:
StackMap stack:
7: aload 5
ldc "STATEMENT"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
goto 17
StackMap locals:
StackMap stack:
8: aload 5
ldc "ROOT_BODY"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 15
goto 17
9: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode.resolvedTags:Ljava/util/Set;
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$ExpressionTag;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
10: goto 18
11: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode.resolvedTags:Ljava/util/Set;
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
12: goto 18
13: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode.resolvedTags:Ljava/util/Set;
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$RootTag;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
14: goto 18
15: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode.resolvedTags:Ljava/util/Set;
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$RootBodyTag;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
16: goto 18
17: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid tag "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 3 18: StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode[] java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
19: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$MultipleNode;
0 20 1 children [Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
0 20 2 tags Ljava/util/List<Ljava/lang/String;>;
4 18 3 tag Ljava/lang/String;
Signature: ([Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
children
tags
void <init>(com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode[], java.util.Collection<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
descriptor: ([Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;Ljava/util/Collection;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BlockNode.<init>:([Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;)V
1: aload 0
new java.util.HashSet
dup
aload 2
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
putfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode.resolvedTags:Ljava/util/Set;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$MultipleNode;
0 3 1 children [Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
0 3 2 tags Ljava/util/Collection<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
Signature: ([Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;Ljava/util/Collection<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)V
MethodParameters:
Name Flags
children
tags
public boolean hasTag(java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode.resolvedTags:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$MultipleNode;
0 1 1 tag Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
Signature: (Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;)Z
MethodParameters:
Name Flags
tag
protected com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode copyUninitialized(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode
dup
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode.children:[Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
aload 1
invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode.cloneUninitialized:([Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;Ljava/util/Set;)[Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode.resolvedTags:Ljava/util/Set;
invokespecial com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode.<init>:([Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;Ljava/util/Collection;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$MultipleNode;
0 1 1 materializedTags Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/api/instrumentation/test/InstrumentationTestLanguage$BaseNode;
MethodParameters:
Name Flags
materializedTags
}
SourceFile: "InstrumentationTestLanguage.java"
NestHost: com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage
InnerClasses:
public final ExpressionTag = com.oracle.truffle.api.instrumentation.StandardTags$ExpressionTag of com.oracle.truffle.api.instrumentation.StandardTags
public final RootBodyTag = com.oracle.truffle.api.instrumentation.StandardTags$RootBodyTag of com.oracle.truffle.api.instrumentation.StandardTags
public final RootTag = com.oracle.truffle.api.instrumentation.StandardTags$RootTag of com.oracle.truffle.api.instrumentation.StandardTags
public final StatementTag = com.oracle.truffle.api.instrumentation.StandardTags$StatementTag of com.oracle.truffle.api.instrumentation.StandardTags
public abstract BaseNode = com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BaseNode of com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage
BlockNode = com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$BlockNode of com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage
MultipleNode = com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage$MultipleNode of com.oracle.truffle.api.instrumentation.test.InstrumentationTestLanguage