public class com.oracle.truffle.object.basic.test.DynamicTypeTest extends com.oracle.truffle.api.test.AbstractParametrizedLibraryTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.object.basic.test.DynamicTypeTest
super_class: com.oracle.truffle.api.test.AbstractParametrizedLibraryTest
{
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.AbstractParametrizedLibraryTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/object/basic/test/DynamicTypeTest;
public static java.util.List<com.oracle.truffle.api.test.AbstractParametrizedLibraryTest$TestRun> data();
descriptor: ()Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.oracle.truffle.api.test.AbstractParametrizedLibraryTest$TestRun.values:()[Lcom/oracle/truffle/api/test/AbstractParametrizedLibraryTest$TestRun;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
areturn
LocalVariableTable:
Start End Slot Name Signature
Signature: ()Ljava/util/List<Lcom/oracle/truffle/api/test/AbstractParametrizedLibraryTest$TestRun;>;
RuntimeVisibleAnnotations:
org.junit.runners.Parameterized$Parameters(name = "{0}")
public void testDynamicTypeCanBeAnyObject();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
astore 1
start local 1 1: invokestatic com.oracle.truffle.api.object.Shape.newBuilder:()Lcom/oracle/truffle/api/object/Shape$Builder;
aload 1
invokevirtual com.oracle.truffle.api.object.Shape$Builder.dynamicType:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Shape$Builder;
invokevirtual com.oracle.truffle.api.object.Shape$Builder.build:()Lcom/oracle/truffle/api/object/Shape;
astore 2
start local 2 2: new com.oracle.truffle.object.basic.test.TestDynamicObjectMinimal
dup
aload 2
invokespecial com.oracle.truffle.object.basic.test.TestDynamicObjectMinimal.<init>:(Lcom/oracle/truffle/api/object/Shape;)V
astore 3
start local 3 3: aload 0
ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 3
invokevirtual com.oracle.truffle.object.basic.test.DynamicTypeTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.object.DynamicObjectLibrary
astore 4
start local 4 4: aload 1
aload 4
aload 3
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
5: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
astore 1
6: aload 4
aload 3
aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
pop
7: aload 1
aload 4
aload 3
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/object/basic/test/DynamicTypeTest;
1 9 1 dynamicType Ljava/lang/Object;
2 9 2 emptyShape Lcom/oracle/truffle/api/object/Shape;
3 9 3 obj Lcom/oracle/truffle/object/basic/test/TestDynamicObjectMinimal;
4 9 4 lib Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testDynamicTypeCannotBeNull();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: invokedynamic call()Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/object/basic/test/DynamicTypeTest.lambda$0()Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/NullPointerException;
invokestatic com.oracle.truffle.object.basic.test.DynamicTypeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
1: invokestatic com.oracle.truffle.api.object.Shape.newBuilder:()Lcom/oracle/truffle/api/object/Shape$Builder;
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
invokevirtual com.oracle.truffle.api.object.Shape$Builder.dynamicType:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Shape$Builder;
invokevirtual com.oracle.truffle.api.object.Shape$Builder.build:()Lcom/oracle/truffle/api/object/Shape;
astore 1
start local 1 2: new com.oracle.truffle.object.basic.test.TestDynamicObjectMinimal
dup
aload 1
invokespecial com.oracle.truffle.object.basic.test.TestDynamicObjectMinimal.<init>:(Lcom/oracle/truffle/api/object/Shape;)V
astore 2
start local 2 3: aload 0
ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 2
invokevirtual com.oracle.truffle.object.basic.test.DynamicTypeTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.object.DynamicObjectLibrary
astore 3
start local 3 4: aload 3
aload 2
invokedynamic call(Lcom/oracle/truffle/api/object/DynamicObjectLibrary;Lcom/oracle/truffle/object/basic/test/TestDynamicObjectMinimal;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/oracle/truffle/object/basic/test/DynamicTypeTest.lambda$1(Lcom/oracle/truffle/api/object/DynamicObjectLibrary;Lcom/oracle/truffle/object/basic/test/TestDynamicObjectMinimal;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Ljava/lang/NullPointerException;
invokestatic com.oracle.truffle.object.basic.test.DynamicTypeTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/object/basic/test/DynamicTypeTest;
2 6 1 emptyShape Lcom/oracle/truffle/api/object/Shape;
3 6 2 obj Lcom/oracle/truffle/object/basic/test/TestDynamicObjectMinimal;
4 6 3 lib Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
RuntimeVisibleAnnotations:
org.junit.Test()
private static java.lang.Object lambda$0();
descriptor: ()Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic com.oracle.truffle.api.object.Shape.newBuilder:()Lcom/oracle/truffle/api/object/Shape$Builder;
aconst_null
invokevirtual com.oracle.truffle.api.object.Shape$Builder.dynamicType:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Shape$Builder;
invokevirtual com.oracle.truffle.api.object.Shape$Builder.build:()Lcom/oracle/truffle/api/object/Shape;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$1(com.oracle.truffle.api.object.DynamicObjectLibrary, com.oracle.truffle.object.basic.test.TestDynamicObjectMinimal);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObjectLibrary;Lcom/oracle/truffle/object/basic/test/TestDynamicObjectMinimal;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
0: aload 0
aload 1
aconst_null
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
}
SourceFile: "DynamicTypeTest.java"
InnerClasses:
public final Builder = com.oracle.truffle.api.object.Shape$Builder of com.oracle.truffle.api.object.Shape
public final TestRun = com.oracle.truffle.api.test.AbstractParametrizedLibraryTest$TestRun of com.oracle.truffle.api.test.AbstractParametrizedLibraryTest
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Parameters = org.junit.runners.Parameterized$Parameters of org.junit.runners.Parameterized
RuntimeVisibleAnnotations:
org.junit.runner.RunWith(value = Lorg/junit/runners/Parameterized;)