public class com.oracle.truffle.sl.test.SLJavaInteropTest$Sum
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.sl.test.SLJavaInteropTest$Sum
super_class: java.lang.Object
{
int sum;
descriptor: I
flags: (0x0000)
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
public com.oracle.truffle.sl.test.SLJavaInteropTest$Sum sum(com.oracle.truffle.sl.test.SLJavaInteropTest$Pair);
descriptor: (Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Pair;)Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.sum:I
aload 1
invokeinterface com.oracle.truffle.sl.test.SLJavaInteropTest$Pair.value:()I
iadd
putfield com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.sum:I
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
0 2 1 p Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Pair;
RuntimeVisibleAnnotations:
org.graalvm.polyglot.HostAccess$Export()
MethodParameters:
Name Flags
p
public void sumArray(java.util.List<com.oracle.truffle.sl.test.SLJavaInteropTest$Pair>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
astore 2
start local 2 1: ldc "Array created"
aload 2
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
2: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: com.oracle.truffle.sl.test.SLJavaInteropTest$Sum java.util.List java.lang.Object[] top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.sl.test.SLJavaInteropTest$Pair
astore 3
start local 3 4: aload 0
aload 3
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.sum:(Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Pair;)Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
pop
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
0 7 1 pairs Ljava/util/List<Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Pair;>;
1 7 2 arr [Ljava/lang/Object;
4 5 3 p Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Pair;
Signature: (Ljava/util/List<Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Pair;>;)V
RuntimeVisibleAnnotations:
org.graalvm.polyglot.HostAccess$Export()
MethodParameters:
Name Flags
pairs
public void sumArrayArray(java.util.List<java.util.List<com.oracle.truffle.sl.test.SLJavaInteropTest$Pair>>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
astore 2
start local 2 1: ldc "Array created"
aload 2
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
2: ldc "Two lists"
ldc 2
aload 2
arraylength
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
3: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: com.oracle.truffle.sl.test.SLJavaInteropTest$Sum java.util.List java.lang.Object[] top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 5: aload 0
aload 3
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.sumArray:(Ljava/util/List;)V
end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
0 8 1 pairs Ljava/util/List<Ljava/util/List<Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Pair;>;>;
1 8 2 arr [Ljava/lang/Object;
5 6 3 list Ljava/util/List<Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Pair;>;
Signature: (Ljava/util/List<Ljava/util/List<Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Pair;>;>;)V
RuntimeVisibleAnnotations:
org.graalvm.polyglot.HostAccess$Export()
MethodParameters:
Name Flags
pairs
public void sumArrayMap(java.util.List<java.util.List<java.util.Map<java.lang.String, java.lang.Integer>>>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
astore 2
start local 2 1: ldc "Array created"
aload 2
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/String;Ljava/lang/Object;)V
2: ldc "Two lists"
ldc 2
aload 2
arraylength
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
3: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: com.oracle.truffle.sl.test.SLJavaInteropTest$Sum java.util.List java.lang.Object[] top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.List
astore 3
start local 3 5: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 9
StackMap locals: com.oracle.truffle.sl.test.SLJavaInteropTest$Sum java.util.List java.lang.Object[] java.util.List java.util.Iterator top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map
astore 5
start local 5 7: aload 5
ldc "value"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 7
start local 7 8: aload 0
dup
getfield com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.sum:I
aload 7
invokevirtual java.lang.Integer.intValue:()I
iadd
putfield com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.sum:I
end local 7 end local 5 9: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
end local 3 10: StackMap locals: com.oracle.truffle.sl.test.SLJavaInteropTest$Sum java.util.List java.lang.Object[] top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
0 12 1 pairs Ljava/util/List<Ljava/util/List<Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;>;>;
1 12 2 arr [Ljava/lang/Object;
5 10 3 list Ljava/util/List<Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;>;
7 9 5 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
8 9 7 value Ljava/lang/Integer;
Signature: (Ljava/util/List<Ljava/util/List<Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;>;>;)V
RuntimeVisibleAnnotations:
org.graalvm.polyglot.HostAccess$Export()
MethodParameters:
Name Flags
pairs
public void sumMapArray(java.util.Map<java.lang.String, java.util.List<com.oracle.truffle.sl.test.SLJavaInteropTest$Pair>>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: ldc "Two elements"
ldc 2
aload 1
invokeinterface java.util.Map.size:()I
i2l
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;JJ)V
1: aload 1
ldc "one"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 2: aload 2
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
3: aload 1
ldc "two"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 4: aload 3
invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
5: aload 0
aload 1
ldc "two"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.sumArray:(Ljava/util/List;)V
6: aload 0
aload 1
ldc "one"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.sumArray:(Ljava/util/List;)V
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
0 8 1 pairs Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Pair;>;>;
2 8 2 one Ljava/lang/Object;
4 8 3 two Ljava/lang/Object;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Pair;>;>;)V
RuntimeVisibleAnnotations:
org.graalvm.polyglot.HostAccess$Export()
MethodParameters:
Name Flags
pairs
}
SourceFile: "SLJavaInteropTest.java"
NestHost: com.oracle.truffle.sl.test.SLJavaInteropTest
InnerClasses:
public abstract Pair = com.oracle.truffle.sl.test.SLJavaInteropTest$Pair of com.oracle.truffle.sl.test.SLJavaInteropTest
public Sum = com.oracle.truffle.sl.test.SLJavaInteropTest$Sum of com.oracle.truffle.sl.test.SLJavaInteropTest
public abstract Export = org.graalvm.polyglot.HostAccess$Export of org.graalvm.polyglot.HostAccess