public final class com.oracle.truffle.llvm.tests.interop.TypeCheckTest extends com.oracle.truffle.llvm.tests.interop.InteropTestBase
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.llvm.tests.interop.TypeCheckTest
super_class: com.oracle.truffle.llvm.tests.interop.InteropTestBase
{
private static org.graalvm.polyglot.Value checkTypes;
descriptor: Lorg/graalvm/polyglot/Value;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
public java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameter(value = 0)
public java.lang.Object value;
descriptor: Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameter(value = 1)
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.llvm.tests.interop.InteropTestBase.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/tests/interop/TypeCheckTest;
public static void loadTestBitcode();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: ldc "typeCheck.c"
invokestatic com.oracle.truffle.llvm.tests.interop.TypeCheckTest.loadTestBitcodeValue:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
astore 0
start local 0 1: aload 0
ldc "check_types"
invokevirtual org.graalvm.polyglot.Value.getMember:(Ljava/lang/String;)Lorg/graalvm/polyglot/Value;
putstatic com.oracle.truffle.llvm.tests.interop.TypeCheckTest.checkTypes:Lorg/graalvm/polyglot/Value;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 testLibrary Lorg/graalvm/polyglot/Value;
RuntimeVisibleAnnotations:
org.junit.BeforeClass()
public static java.util.Collection<java.lang.Object[]> data();
descriptor: ()Ljava/util/Collection;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=1, args_size=0
0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 0
start local 0 1: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "boolean"
aastore
dup
iconst_1
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
2: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "byte"
aastore
dup
iconst_1
iconst_5
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
3: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "short"
aastore
dup
iconst_1
iconst_5
invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
4: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "int"
aastore
dup
iconst_1
iconst_5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
5: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "boxedint"
aastore
dup
iconst_1
new com.oracle.truffle.llvm.tests.interop.values.BoxedIntValue
dup
bipush 42
invokespecial com.oracle.truffle.llvm.tests.interop.values.BoxedIntValue.<init>:(I)V
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
6: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "long"
aastore
dup
iconst_1
ldc 5
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
7: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "big_long"
aastore
dup
iconst_1
ldc 9223372036854775807
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
8: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "float"
aastore
dup
iconst_1
ldc 5.7
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
9: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "small_float"
aastore
dup
iconst_1
ldc 1.4E-45
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
10: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "big_float"
aastore
dup
iconst_1
ldc 3.4028235E38
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
11: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "double"
aastore
dup
iconst_1
ldc 5.7
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
12: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "small_double"
aastore
dup
iconst_1
ldc 4.9E-324
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
13: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "big_double"
aastore
dup
iconst_1
ldc 1.7976931348623157E308
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
14: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "string"
aastore
dup
iconst_1
ldc "Hello, World!"
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
15: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "null"
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
16: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "object"
aastore
dup
iconst_1
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
invokestatic org.graalvm.polyglot.proxy.ProxyObject.fromMap:(Ljava/util/Map;)Lorg/graalvm/polyglot/proxy/ProxyObject;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
17: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "array"
aastore
dup
iconst_1
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.polyglot.proxy.ProxyArray.fromArray:([Ljava/lang/Object;)Lorg/graalvm/polyglot/proxy/ProxyArray;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
18: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "executable"
aastore
dup
iconst_1
new com.oracle.truffle.llvm.tests.interop.TypeCheckTest$1
dup
invokespecial com.oracle.truffle.llvm.tests.interop.TypeCheckTest$1.<init>:()V
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
19: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "class"
aastore
dup
iconst_1
ldc Ljava/math/BigInteger;
aastore
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
20: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 21 0 tests Ljava/util/ArrayList<[Ljava/lang/Object;>;
Signature: ()Ljava/util/Collection<[Ljava/lang/Object;>;
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameters(name = "{0}")
public void checkTypes();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: getstatic com.oracle.truffle.llvm.tests.interop.TypeCheckTest.runWithPolyglot:Lcom/oracle/truffle/tck/TruffleRunner$RunWithPolyglotRule;
invokevirtual com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule.getPolyglotContext:()Lorg/graalvm/polyglot/Context;
aload 0
getfield com.oracle.truffle.llvm.tests.interop.TypeCheckTest.value:Ljava/lang/Object;
invokevirtual org.graalvm.polyglot.Context.asValue:(Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
astore 1
start local 1 1: getstatic com.oracle.truffle.llvm.tests.interop.TypeCheckTest.checkTypes:Lorg/graalvm/polyglot/Value;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
invokevirtual org.graalvm.polyglot.Value.asInt:()I
istore 2
start local 2 2: ldc "is_value"
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iload 2
iconst_1
iand
ifeq 3
iconst_1
goto 4
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean
3: iconst_0
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean int
4: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
5: ldc "is_null"
aload 1
invokevirtual org.graalvm.polyglot.Value.isNull:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iload 2
iconst_2
iand
ifeq 6
iconst_1
goto 7
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean
6: iconst_0
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean int
7: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
8: ldc "is_number"
aload 1
invokevirtual org.graalvm.polyglot.Value.isNumber:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iload 2
iconst_4
iand
ifeq 9
iconst_1
goto 10
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean
9: iconst_0
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean int
10: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
11: ldc "is_boolean"
aload 1
invokevirtual org.graalvm.polyglot.Value.isBoolean:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iload 2
bipush 8
iand
ifeq 12
iconst_1
goto 13
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean
12: iconst_0
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean int
13: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
14: ldc "is_string"
aload 1
invokevirtual org.graalvm.polyglot.Value.isString:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iload 2
bipush 16
iand
ifeq 15
iconst_1
goto 16
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean
15: iconst_0
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean int
16: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
17: ldc "can_execute"
aload 1
invokevirtual org.graalvm.polyglot.Value.canExecute:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iload 2
bipush 32
iand
ifeq 18
iconst_1
goto 19
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean
18: iconst_0
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean int
19: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
20: ldc "has_array_elements"
aload 1
invokevirtual org.graalvm.polyglot.Value.hasArrayElements:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iload 2
bipush 64
iand
ifeq 21
iconst_1
goto 22
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean
21: iconst_0
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean int
22: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
23: ldc "has_members"
aload 1
invokevirtual org.graalvm.polyglot.Value.hasMembers:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iload 2
sipush 128
iand
ifeq 24
iconst_1
goto 25
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean
24: iconst_0
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean int
25: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
26: ldc "can_instantiate"
aload 1
invokevirtual org.graalvm.polyglot.Value.canInstantiate:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iload 2
sipush 256
iand
ifeq 27
iconst_1
goto 28
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean
27: iconst_0
StackMap locals: com.oracle.truffle.llvm.tests.interop.TypeCheckTest org.graalvm.polyglot.Value int
StackMap stack: java.lang.String java.lang.Boolean int
28: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
29: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/oracle/truffle/llvm/tests/interop/TypeCheckTest;
1 30 1 v Lorg/graalvm/polyglot/Value;
2 30 2 ret I
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "TypeCheckTest.java"
NestMembers:
com.oracle.truffle.llvm.tests.interop.TypeCheckTest$1
InnerClasses:
com.oracle.truffle.llvm.tests.interop.TypeCheckTest$1
public final RunWithPolyglotRule = com.oracle.truffle.tck.TruffleRunner$RunWithPolyglotRule of com.oracle.truffle.tck.TruffleRunner
public abstract Parameter = org.junit.runners.Parameterized$Parameter of org.junit.runners.Parameterized
public abstract Parameters = org.junit.runners.Parameterized$Parameters of org.junit.runners.Parameterized
RuntimeVisibleAnnotations:
org.junit.runner.RunWith(value = Lorg/junit/runners/Parameterized;)