public class com.oracle.truffle.api.library.test.ExportSharingTest extends com.oracle.truffle.api.test.AbstractLibraryTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.library.test.ExportSharingTest
super_class: com.oracle.truffle.api.test.AbstractLibraryTest
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.oracle.truffle.api.library.test.ExportSharingTest this
0: .line 64
aload 0 /* this */
invokespecial com.oracle.truffle.api.test.AbstractLibraryTest.<init>:()V
return
end local 0 // com.oracle.truffle.api.library.test.ExportSharingTest this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/library/test/ExportSharingTest;
public void testTrivialSingletons();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 // com.oracle.truffle.api.library.test.ExportSharingTest this
0: .line 108
new com.oracle.truffle.api.library.test.ExportSharingTest$TestSingletonCached
dup
invokespecial com.oracle.truffle.api.library.test.ExportSharingTest$TestSingletonCached.<init>:()V
astore 3 /* obj */
start local 3 // com.oracle.truffle.api.library.test.ExportSharingTest$TestSingletonCached obj
1: .line 110
ldc Lcom/oracle/truffle/api/library/test/ExportSharingTest$ExportSharingLibrary;
aload 3 /* obj */
invokestatic com.oracle.truffle.api.library.test.ExportSharingTest.getUncached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary
astore 1 /* library1 */
start local 1 // com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary library1
2: .line 111
ldc Lcom/oracle/truffle/api/library/test/ExportSharingTest$ExportSharingLibrary;
aload 3 /* obj */
invokestatic com.oracle.truffle.api.library.test.ExportSharingTest.getUncached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary
astore 2 /* library2 */
start local 2 // com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary library2
3: .line 112
aload 1 /* library1 */
aload 2 /* library2 */
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
4: .line 114
ldc Lcom/oracle/truffle/api/library/test/ExportSharingTest$ExportSharingLibrary;
aload 3 /* obj */
invokestatic com.oracle.truffle.api.library.test.ExportSharingTest.createCached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary
astore 1 /* library1 */
5: .line 115
ldc Lcom/oracle/truffle/api/library/test/ExportSharingTest$ExportSharingLibrary;
aload 3 /* obj */
invokestatic com.oracle.truffle.api.library.test.ExportSharingTest.createCached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary
astore 2 /* library2 */
6: .line 116
aload 1 /* library1 */
aload 2 /* library2 */
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
7: .line 117
return
end local 3 // com.oracle.truffle.api.library.test.ExportSharingTest$TestSingletonCached obj
end local 2 // com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary library2
end local 1 // com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary library1
end local 0 // com.oracle.truffle.api.library.test.ExportSharingTest this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/api/library/test/ExportSharingTest;
2 8 1 library1 Lcom/oracle/truffle/api/library/test/ExportSharingTest$ExportSharingLibrary;
3 8 2 library2 Lcom/oracle/truffle/api/library/test/ExportSharingTest$ExportSharingLibrary;
1 8 3 obj Lcom/oracle/truffle/api/library/test/ExportSharingTest$TestSingletonCached;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testCachedNodeAdoption();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=1
start local 0 // com.oracle.truffle.api.library.test.ExportSharingTest this
0: .line 154
new com.oracle.truffle.api.library.test.ExportSharingTest$TestSimpleCached
dup
invokespecial com.oracle.truffle.api.library.test.ExportSharingTest$TestSimpleCached.<init>:()V
astore 1 /* obj */
start local 1 // com.oracle.truffle.api.library.test.ExportSharingTest$TestSimpleCached obj
1: .line 155
ldc Lcom/oracle/truffle/api/library/test/ExportSharingTest$ExportSharingLibrary;
aload 1 /* obj */
invokestatic com.oracle.truffle.api.library.test.ExportSharingTest.createCached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary
astore 2 /* library1 */
start local 2 // com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary library1
2: .line 156
ldc Lcom/oracle/truffle/api/library/test/ExportSharingTest$ExportSharingLibrary;
aload 1 /* obj */
invokestatic com.oracle.truffle.api.library.test.ExportSharingTest.createCached:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary
astore 3 /* library2 */
start local 3 // com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary library2
3: .line 157
aload 2 /* library1 */
invokevirtual com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary.getChildren:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
4: .line 158
aload 3 /* library2 */
invokevirtual com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary.getChildren:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
5: .line 159
aload 2 /* library1 */
aload 1 /* obj */
invokevirtual com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary.accepts:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
6: .line 160
aload 3 /* library2 */
aload 1 /* obj */
invokevirtual com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary.accepts:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
7: .line 161
aload 2 /* library1 */
ldc ""
invokevirtual com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary.accepts:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
8: .line 162
aload 3 /* library2 */
ldc ""
invokevirtual com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary.accepts:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
9: .line 164
aload 2 /* library1 */
aload 3 /* library2 */
invokestatic org.junit.Assert.assertNotSame:(Ljava/lang/Object;Ljava/lang/Object;)V
10: .line 165
aload 2 /* library1 */
aload 3 /* library2 */
invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
11: .line 167
aload 2 /* library1 */
aload 1 /* obj */
invokevirtual com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary.m0:(Ljava/lang/Object;)Ljava/lang/String;
pop
12: .line 168
aload 3 /* library2 */
aload 1 /* obj */
invokevirtual com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary.m0:(Ljava/lang/Object;)Ljava/lang/String;
pop
13: .line 170
aload 2 /* library1 */
invokevirtual com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary.getChildren:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4 /* node */
start local 4 // java.util.Iterator node
14: .line 171
aload 4 /* node */
invokeinterface java.util.Iterator.hasNext:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
15: .line 172
aload 4 /* node */
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.Node
astore 5 /* child */
start local 5 // com.oracle.truffle.api.nodes.Node child
16: .line 173
aload 2 /* library1 */
aload 5 /* child */
invokevirtual com.oracle.truffle.api.nodes.Node.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
17: .line 174
aload 5 /* child */
instanceof com.oracle.truffle.api.library.test.ExportSharingTest$TestCached1Node
invokestatic org.junit.Assert.assertTrue:(Z)V
18: .line 176
aload 3 /* library2 */
invokevirtual com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary.getChildren:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4 /* node */
19: .line 177
aload 4 /* node */
invokeinterface java.util.Iterator.hasNext:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
20: .line 178
aload 4 /* node */
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.Node
astore 6 /* otherChild */
start local 6 // com.oracle.truffle.api.nodes.Node otherChild
21: .line 179
aload 3 /* library2 */
aload 6 /* otherChild */
invokevirtual com.oracle.truffle.api.nodes.Node.getParent:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
22: .line 180
aload 6 /* otherChild */
instanceof com.oracle.truffle.api.library.test.ExportSharingTest$TestCached1Node
invokestatic org.junit.Assert.assertTrue:(Z)V
23: .line 181
return
end local 6 // com.oracle.truffle.api.nodes.Node otherChild
end local 5 // com.oracle.truffle.api.nodes.Node child
end local 4 // java.util.Iterator node
end local 3 // com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary library2
end local 2 // com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary library1
end local 1 // com.oracle.truffle.api.library.test.ExportSharingTest$TestSimpleCached obj
end local 0 // com.oracle.truffle.api.library.test.ExportSharingTest this
LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/oracle/truffle/api/library/test/ExportSharingTest;
1 24 1 obj Lcom/oracle/truffle/api/library/test/ExportSharingTest$TestSimpleCached;
2 24 2 library1 Lcom/oracle/truffle/api/library/test/ExportSharingTest$ExportSharingLibrary;
3 24 3 library2 Lcom/oracle/truffle/api/library/test/ExportSharingTest$ExportSharingLibrary;
14 24 4 node Ljava/util/Iterator<Lcom/oracle/truffle/api/nodes/Node;>;
16 24 5 child Lcom/oracle/truffle/api/nodes/Node;
21 24 6 otherChild Lcom/oracle/truffle/api/nodes/Node;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "ExportSharingTest.java"
NestMembers:
com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary com.oracle.truffle.api.library.test.ExportSharingTest$TestCached1Node com.oracle.truffle.api.library.test.ExportSharingTest$TestSharedCached com.oracle.truffle.api.library.test.ExportSharingTest$TestSharedCachedWithArgs com.oracle.truffle.api.library.test.ExportSharingTest$TestSimpleCached com.oracle.truffle.api.library.test.ExportSharingTest$TestSingletonCached
InnerClasses:
public abstract ExportSharingLibrary = com.oracle.truffle.api.library.test.ExportSharingTest$ExportSharingLibrary of com.oracle.truffle.api.library.test.ExportSharingTest
abstract TestCached1Node = com.oracle.truffle.api.library.test.ExportSharingTest$TestCached1Node of com.oracle.truffle.api.library.test.ExportSharingTest
TestSharedCached = com.oracle.truffle.api.library.test.ExportSharingTest$TestSharedCached of com.oracle.truffle.api.library.test.ExportSharingTest
TestSharedCachedWithArgs = com.oracle.truffle.api.library.test.ExportSharingTest$TestSharedCachedWithArgs of com.oracle.truffle.api.library.test.ExportSharingTest
TestSimpleCached = com.oracle.truffle.api.library.test.ExportSharingTest$TestSimpleCached of com.oracle.truffle.api.library.test.ExportSharingTest
final TestSingletonCached = com.oracle.truffle.api.library.test.ExportSharingTest$TestSingletonCached of com.oracle.truffle.api.library.test.ExportSharingTest