public class com.oracle.truffle.api.test.interop.IsSameWrapperTest extends com.oracle.truffle.api.test.interop.InteropLibraryBaseTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.test.interop.IsSameWrapperTest
super_class: com.oracle.truffle.api.test.interop.InteropLibraryBaseTest
{
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.interop.InteropLibraryBaseTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/interop/IsSameWrapperTest;
public void test();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=15, args_size=1
start local 0 0: bipush 6
anewarray java.lang.Object
dup
iconst_0
1: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_1
2: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_2
3: new com.oracle.truffle.api.test.interop.IsSameWrapperTest$IdentityBoolean
dup
iconst_1
invokespecial com.oracle.truffle.api.test.interop.IsSameWrapperTest$IdentityBoolean.<init>:(Z)V
aastore
dup
iconst_3
4: new com.oracle.truffle.api.test.interop.IsSameWrapperTest$IdentityBoolean
dup
iconst_1
invokespecial com.oracle.truffle.api.test.interop.IsSameWrapperTest$IdentityBoolean.<init>:(Z)V
aastore
dup
iconst_4
5: new com.oracle.truffle.api.test.interop.IsSameWrapperTest$IdentityBoolean
dup
iconst_0
invokespecial com.oracle.truffle.api.test.interop.IsSameWrapperTest$IdentityBoolean.<init>:(Z)V
aastore
dup
iconst_5
6: new com.oracle.truffle.api.test.interop.IsSameWrapperTest$IdentityBoolean
dup
iconst_0
invokespecial com.oracle.truffle.api.test.interop.IsSameWrapperTest$IdentityBoolean.<init>:(Z)V
aastore
7: astore 1
start local 1 8: iconst_0
istore 2
start local 2 9: iconst_0
istore 3
start local 3 10: iconst_0
istore 4
start local 4 11: goto 62
12: StackMap locals: com.oracle.truffle.api.test.interop.IsSameWrapperTest java.lang.Object[] int int int
StackMap stack:
iconst_0
istore 5
start local 5 13: goto 60
14: StackMap locals: int
StackMap stack:
aload 1
iload 4
aaload
astore 6
start local 6 15: aload 1
iload 5
aaload
astore 7
start local 7 16: aload 0
ldc Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 6
invokevirtual com.oracle.truffle.api.test.interop.IsSameWrapperTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 8
start local 8 17: aload 0
ldc Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 7
invokevirtual com.oracle.truffle.api.test.interop.IsSameWrapperTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 9
start local 9 18: iconst_1
istore 10
start local 10 19: aload 8
aload 6
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasIdentity:(Ljava/lang/Object;)Z
ifeq 20
aload 9
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasIdentity:(Ljava/lang/Object;)Z
ifne 22
20: StackMap locals: com.oracle.truffle.api.test.interop.IsSameWrapperTest java.lang.Object[] int int int int java.lang.Object java.lang.Object com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.api.interop.InteropLibrary int
StackMap stack:
iconst_0
istore 10
21: goto 25
22: StackMap locals:
StackMap stack:
aload 8
aload 6
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asBoolean:(Ljava/lang/Object;)Z
aload 9
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asBoolean:(Ljava/lang/Object;)Z
if_icmpne 23
iconst_1
goto 24
StackMap locals:
StackMap stack:
23: iconst_0
StackMap locals:
StackMap stack: int
24: istore 10
25: StackMap locals:
StackMap stack:
iload 10
ifeq 28
26: iinc 2 1
27: goto 29
28: StackMap locals:
StackMap stack:
iinc 3 1
29: StackMap locals:
StackMap stack:
new com.oracle.truffle.api.test.interop.IsSameWrapperTest$IdentityBooleanWrapper
dup
aload 6
invokespecial com.oracle.truffle.api.test.interop.IsSameWrapperTest$IdentityBooleanWrapper.<init>:(Ljava/lang/Object;)V
astore 11
start local 11 30: new com.oracle.truffle.api.test.interop.IsSameWrapperTest$IdentityBooleanWrapper
dup
aload 7
invokespecial com.oracle.truffle.api.test.interop.IsSameWrapperTest$IdentityBooleanWrapper.<init>:(Ljava/lang/Object;)V
astore 12
start local 12 31: aload 0
ldc Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 11
invokevirtual com.oracle.truffle.api.test.interop.IsSameWrapperTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 13
start local 13 32: aload 0
ldc Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 12
invokevirtual com.oracle.truffle.api.test.interop.IsSameWrapperTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 14
start local 14 33: iload 10
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 8
aload 6
aload 7
aload 9
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isIdentical:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
34: iload 10
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 9
aload 7
aload 6
aload 8
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isIdentical:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
35: iload 10
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 13
aload 11
aload 7
aload 9
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isIdentical:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
36: iload 10
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 13
aload 11
aload 12
aload 14
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isIdentical:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
37: iload 10
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 8
aload 6
aload 12
aload 14
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isIdentical:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
38: aload 8
aload 6
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasIdentity:(Ljava/lang/Object;)Z
ifeq 46
39: aload 8
aload 6
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asBoolean:(Ljava/lang/Object;)Z
ifeq 40
iconst_1
goto 41
StackMap locals: com.oracle.truffle.api.test.interop.IsSameWrapperTest java.lang.Object[] int int int int java.lang.Object java.lang.Object com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.api.interop.InteropLibrary int java.lang.Object java.lang.Object com.oracle.truffle.api.interop.InteropLibrary com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
40: iconst_0
StackMap locals:
StackMap stack: int
41: i2l
aload 8
aload 6
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
42: aload 8
aload 6
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asBoolean:(Ljava/lang/Object;)Z
ifeq 43
iconst_1
goto 44
StackMap locals:
StackMap stack:
43: iconst_0
StackMap locals:
StackMap stack: int
44: i2l
aload 13
aload 11
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
45: goto 48
46: StackMap locals:
StackMap stack:
aload 8
aload 6
invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)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/api/test/interop/IsSameWrapperTest.lambda$0(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
invokestatic com.oracle.truffle.api.test.interop.IsSameWrapperTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
47: aload 13
aload 11
invokedynamic call(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)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/api/test/interop/IsSameWrapperTest.lambda$1(Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
ldc Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
invokestatic com.oracle.truffle.api.test.interop.IsSameWrapperTest.assertFails:(Ljava/util/concurrent/Callable;Ljava/lang/Class;)V
48: StackMap locals:
StackMap stack:
aload 8
aload 6
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasIdentity:(Ljava/lang/Object;)Z
ifeq 59
aload 9
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasIdentity:(Ljava/lang/Object;)Z
ifeq 59
49: iload 10
ifeq 55
50: aload 8
aload 6
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
aload 9
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
51: aload 8
aload 6
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
aload 14
aload 12
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
52: aload 13
aload 11
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
aload 9
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
53: aload 13
aload 11
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
aload 14
aload 12
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
54: goto 59
55: StackMap locals:
StackMap stack:
aload 8
aload 6
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
aload 9
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
invokestatic org.junit.Assert.assertNotEquals:(JJ)V
56: aload 8
aload 6
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
aload 14
aload 12
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
invokestatic org.junit.Assert.assertNotEquals:(JJ)V
57: aload 13
aload 11
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
aload 9
aload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
invokestatic org.junit.Assert.assertNotEquals:(JJ)V
58: aload 13
aload 11
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
aload 14
aload 12
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
i2l
invokestatic org.junit.Assert.assertNotEquals:(JJ)V
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 59: StackMap locals: com.oracle.truffle.api.test.interop.IsSameWrapperTest java.lang.Object[] int int int int
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
60: iload 5
aload 1
arraylength
if_icmplt 14
end local 5 61: iinc 4 1
StackMap locals:
StackMap stack:
62: iload 4
aload 1
arraylength
if_icmplt 12
end local 4 63: ldc 8
iload 2
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
64: ldc 28
iload 3
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
65: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 66 0 this Lcom/oracle/truffle/api/test/interop/IsSameWrapperTest;
8 66 1 values [Ljava/lang/Object;
9 66 2 actualTrueCount I
10 66 3 actualFalseCount I
11 63 4 i I
13 61 5 j I
15 59 6 left Ljava/lang/Object;
16 59 7 right Ljava/lang/Object;
17 59 8 leftLib Lcom/oracle/truffle/api/interop/InteropLibrary;
18 59 9 rightLib Lcom/oracle/truffle/api/interop/InteropLibrary;
19 59 10 expectedResult Z
30 59 11 leftWrapper Ljava/lang/Object;
31 59 12 rightWrapper Ljava/lang/Object;
32 59 13 leftWrapperLib Lcom/oracle/truffle/api/interop/InteropLibrary;
33 59 14 rightWrapperLib Lcom/oracle/truffle/api/interop/InteropLibrary;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
RuntimeVisibleAnnotations:
org.junit.Test()
private static java.lang.Object lambda$0(com.oracle.truffle.api.interop.InteropLibrary, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$1(com.oracle.truffle.api.interop.InteropLibrary, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
}
SourceFile: "IsSameWrapperTest.java"
NestMembers:
com.oracle.truffle.api.test.interop.IsSameWrapperTest$IdentityBoolean com.oracle.truffle.api.test.interop.IsSameWrapperTest$IdentityBooleanWrapper
InnerClasses:
IdentityBoolean = com.oracle.truffle.api.test.interop.IsSameWrapperTest$IdentityBoolean of com.oracle.truffle.api.test.interop.IsSameWrapperTest
IdentityBooleanWrapper = com.oracle.truffle.api.test.interop.IsSameWrapperTest$IdentityBooleanWrapper of com.oracle.truffle.api.test.interop.IsSameWrapperTest
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles