public class com.oracle.truffle.api.test.host.VarArgsTest extends com.oracle.truffle.api.test.host.ProxyLanguageEnvTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.test.host.VarArgsTest
super_class: com.oracle.truffle.api.test.host.ProxyLanguageEnvTest
{
private static final com.oracle.truffle.api.interop.InteropLibrary INTEROP;
descriptor: Lcom/oracle/truffle/api/interop/InteropLibrary;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
putstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.api.test.host.ProxyLanguageEnvTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/host/VarArgsTest;
public void testStringJoin1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: aload 0
ldc Ljava/lang/String;
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleHostSymbol:(Ljava/lang/Class;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 1
start local 1 1: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
ldc "join"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.interop.TruffleObject
astore 2
start local 2 2: aload 0
ldc " "
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 3
start local 3 3: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "Hello"
aastore
dup
iconst_1
ldc "World"
aastore
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 4
start local 4 4: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 2
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 5: ldc "Hello World"
aload 5
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: return
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 7 0 this Lcom/oracle/truffle/api/test/host/VarArgsTest;
1 7 1 strClass Lcom/oracle/truffle/api/interop/TruffleObject;
2 7 2 join Lcom/oracle/truffle/api/interop/TruffleObject;
3 7 3 delimiter Lcom/oracle/truffle/api/interop/TruffleObject;
4 7 4 elements Lcom/oracle/truffle/api/interop/TruffleObject;
5 7 5 result Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.InteropException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testStringJoin2();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: aload 0
ldc Ljava/lang/String;
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleHostSymbol:(Ljava/lang/Class;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 1
start local 1 1: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
ldc "join"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.interop.TruffleObject
astore 2
start local 2 2: aload 0
ldc " "
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 3
start local 3 3: aload 0
ldc "Hello"
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 4
start local 4 4: aload 0
ldc "World"
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 5
start local 5 5: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 2
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 5
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 6
start local 6 6: ldc "Hello World"
aload 6
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: 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 8 0 this Lcom/oracle/truffle/api/test/host/VarArgsTest;
1 8 1 strClass Lcom/oracle/truffle/api/interop/TruffleObject;
2 8 2 join Lcom/oracle/truffle/api/interop/TruffleObject;
3 8 3 delimiter Lcom/oracle/truffle/api/interop/TruffleObject;
4 8 4 element1 Lcom/oracle/truffle/api/interop/TruffleObject;
5 8 5 element2 Lcom/oracle/truffle/api/interop/TruffleObject;
6 8 6 result Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.InteropException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testStringEllipsis();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: aload 0
ldc Lcom/oracle/truffle/api/test/host/VarArgsTest$Join;
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleHostSymbol:(Ljava/lang/Class;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 1
start local 1 1: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
ldc "stringEllipsis"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.interop.TruffleObject
astore 2
start local 2 2: aload 0
ldc "Hello"
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 3
start local 3 3: aload 0
ldc "World"
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 4
start local 4 4: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 2
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 5: ldc "Hello World"
aload 5
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "Hello"
aastore
dup
iconst_1
ldc "World"
aastore
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 6
start local 6 7: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 5
8: ldc "Hello World"
aload 5
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: 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 10 0 this Lcom/oracle/truffle/api/test/host/VarArgsTest;
1 10 1 mainClass Lcom/oracle/truffle/api/interop/TruffleObject;
2 10 2 ellipsis Lcom/oracle/truffle/api/interop/TruffleObject;
3 10 3 element1 Lcom/oracle/truffle/api/interop/TruffleObject;
4 10 4 element2 Lcom/oracle/truffle/api/interop/TruffleObject;
5 10 5 result Ljava/lang/Object;
7 10 6 elements Lcom/oracle/truffle/api/interop/TruffleObject;
Exceptions:
throws com.oracle.truffle.api.interop.InteropException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testCharSequenceEllipsis();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: aload 0
ldc Lcom/oracle/truffle/api/test/host/VarArgsTest$Join;
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleHostSymbol:(Ljava/lang/Class;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 1
start local 1 1: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
ldc "charSequenceEllipsis"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.interop.TruffleObject
astore 2
start local 2 2: aload 0
ldc "Hello"
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 3
start local 3 3: aload 0
ldc "World"
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 4
start local 4 4: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 2
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 5: ldc "Hello World"
aload 5
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "Hello"
aastore
dup
iconst_1
ldc "World"
aastore
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 6
start local 6 7: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 5
8: ldc "Hello World"
aload 5
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: 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 10 0 this Lcom/oracle/truffle/api/test/host/VarArgsTest;
1 10 1 mainClass Lcom/oracle/truffle/api/interop/TruffleObject;
2 10 2 ellipsis Lcom/oracle/truffle/api/interop/TruffleObject;
3 10 3 element1 Lcom/oracle/truffle/api/interop/TruffleObject;
4 10 4 element2 Lcom/oracle/truffle/api/interop/TruffleObject;
5 10 5 result Ljava/lang/Object;
7 10 6 elements Lcom/oracle/truffle/api/interop/TruffleObject;
Exceptions:
throws com.oracle.truffle.api.interop.InteropException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testPathsGet();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=3, args_size=1
start local 0 0: aload 0
ldc Ljava/nio/file/Paths;
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleHostSymbol:(Ljava/lang/Class;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 1
start local 1 1: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
ldc "get"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "dir"
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.interop.TruffleObject
astore 2
start local 2 2: ldc "dir"
aload 0
ldc Ljava/nio/file/Path;
aload 2
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asJavaObject:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.file.Path
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
ldc "get"
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "dir1"
aastore
dup
iconst_1
ldc "dir2"
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.interop.TruffleObject
astore 2
4: getstatic java.io.File.separator:Ljava/lang/String;
iconst_2
anewarray java.lang.CharSequence
dup
iconst_0
ldc "dir1"
aastore
dup
iconst_1
ldc "dir2"
aastore
invokestatic java.lang.String.join:(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;
aload 0
ldc Ljava/nio/file/Path;
aload 2
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asJavaObject:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.file.Path
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
ldc "get"
iconst_3
anewarray java.lang.Object
dup
iconst_0
ldc "dir1"
aastore
dup
iconst_1
ldc "dir2"
aastore
dup
iconst_2
ldc "dir3"
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.interop.TruffleObject
astore 2
6: getstatic java.io.File.separator:Ljava/lang/String;
iconst_3
anewarray java.lang.CharSequence
dup
iconst_0
ldc "dir1"
aastore
dup
iconst_1
ldc "dir2"
aastore
dup
iconst_2
ldc "dir3"
aastore
invokestatic java.lang.String.join:(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;
aload 0
ldc Ljava/nio/file/Path;
aload 2
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asJavaObject:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.file.Path
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
ldc "get"
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "dir1"
aastore
dup
iconst_1
aload 0
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "dir2"
aastore
dup
iconst_1
ldc "dir3"
aastore
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.interop.TruffleObject
astore 2
8: getstatic java.io.File.separator:Ljava/lang/String;
iconst_3
anewarray java.lang.CharSequence
dup
iconst_0
ldc "dir1"
aastore
dup
iconst_1
ldc "dir2"
aastore
dup
iconst_2
ldc "dir3"
aastore
invokestatic java.lang.String.join:(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;
aload 0
ldc Ljava/nio/file/Path;
aload 2
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asJavaObject:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.file.Path
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/api/test/host/VarArgsTest;
1 10 1 paths Lcom/oracle/truffle/api/interop/TruffleObject;
2 10 2 result Lcom/oracle/truffle/api/interop/TruffleObject;
Exceptions:
throws com.oracle.truffle.api.interop.InteropException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testOverloadedVarArgsPrimitive();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=1
start local 0 0: aload 0
ldc Lcom/oracle/truffle/api/test/host/VarArgsTest$Sum;
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleHostSymbol:(Ljava/lang/Class;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 1
start local 1 1: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
ldc "sum"
iconst_1
anewarray java.lang.Object
dup
iconst_0
bipush 10
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 2: ldc "I"
aload 2
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
ldc "sum"
iconst_2
anewarray java.lang.Object
dup
iconst_0
bipush 10
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
bipush 20
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
astore 2
4: ldc "DD"
aload 2
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
ldc "sum"
iconst_3
anewarray java.lang.Object
dup
iconst_0
bipush 10
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
bipush 20
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
bipush 30
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
astore 2
6: ldc "I[I"
aload 2
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/test/host/VarArgsTest;
1 8 1 paths Lcom/oracle/truffle/api/interop/TruffleObject;
2 8 2 result Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.InteropException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testGuestArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=6, args_size=1
start local 0 0: aload 0
ldc Lcom/oracle/truffle/api/test/host/VarArgsTest$Join;
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleHostSymbol:(Ljava/lang/Class;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 1
start local 1 1: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
ldc "stringEllipsis"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.interop.TruffleObject
astore 2
start local 2 2: aload 0
ldc "Hello"
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 3
start local 3 3: aload 0
ldc "World"
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 4
start local 4 4: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
new com.oracle.truffle.api.test.host.AsCollectionsTest$ListBasedTO
dup
iconst_2
anewarray com.oracle.truffle.api.interop.TruffleObject
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial com.oracle.truffle.api.test.host.AsCollectionsTest$ListBasedTO.<init>:(Ljava/util/List;)V
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 5: ldc "Hello World"
aload 5
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: return
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 7 0 this Lcom/oracle/truffle/api/test/host/VarArgsTest;
1 7 1 mainClass Lcom/oracle/truffle/api/interop/TruffleObject;
2 7 2 ellipsis Lcom/oracle/truffle/api/interop/TruffleObject;
3 7 3 element1 Lcom/oracle/truffle/api/interop/TruffleObject;
4 7 4 element2 Lcom/oracle/truffle/api/interop/TruffleObject;
5 7 5 result Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.InteropException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testGuestArray2();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=3, args_size=1
start local 0 0: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 0
ldc Lcom/oracle/truffle/api/test/host/VarArgsTest$Sum;
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleHostSymbol:(Ljava/lang/Class;)Lcom/oracle/truffle/api/interop/TruffleObject;
ldc "sum"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.interop.TruffleObject
astore 1
start local 1 1: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 1
iconst_2
anewarray java.lang.Object
dup
iconst_0
bipush 10
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
new com.oracle.truffle.api.test.host.AsCollectionsTest$ListBasedTO
dup
iconst_2
anewarray java.lang.Integer
dup
iconst_0
bipush 20
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
bipush 30
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial com.oracle.truffle.api.test.host.AsCollectionsTest$ListBasedTO.<init>:(Ljava/util/List;)V
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 2: ldc "I[I"
aload 2
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/test/host/VarArgsTest;
1 4 1 sum Lcom/oracle/truffle/api/interop/TruffleObject;
2 4 2 result Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.InteropException
RuntimeVisibleAnnotations:
org.junit.Test()
public void testGenericReturnType();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=12, locals=7, args_size=1
start local 0 0: iconst_2
anewarray com.oracle.truffle.api.test.host.VarArgsTest$Container
dup
iconst_0
new com.oracle.truffle.api.test.host.VarArgsTest$GenericContainer
dup
invokespecial com.oracle.truffle.api.test.host.VarArgsTest$GenericContainer.<init>:()V
aastore
dup
iconst_1
new com.oracle.truffle.api.test.host.VarArgsTest$GenericContainer2
dup
invokespecial com.oracle.truffle.api.test.host.VarArgsTest$GenericContainer2.<init>:()V
aastore
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 16
StackMap locals: com.oracle.truffle.api.test.host.VarArgsTest top int int com.oracle.truffle.api.test.host.VarArgsTest$Container[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 0
aload 1
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 5
start local 5 3: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 5
ldc "withPorts"
iconst_1
anewarray java.lang.Object
dup
iconst_0
bipush 80
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
astore 6
start local 6 4: aload 5
aload 6
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 5
ldc "getPorts"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
astore 6
iconst_1
anewarray java.lang.Integer
dup
iconst_0
6: bipush 80
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 0
ldc Ljava/util/List;
aload 6
checkcast com.oracle.truffle.api.interop.TruffleObject
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asJavaObject:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 5
ldc "withPorts"
iconst_1
anewarray java.lang.Object
dup
iconst_0
new com.oracle.truffle.api.test.host.AsCollectionsTest$ListBasedTO
dup
iconst_1
anewarray java.lang.Integer
dup
iconst_0
bipush 80
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial com.oracle.truffle.api.test.host.AsCollectionsTest$ListBasedTO.<init>:(Ljava/util/List;)V
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
astore 6
8: aload 5
aload 6
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 5
ldc "getPorts"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
astore 6
iconst_1
anewarray java.lang.Integer
dup
iconst_0
10: bipush 80
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 0
ldc Ljava/util/List;
aload 6
checkcast com.oracle.truffle.api.interop.TruffleObject
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asJavaObject:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
11: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 5
ldc "withPorts"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
iconst_1
newarray 10
dup
iconst_0
bipush 80
iastore
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asTruffleObject:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
astore 6
12: aload 5
aload 6
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
13: getstatic com.oracle.truffle.api.test.host.VarArgsTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 5
ldc "getPorts"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
astore 6
iconst_1
anewarray java.lang.Integer
dup
iconst_0
14: bipush 80
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 0
ldc Ljava/util/List;
aload 6
checkcast com.oracle.truffle.api.interop.TruffleObject
invokevirtual com.oracle.truffle.api.test.host.VarArgsTest.asJavaObject:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 6 end local 5 end local 1 15: iinc 2 1
StackMap locals:
StackMap stack:
16: iload 2
iload 3
if_icmplt 1
17: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/api/test/host/VarArgsTest;
2 15 1 c Lcom/oracle/truffle/api/test/host/VarArgsTest$Container<*>;
3 15 5 container Lcom/oracle/truffle/api/interop/TruffleObject;
4 15 6 result Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.InteropException
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "VarArgsTest.java"
NestMembers:
com.oracle.truffle.api.test.host.VarArgsTest$AbstractContainer com.oracle.truffle.api.test.host.VarArgsTest$Container com.oracle.truffle.api.test.host.VarArgsTest$GenericContainer com.oracle.truffle.api.test.host.VarArgsTest$GenericContainer2 com.oracle.truffle.api.test.host.VarArgsTest$Join com.oracle.truffle.api.test.host.VarArgsTest$Sum
InnerClasses:
final ListBasedTO = com.oracle.truffle.api.test.host.AsCollectionsTest$ListBasedTO of com.oracle.truffle.api.test.host.AsCollectionsTest
abstract AbstractContainer = com.oracle.truffle.api.test.host.VarArgsTest$AbstractContainer of com.oracle.truffle.api.test.host.VarArgsTest
public abstract Container = com.oracle.truffle.api.test.host.VarArgsTest$Container of com.oracle.truffle.api.test.host.VarArgsTest
public GenericContainer = com.oracle.truffle.api.test.host.VarArgsTest$GenericContainer of com.oracle.truffle.api.test.host.VarArgsTest
public GenericContainer2 = com.oracle.truffle.api.test.host.VarArgsTest$GenericContainer2 of com.oracle.truffle.api.test.host.VarArgsTest
public Join = com.oracle.truffle.api.test.host.VarArgsTest$Join of com.oracle.truffle.api.test.host.VarArgsTest
public Sum = com.oracle.truffle.api.test.host.VarArgsTest$Sum of com.oracle.truffle.api.test.host.VarArgsTest