public class com.oracle.truffle.sl.test.SLJavaInteropTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.sl.test.SLJavaInteropTest
super_class: java.lang.Object
{
private org.graalvm.polyglot.Context context;
descriptor: Lorg/graalvm/polyglot/Context;
flags: (0x0002) ACC_PRIVATE
private java.io.ByteArrayOutputStream os;
descriptor: Ljava/io/ByteArrayOutputStream;
flags: (0x0002) ACC_PRIVATE
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;
public void create();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
putfield com.oracle.truffle.sl.test.SLJavaInteropTest.os:Ljava/io/ByteArrayOutputStream;
1: aload 0
iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
getstatic org.graalvm.polyglot.HostAccess.ALL:Lorg/graalvm/polyglot/HostAccess;
invokevirtual org.graalvm.polyglot.Context$Builder.allowHostAccess:(Lorg/graalvm/polyglot/HostAccess;)Lorg/graalvm/polyglot/Context$Builder;
aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.os:Ljava/io/ByteArrayOutputStream;
invokevirtual org.graalvm.polyglot.Context$Builder.out:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
putfield com.oracle.truffle.sl.test.SLJavaInteropTest.context:Lorg/graalvm/polyglot/Context;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/sl/test/SLJavaInteropTest;
RuntimeVisibleAnnotations:
org.junit.Before()
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/sl/test/SLJavaInteropTest;
RuntimeVisibleAnnotations:
org.junit.After()
public void asFunction();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: ldc "function test() {\n println(\"Called!\");\n}\n"
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.context:Lorg/graalvm/polyglot/Context;
ldc "sl"
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
2: aload 0
ldc "test"
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest.lookup:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 3: aload 2
ldc Ljava/lang/Runnable;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.Runnable
astore 3
start local 3 4: aload 3
invokeinterface java.lang.Runnable.run:()V
5: ldc "Called!\n"
aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.os:Ljava/io/ByteArrayOutputStream;
invokestatic com.oracle.truffle.sl.test.SLJavaInteropTest.toUnixString:(Ljava/io/ByteArrayOutputStream;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: return
end local 3 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;
1 7 1 scriptText Ljava/lang/String;
3 7 2 main Lorg/graalvm/polyglot/Value;
4 7 3 runnable Ljava/lang/Runnable;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
private org.graalvm.polyglot.Value lookup(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.context:Lorg/graalvm/polyglot/Context;
ldc "sl"
invokevirtual org.graalvm.polyglot.Context.getBindings:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
aload 1
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/sl/test/SLJavaInteropTest;
0 1 1 symbol Ljava/lang/String;
MethodParameters:
Name Flags
symbol
public void asFunctionWithArg();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: ldc "function values(a, b) {\n println(\"Called with \" + a + \" and \" + b);\n}\n"
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.context:Lorg/graalvm/polyglot/Context;
ldc "sl"
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
2: aload 0
ldc "values"
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest.lookup:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 3: aload 2
ldc Lcom/oracle/truffle/sl/test/SLJavaInteropTest$PassInValues;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.sl.test.SLJavaInteropTest$PassInValues
astore 3
start local 3 4: aload 3
ldc "OK"
ldc "Fine"
invokeinterface com.oracle.truffle.sl.test.SLJavaInteropTest$PassInValues.call:(Ljava/lang/Object;Ljava/lang/Object;)V
5: ldc "Called with OK and Fine\n"
aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.os:Ljava/io/ByteArrayOutputStream;
invokestatic com.oracle.truffle.sl.test.SLJavaInteropTest.toUnixString:(Ljava/io/ByteArrayOutputStream;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: return
end local 3 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;
1 7 1 scriptText Ljava/lang/String;
3 7 2 fn Lorg/graalvm/polyglot/Value;
4 7 3 valuesIn Lcom/oracle/truffle/sl/test/SLJavaInteropTest$PassInValues;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
private static void assertNumber(double, java.lang.Object);
descriptor: (DLjava/lang/Object;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 2 0: aload 2
instanceof java.lang.Number
ifeq 3
1: dload 0
aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
ldc 0.1
invokestatic org.junit.Assert.assertEquals:(DDD)V
2: goto 4
3: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Expecting a number, but was "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 exp D
0 5 2 real Ljava/lang/Object;
MethodParameters:
Name Flags
exp
real
public void asFunctionWithArr();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: ldc "function values(a, b) {\n println(\"Called with \" + a[0] + a[1] + \" and \" + b);\n}\n"
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.context:Lorg/graalvm/polyglot/Context;
ldc "sl"
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
2: aload 0
ldc "values"
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest.lookup:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 3: aload 2
ldc Lcom/oracle/truffle/sl/test/SLJavaInteropTest$PassInArray;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.sl.test.SLJavaInteropTest$PassInArray
astore 3
start local 3 4: aload 3
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "OK"
aastore
dup
iconst_1
ldc "Fine"
aastore
invokeinterface com.oracle.truffle.sl.test.SLJavaInteropTest$PassInArray.call:([Ljava/lang/Object;)V
5: ldc "Called with OKFine and NULL\n"
aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.os:Ljava/io/ByteArrayOutputStream;
invokestatic com.oracle.truffle.sl.test.SLJavaInteropTest.toUnixString:(Ljava/io/ByteArrayOutputStream;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: return
end local 3 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;
1 7 1 scriptText Ljava/lang/String;
3 7 2 fn Lorg/graalvm/polyglot/Value;
4 7 3 valuesIn Lcom/oracle/truffle/sl/test/SLJavaInteropTest$PassInArray;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void asFunctionWithVarArgs();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: ldc "function values(a, b) {\n println(\"Called with \" + a + \" and \" + b);\n}\n"
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.context:Lorg/graalvm/polyglot/Context;
ldc "sl"
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
2: aload 0
ldc "values"
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest.lookup:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 3: aload 2
ldc Lcom/oracle/truffle/sl/test/SLJavaInteropTest$PassInVarArg;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.sl.test.SLJavaInteropTest$PassInVarArg
astore 3
start local 3 4: aload 3
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "OK"
aastore
dup
iconst_1
ldc "Fine"
aastore
invokeinterface com.oracle.truffle.sl.test.SLJavaInteropTest$PassInVarArg.call:([Ljava/lang/Object;)V
5: ldc "Called with OK and Fine\n"
aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.os:Ljava/io/ByteArrayOutputStream;
invokestatic com.oracle.truffle.sl.test.SLJavaInteropTest.toUnixString:(Ljava/io/ByteArrayOutputStream;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: return
end local 3 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;
1 7 1 scriptText Ljava/lang/String;
3 7 2 fn Lorg/graalvm/polyglot/Value;
4 7 3 valuesIn Lcom/oracle/truffle/sl/test/SLJavaInteropTest$PassInVarArg;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void asFunctionWithArgVarArgs();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: ldc "function values(a, b, c) {\n println(\"Called with \" + a + \" and \" + b + c);\n}\n"
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.context:Lorg/graalvm/polyglot/Context;
ldc "sl"
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
2: aload 0
ldc "values"
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest.lookup:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 3: aload 2
ldc Lcom/oracle/truffle/sl/test/SLJavaInteropTest$PassInArgAndVarArg;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.sl.test.SLJavaInteropTest$PassInArgAndVarArg
astore 3
start local 3 4: aload 3
ldc "OK"
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "Fine"
aastore
dup
iconst_1
ldc "Well"
aastore
invokeinterface com.oracle.truffle.sl.test.SLJavaInteropTest$PassInArgAndVarArg.call:(Ljava/lang/Object;[Ljava/lang/Object;)V
5: ldc "Called with OK and FineWell\n"
aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.os:Ljava/io/ByteArrayOutputStream;
invokestatic com.oracle.truffle.sl.test.SLJavaInteropTest.toUnixString:(Ljava/io/ByteArrayOutputStream;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: return
end local 3 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;
1 7 1 scriptText Ljava/lang/String;
3 7 2 fn Lorg/graalvm/polyglot/Value;
4 7 3 valuesIn Lcom/oracle/truffle/sl/test/SLJavaInteropTest$PassInArgAndVarArg;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.junit.Test()
public void sumPairs();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: ldc "function values(sum, k, v) {\n obj = new();\n obj.key = k;\n obj.value = v;\n return sum.sum(obj);\n}\n"
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.context:Lorg/graalvm/polyglot/Context;
ldc "sl"
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
2: aload 0
ldc "values"
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest.lookup:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 3: new com.oracle.truffle.sl.test.SLJavaInteropTest$Sum
dup
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.<init>:()V
astore 3
start local 3 4: aload 3
astore 4
start local 4 5: aload 2
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
ldc "one"
aastore
dup
iconst_2
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asHostObject:()Ljava/lang/Object;
astore 5
start local 5 6: aload 2
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
ldc "two"
aastore
dup
iconst_2
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
ldc Ljava/lang/Object;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
astore 6
start local 6 7: aload 2
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
ldc "three"
aastore
dup
iconst_2
iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
ldc Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.sl.test.SLJavaInteropTest$Sum
astore 7
start local 7 8: ldc 6
aload 3
getfield com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.sum:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
9: aload 5
aload 6
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
10: aload 7
aload 6
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
11: aload 4
aload 6
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
12: return
end local 7 end local 6 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 13 0 this Lcom/oracle/truffle/sl/test/SLJavaInteropTest;
1 13 1 scriptText Ljava/lang/String;
3 13 2 fn Lorg/graalvm/polyglot/Value;
4 13 3 javaSum Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
5 13 4 sum Ljava/lang/Object;
6 13 5 ret1 Ljava/lang/Object;
7 13 6 ret2 Ljava/lang/Object;
8 13 7 ret3 Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
RuntimeVisibleAnnotations:
org.junit.Test()
public void sumPairsFunctionalInterface();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: ldc "function values(sum, k, v) {\n obj = new();\n obj.key = k;\n obj.value = v;\n return sum.sum(obj);\n}\n"
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.context:Lorg/graalvm/polyglot/Context;
ldc "sl"
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
2: aload 0
ldc "values"
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest.lookup:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Values;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.sl.test.SLJavaInteropTest$Values
astore 2
start local 2 3: new com.oracle.truffle.sl.test.SLJavaInteropTest$Sum
dup
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.<init>:()V
astore 3
start local 3 4: aload 2
aload 3
ldc "one"
iconst_1
invokeinterface com.oracle.truffle.sl.test.SLJavaInteropTest$Values.values:(Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;Ljava/lang/String;I)Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
astore 4
start local 4 5: aload 2
aload 3
ldc "two"
iconst_2
invokeinterface com.oracle.truffle.sl.test.SLJavaInteropTest$Values.values:(Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;Ljava/lang/String;I)Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
astore 5
start local 5 6: aload 2
aload 3
ldc "three"
iconst_3
invokeinterface com.oracle.truffle.sl.test.SLJavaInteropTest$Values.values:(Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;Ljava/lang/String;I)Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
astore 6
start local 6 7: ldc 6
aload 3
getfield com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.sum:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
8: aload 4
aload 5
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
9: aload 6
aload 5
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
10: aload 3
aload 5
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
11: return
end local 6 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 12 0 this Lcom/oracle/truffle/sl/test/SLJavaInteropTest;
1 12 1 scriptText Ljava/lang/String;
3 12 2 fn Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Values;
4 12 3 sum Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
5 12 4 ret1 Ljava/lang/Object;
6 12 5 ret2 Ljava/lang/Object;
7 12 6 ret3 Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.junit.Test()
public void sumPairsFunctionalRawInterface();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: ldc "function values(sum, k, v) {\n obj = new();\n obj.key = k;\n obj.value = v;\n return sum.sum(obj);\n}\n"
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.context:Lorg/graalvm/polyglot/Context;
ldc "sl"
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
2: aload 0
ldc "values"
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest.lookup:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
ldc Lcom/oracle/truffle/sl/test/SLJavaInteropTest$ValuesRaw;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.sl.test.SLJavaInteropTest$ValuesRaw
astore 2
start local 2 3: new com.oracle.truffle.sl.test.SLJavaInteropTest$Sum
dup
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.<init>:()V
astore 3
start local 3 4: aload 2
aload 3
ldc "one"
iconst_1
invokeinterface com.oracle.truffle.sl.test.SLJavaInteropTest$ValuesRaw.values:(Ljava/lang/Object;Ljava/lang/String;I)Ljava/lang/Object;
astore 4
start local 4 5: aload 2
aload 3
ldc "two"
iconst_2
invokeinterface com.oracle.truffle.sl.test.SLJavaInteropTest$ValuesRaw.values:(Ljava/lang/Object;Ljava/lang/String;I)Ljava/lang/Object;
astore 5
start local 5 6: aload 2
aload 3
ldc "three"
iconst_3
invokeinterface com.oracle.truffle.sl.test.SLJavaInteropTest$ValuesRaw.values:(Ljava/lang/Object;Ljava/lang/String;I)Ljava/lang/Object;
astore 6
start local 6 7: ldc 6
aload 3
getfield com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.sum:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
8: aload 4
aload 5
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
9: aload 6
aload 5
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
10: aload 3
aload 5
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
11: return
end local 6 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 12 0 this Lcom/oracle/truffle/sl/test/SLJavaInteropTest;
1 12 1 scriptText Ljava/lang/String;
3 12 2 fn Lcom/oracle/truffle/sl/test/SLJavaInteropTest$ValuesRaw;
4 12 3 sum Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
5 12 4 ret1 Ljava/lang/Object;
6 12 5 ret2 Ljava/lang/Object;
7 12 6 ret3 Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.junit.Test()
public void sumPairsIndirect();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: ldc "function values(sum, k, v) {\n obj = new();\n obj.key = k;\n obj.value = v;\n return sum.sum(obj);\n}\nfunction create() {\n obj = new();\n obj.doSum1 = values;\n obj.doSum2 = values;\n return obj;\n}\n"
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.context:Lorg/graalvm/polyglot/Context;
ldc "sl"
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
2: aload 0
ldc "create"
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest.lookup:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
ldc Lcom/oracle/truffle/sl/test/SLJavaInteropTest$DoSums;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.sl.test.SLJavaInteropTest$DoSums
astore 2
start local 2 3: new com.oracle.truffle.sl.test.SLJavaInteropTest$Sum
dup
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.<init>:()V
astore 3
start local 3 4: aload 2
aload 3
ldc "one"
iconst_1
invokeinterface com.oracle.truffle.sl.test.SLJavaInteropTest$DoSums.doSum1:(Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;Ljava/lang/String;I)Ljava/lang/Object;
astore 4
start local 4 5: aload 2
aload 3
ldc "two"
iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface com.oracle.truffle.sl.test.SLJavaInteropTest$DoSums.doSum2:(Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;Ljava/lang/String;Ljava/lang/Integer;)Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
astore 5
start local 5 6: aload 2
aload 3
ldc "three"
iconst_3
invokeinterface com.oracle.truffle.sl.test.SLJavaInteropTest$DoSums.doSum1:(Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;Ljava/lang/String;I)Ljava/lang/Object;
astore 6
start local 6 7: ldc 6
aload 3
getfield com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.sum:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
8: aload 4
aload 5
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
9: aload 6
aload 5
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
10: aload 3
aload 5
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
11: return
end local 6 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 12 0 this Lcom/oracle/truffle/sl/test/SLJavaInteropTest;
1 12 1 scriptText Ljava/lang/String;
3 12 2 fn Lcom/oracle/truffle/sl/test/SLJavaInteropTest$DoSums;
4 12 3 sum Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
5 12 4 ret1 Ljava/lang/Object;
6 12 5 ret2 Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
7 12 6 ret3 Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.junit.Test()
public void sumPairsInArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=1
start local 0 0: ldc "function values(sum, arr) {\n sum.sumArray(arr);\n}\n"
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.context:Lorg/graalvm/polyglot/Context;
ldc "sl"
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
2: aload 0
ldc "values"
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest.lookup:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 3: new com.oracle.truffle.sl.test.SLJavaInteropTest$Sum
dup
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.<init>:()V
astore 3
start local 3 4: iconst_3
anewarray com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
iconst_0
5: new com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
ldc "one"
iconst_1
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl.<init>:(Ljava/lang/String;I)V
aastore
dup
iconst_1
6: new com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
ldc "two"
iconst_2
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl.<init>:(Ljava/lang/String;I)V
aastore
dup
iconst_2
7: new com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
ldc "three"
iconst_3
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl.<init>:(Ljava/lang/String;I)V
aastore
8: astore 4
start local 4 9: aload 2
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
10: ldc 6
aload 3
getfield com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.sum:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
11: return
end local 4 end local 3 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;
1 12 1 scriptText Ljava/lang/String;
3 12 2 fn Lorg/graalvm/polyglot/Value;
4 12 3 javaSum Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
9 12 4 arr [Lcom/oracle/truffle/sl/test/SLJavaInteropTest$PairImpl;
RuntimeVisibleAnnotations:
org.junit.Test()
public void sumPairsInArrayOfArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=5, args_size=1
start local 0 0: ldc "function values(sum, arr) {\n sum.sumArrayArray(arr);\n}\n"
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.context:Lorg/graalvm/polyglot/Context;
ldc "sl"
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
2: aload 0
ldc "values"
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest.lookup:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 3: new com.oracle.truffle.sl.test.SLJavaInteropTest$Sum
dup
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.<init>:()V
astore 3
start local 3 4: iconst_2
anewarray com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl[]
dup
iconst_0
5: iconst_1
anewarray com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
iconst_0
6: new com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
ldc "one"
iconst_1
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl.<init>:(Ljava/lang/String;I)V
aastore
aastore
dup
iconst_1
7: iconst_2
anewarray com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
iconst_0
8: new com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
ldc "two"
iconst_2
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl.<init>:(Ljava/lang/String;I)V
aastore
dup
iconst_1
9: new com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
ldc "three"
iconst_3
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl.<init>:(Ljava/lang/String;I)V
aastore
aastore
10: astore 4
start local 4 11: aload 2
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
12: ldc 6
aload 3
getfield com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.sum:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/sl/test/SLJavaInteropTest;
1 14 1 scriptText Ljava/lang/String;
3 14 2 fn Lorg/graalvm/polyglot/Value;
4 14 3 javaSum Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
11 14 4 arr [[Lcom/oracle/truffle/sl/test/SLJavaInteropTest$PairImpl;
RuntimeVisibleAnnotations:
org.junit.Test()
public void sumMapInArrayOfArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=5, args_size=1
start local 0 0: ldc "function values(sum, arr) {\n sum.sumArrayMap(arr);\n}\n"
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.context:Lorg/graalvm/polyglot/Context;
ldc "sl"
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
2: aload 0
ldc "values"
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest.lookup:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 3: new com.oracle.truffle.sl.test.SLJavaInteropTest$Sum
dup
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.<init>:()V
astore 3
start local 3 4: iconst_2
anewarray com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl[]
dup
iconst_0
5: iconst_1
anewarray com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
iconst_0
6: new com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
ldc "one"
iconst_1
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl.<init>:(Ljava/lang/String;I)V
aastore
aastore
dup
iconst_1
7: iconst_2
anewarray com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
iconst_0
8: new com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
ldc "two"
iconst_2
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl.<init>:(Ljava/lang/String;I)V
aastore
dup
iconst_1
9: new com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
ldc "three"
iconst_3
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl.<init>:(Ljava/lang/String;I)V
aastore
aastore
10: astore 4
start local 4 11: aload 2
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
12: ldc 6
aload 3
getfield com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.sum:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/sl/test/SLJavaInteropTest;
1 14 1 scriptText Ljava/lang/String;
3 14 2 fn Lorg/graalvm/polyglot/Value;
4 14 3 javaSum Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
11 14 4 arr [[Lcom/oracle/truffle/sl/test/SLJavaInteropTest$PairImpl;
RuntimeVisibleAnnotations:
org.junit.Test()
public void sumPairInMapOfArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=5, args_size=1
start local 0 0: ldc "function values(sum, arr) {\n sum.sumMapArray(arr);\n}\n"
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.context:Lorg/graalvm/polyglot/Context;
ldc "sl"
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
2: aload 0
ldc "values"
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest.lookup:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 3: new com.oracle.truffle.sl.test.SLJavaInteropTest$Sum
dup
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.<init>:()V
astore 3
start local 3 4: new com.oracle.truffle.sl.test.SLJavaInteropTest$TwoPairsImpl
dup
5: iconst_1
anewarray com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
iconst_0
6: new com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
ldc "one"
iconst_1
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl.<init>:(Ljava/lang/String;I)V
aastore
7: iconst_2
anewarray com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
iconst_0
8: new com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
ldc "two"
iconst_2
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl.<init>:(Ljava/lang/String;I)V
aastore
dup
iconst_1
9: new com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl
dup
ldc "three"
iconst_3
invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl.<init>:(Ljava/lang/String;I)V
aastore
10: invokespecial com.oracle.truffle.sl.test.SLJavaInteropTest$TwoPairsImpl.<init>:([Lcom/oracle/truffle/sl/test/SLJavaInteropTest$PairImpl;[Lcom/oracle/truffle/sl/test/SLJavaInteropTest$PairImpl;)V
astore 4
start local 4 11: aload 2
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
12: ldc 6
aload 3
getfield com.oracle.truffle.sl.test.SLJavaInteropTest$Sum.sum:I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/sl/test/SLJavaInteropTest;
1 14 1 scriptText Ljava/lang/String;
3 14 2 fn Lorg/graalvm/polyglot/Value;
4 14 3 javaSum Lcom/oracle/truffle/sl/test/SLJavaInteropTest$Sum;
11 14 4 groups Lcom/oracle/truffle/sl/test/SLJavaInteropTest$TwoPairsImpl;
RuntimeVisibleAnnotations:
org.junit.Test()
public void accessJavaMap();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: ldc "function write(map, key, value) {\n map.put(key, value);\n}\nfunction read(map, key) {\n return map.get(key);\n}\n"
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.sl.test.SLJavaInteropTest.context:Lorg/graalvm/polyglot/Context;
ldc "sl"
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Value;
pop
2: aload 0
ldc "read"
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest.lookup:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 2
start local 2 3: aload 0
ldc "write"
invokevirtual com.oracle.truffle.sl.test.SLJavaInteropTest.lookup:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 3
start local 3 4: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 4
start local 4 5: aload 4
ldc "a"
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 2
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
ldc "a"
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
ldc Ljava/lang/Object;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
astore 5
start local 5 7: ldc 42.0
aload 5
invokestatic com.oracle.truffle.sl.test.SLJavaInteropTest.assertNumber:(DLjava/lang/Object;)V
8: aload 3
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
ldc "a"
aastore
dup
iconst_2
bipush 33
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
9: aload 2
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
ldc "a"
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
ldc Ljava/lang/Object;
invokevirtual org.graalvm.polyglot.Value.as:(Ljava/lang/Class;)Ljava/lang/Object;
astore 6
start local 6 10: ldc 33.0
aload 6
invokestatic com.oracle.truffle.sl.test.SLJavaInteropTest.assertNumber:(DLjava/lang/Object;)V
11: return
end local 6 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 12 0 this Lcom/oracle/truffle/sl/test/SLJavaInteropTest;
1 12 1 scriptText Ljava/lang/String;
3 12 2 read Lorg/graalvm/polyglot/Value;
4 12 3 write Lorg/graalvm/polyglot/Value;
5 12 4 map Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
7 12 5 b Ljava/lang/Object;
10 12 6 c Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.junit.Test()
static java.lang.String toUnixString(java.io.ByteArrayOutputStream);
descriptor: (Ljava/io/ByteArrayOutputStream;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc "UTF-8"
invokevirtual java.io.ByteArrayOutputStream.toString:(Ljava/lang/String;)Ljava/lang/String;
ldc "\r\n"
ldc "\n"
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
astore 1
start local 1 3: new java.lang.IllegalStateException
dup
aload 1
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 stream Ljava/io/ByteArrayOutputStream;
3 4 1 e Ljava/io/UnsupportedEncodingException;
Exception table:
from to target type
0 1 2 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
stream
}
SourceFile: "SLJavaInteropTest.java"
NestMembers:
com.oracle.truffle.sl.test.SLJavaInteropTest$DoSums com.oracle.truffle.sl.test.SLJavaInteropTest$Pair com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl com.oracle.truffle.sl.test.SLJavaInteropTest$PassInArgAndVarArg com.oracle.truffle.sl.test.SLJavaInteropTest$PassInArray com.oracle.truffle.sl.test.SLJavaInteropTest$PassInValues com.oracle.truffle.sl.test.SLJavaInteropTest$PassInVarArg com.oracle.truffle.sl.test.SLJavaInteropTest$Sum com.oracle.truffle.sl.test.SLJavaInteropTest$TwoPairsImpl com.oracle.truffle.sl.test.SLJavaInteropTest$Values com.oracle.truffle.sl.test.SLJavaInteropTest$ValuesRaw
InnerClasses:
public abstract DoSums = com.oracle.truffle.sl.test.SLJavaInteropTest$DoSums of com.oracle.truffle.sl.test.SLJavaInteropTest
public abstract Pair = com.oracle.truffle.sl.test.SLJavaInteropTest$Pair of com.oracle.truffle.sl.test.SLJavaInteropTest
public final PairImpl = com.oracle.truffle.sl.test.SLJavaInteropTest$PairImpl of com.oracle.truffle.sl.test.SLJavaInteropTest
public abstract PassInArgAndVarArg = com.oracle.truffle.sl.test.SLJavaInteropTest$PassInArgAndVarArg of com.oracle.truffle.sl.test.SLJavaInteropTest
public abstract PassInArray = com.oracle.truffle.sl.test.SLJavaInteropTest$PassInArray of com.oracle.truffle.sl.test.SLJavaInteropTest
public abstract PassInValues = com.oracle.truffle.sl.test.SLJavaInteropTest$PassInValues of com.oracle.truffle.sl.test.SLJavaInteropTest
public abstract PassInVarArg = com.oracle.truffle.sl.test.SLJavaInteropTest$PassInVarArg of com.oracle.truffle.sl.test.SLJavaInteropTest
public Sum = com.oracle.truffle.sl.test.SLJavaInteropTest$Sum of com.oracle.truffle.sl.test.SLJavaInteropTest
public final TwoPairsImpl = com.oracle.truffle.sl.test.SLJavaInteropTest$TwoPairsImpl of com.oracle.truffle.sl.test.SLJavaInteropTest
public abstract Values = com.oracle.truffle.sl.test.SLJavaInteropTest$Values of com.oracle.truffle.sl.test.SLJavaInteropTest
public abstract ValuesRaw = com.oracle.truffle.sl.test.SLJavaInteropTest$ValuesRaw of com.oracle.truffle.sl.test.SLJavaInteropTest
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context