class com.oracle.truffle.api.test.nodes.BlockNodeTest$TestBlockElement extends com.oracle.truffle.api.nodes.Node
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.test.nodes.BlockNodeTest$TestBlockElement
super_class: com.oracle.truffle.api.nodes.Node
{
final int index;
descriptor: I
flags: (0x0010) ACC_FINAL
final int[] counts;
descriptor: [I
flags: (0x0010) ACC_FINAL
int allCounts;
descriptor: I
flags: (0x0000)
com.oracle.truffle.api.test.nodes.BlockNodeTest$TestException exception;
descriptor: Lcom/oracle/truffle/api/test/nodes/BlockNodeTest$TestException;
flags: (0x0000)
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
void <init>(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // com.oracle.truffle.api.test.nodes.BlockNodeTest$TestBlockElement this
start local 1 // int index
0: .line 602
aload 0 /* this */
invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
1: .line 596
aload 0 /* this */
invokestatic com.oracle.truffle.api.test.nodes.BlockNodeTest$Mode.values:()[Lcom/oracle/truffle/api/test/nodes/BlockNodeTest$Mode;
arraylength
newarray 10
putfield com.oracle.truffle.api.test.nodes.BlockNodeTest$TestBlockElement.counts:[I
2: .line 598
aload 0 /* this */
iconst_0
putfield com.oracle.truffle.api.test.nodes.BlockNodeTest$TestBlockElement.allCounts:I
3: .line 603
aload 0 /* this */
iload 1 /* index */
putfield com.oracle.truffle.api.test.nodes.BlockNodeTest$TestBlockElement.index:I
4: .line 604
return
end local 1 // int index
end local 0 // com.oracle.truffle.api.test.nodes.BlockNodeTest$TestBlockElement this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/test/nodes/BlockNodeTest$TestBlockElement;
0 5 1 index I
MethodParameters:
Name Flags
index
<T> T execute(com.oracle.truffle.api.test.nodes.BlockNodeTest$Mode, java.lang.Class<T>);
descriptor: (Lcom/oracle/truffle/api/test/nodes/BlockNodeTest$Mode;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 // com.oracle.truffle.api.test.nodes.BlockNodeTest$TestBlockElement this
start local 1 // com.oracle.truffle.api.test.nodes.BlockNodeTest$Mode mode
start local 2 // java.lang.Class type
0: .line 607
aload 0 /* this */
getfield com.oracle.truffle.api.test.nodes.BlockNodeTest$TestBlockElement.counts:[I
aload 1 /* mode */
invokevirtual com.oracle.truffle.api.test.nodes.BlockNodeTest$Mode.ordinal:()I
dup2
iaload
iconst_1
iadd
iastore
1: .line 608
aload 0 /* this */
dup
getfield com.oracle.truffle.api.test.nodes.BlockNodeTest$TestBlockElement.allCounts:I
iconst_1
iadd
putfield com.oracle.truffle.api.test.nodes.BlockNodeTest$TestBlockElement.allCounts:I
2: .line 609
aload 0 /* this */
getfield com.oracle.truffle.api.test.nodes.BlockNodeTest$TestBlockElement.exception:Lcom/oracle/truffle/api/test/nodes/BlockNodeTest$TestException;
ifnull 4
3: .line 610
aload 0 /* this */
getfield com.oracle.truffle.api.test.nodes.BlockNodeTest$TestBlockElement.exception:Lcom/oracle/truffle/api/test/nodes/BlockNodeTest$TestException;
athrow
4: .line 612
StackMap locals:
StackMap stack:
aload 2 /* type */
aload 1 /* mode */
aload 0 /* this */
getfield com.oracle.truffle.api.test.nodes.BlockNodeTest$TestBlockElement.index:I
invokevirtual com.oracle.truffle.api.test.nodes.BlockNodeTest$Mode.getResult:(I)Ljava/lang/Object;
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 // java.lang.Class type
end local 1 // com.oracle.truffle.api.test.nodes.BlockNodeTest$Mode mode
end local 0 // com.oracle.truffle.api.test.nodes.BlockNodeTest$TestBlockElement this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/test/nodes/BlockNodeTest$TestBlockElement;
0 5 1 mode Lcom/oracle/truffle/api/test/nodes/BlockNodeTest$Mode;
0 5 2 type Ljava/lang/Class<TT;>;
Signature: <T:Ljava/lang/Object;>(Lcom/oracle/truffle/api/test/nodes/BlockNodeTest$Mode;Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
mode
type
}
SourceFile: "BlockNodeTest.java"
NestHost: com.oracle.truffle.api.test.nodes.BlockNodeTest
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
final Mode = com.oracle.truffle.api.test.nodes.BlockNodeTest$Mode of com.oracle.truffle.api.test.nodes.BlockNodeTest
TestBlockElement = com.oracle.truffle.api.test.nodes.BlockNodeTest$TestBlockElement of com.oracle.truffle.api.test.nodes.BlockNodeTest
TestException = com.oracle.truffle.api.test.nodes.BlockNodeTest$TestException of com.oracle.truffle.api.test.nodes.BlockNodeTest