public class com.oracle.truffle.api.library.test.ExportSubclassTest 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.ExportSubclassTest
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.ExportSubclassTest 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.ExportSubclassTest this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/library/test/ExportSubclassTest;
public void testOtherPackageSubclass();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 // com.oracle.truffle.api.library.test.ExportSubclassTest this
0: .line 213
new com.oracle.truffle.api.library.test.ExportSubclassTest$OtherPackageSubClass
dup
invokespecial com.oracle.truffle.api.library.test.ExportSubclassTest$OtherPackageSubClass.<init>:()V
astore 1 /* subclass */
start local 1 // com.oracle.truffle.api.library.test.ExportSubclassTest$OtherPackageSubClass subclass
1: .line 214
ldc Lcom/oracle/truffle/api/library/test/otherPackage/OtherPackageLibrary;
iconst_4
invokestatic com.oracle.truffle.api.library.test.ExportSubclassTest.createCachedDispatch:(Ljava/lang/Class;I)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.library.test.otherPackage.OtherPackageLibrary
astore 2 /* lib */
start local 2 // com.oracle.truffle.api.library.test.otherPackage.OtherPackageLibrary lib
2: .line 215
ldc "m0_sub"
aload 2 /* lib */
aload 1 /* subclass */
invokevirtual com.oracle.truffle.api.library.test.otherPackage.OtherPackageLibrary.m0:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: .line 216
ldc "m1_base"
aload 2 /* lib */
aload 1 /* subclass */
invokevirtual com.oracle.truffle.api.library.test.otherPackage.OtherPackageLibrary.m1:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: .line 217
ldc "m2_base"
aload 2 /* lib */
aload 1 /* subclass */
invokevirtual com.oracle.truffle.api.library.test.otherPackage.OtherPackageLibrary.m2:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: .line 218
ldc "m3_base"
aload 2 /* lib */
aload 1 /* subclass */
invokevirtual com.oracle.truffle.api.library.test.otherPackage.OtherPackageLibrary.m3:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: .line 219
ldc "m4_sub"
aload 2 /* lib */
aload 1 /* subclass */
invokevirtual com.oracle.truffle.api.library.test.otherPackage.OtherPackageLibrary.m4:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: .line 220
ldc "m5_default"
aload 2 /* lib */
aload 1 /* subclass */
invokevirtual com.oracle.truffle.api.library.test.otherPackage.OtherPackageLibrary.m5:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: .line 222
new com.oracle.truffle.api.library.test.otherPackage.OtherPackageBaseObject
dup
invokespecial com.oracle.truffle.api.library.test.otherPackage.OtherPackageBaseObject.<init>:()V
astore 3 /* baseClass */
start local 3 // com.oracle.truffle.api.library.test.otherPackage.OtherPackageBaseObject baseClass
9: .line 223
ldc "m0_base"
aload 2 /* lib */
aload 3 /* baseClass */
invokevirtual com.oracle.truffle.api.library.test.otherPackage.OtherPackageLibrary.m0:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
10: .line 224
ldc "m1_base"
aload 2 /* lib */
aload 3 /* baseClass */
invokevirtual com.oracle.truffle.api.library.test.otherPackage.OtherPackageLibrary.m1:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
11: .line 225
ldc "m2_base"
aload 2 /* lib */
aload 3 /* baseClass */
invokevirtual com.oracle.truffle.api.library.test.otherPackage.OtherPackageLibrary.m2:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
12: .line 226
ldc "m3_base"
aload 2 /* lib */
aload 3 /* baseClass */
invokevirtual com.oracle.truffle.api.library.test.otherPackage.OtherPackageLibrary.m3:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
13: .line 227
ldc "m4_default"
aload 2 /* lib */
aload 3 /* baseClass */
invokevirtual com.oracle.truffle.api.library.test.otherPackage.OtherPackageLibrary.m4:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
14: .line 228
ldc "m5_default"
aload 2 /* lib */
aload 3 /* baseClass */
invokevirtual com.oracle.truffle.api.library.test.otherPackage.OtherPackageLibrary.m5:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
15: .line 229
return
end local 3 // com.oracle.truffle.api.library.test.otherPackage.OtherPackageBaseObject baseClass
end local 2 // com.oracle.truffle.api.library.test.otherPackage.OtherPackageLibrary lib
end local 1 // com.oracle.truffle.api.library.test.ExportSubclassTest$OtherPackageSubClass subclass
end local 0 // com.oracle.truffle.api.library.test.ExportSubclassTest this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/api/library/test/ExportSubclassTest;
1 16 1 subclass Lcom/oracle/truffle/api/library/test/ExportSubclassTest$OtherPackageSubClass;
2 16 2 lib Lcom/oracle/truffle/api/library/test/otherPackage/OtherPackageLibrary;
9 16 3 baseClass Lcom/oracle/truffle/api/library/test/otherPackage/OtherPackageBaseObject;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testSubclass();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 // com.oracle.truffle.api.library.test.ExportSubclassTest this
0: .line 244
iconst_0
istore 1 /* i */
start local 1 // int i
1: goto 12
2: .line 245
StackMap locals: int
StackMap stack:
ldc Lcom/oracle/truffle/api/library/test/ExportSubclassTest$ExportSubclassLibrary1;
iload 1 /* i */
invokestatic com.oracle.truffle.api.library.test.ExportSubclassTest.createCachedDispatch:(Ljava/lang/Class;I)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1
astore 2 /* lib */
start local 2 // com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1 lib
3: .line 247
ldc "base_m0"
aload 2 /* lib */
new com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassBaseClass
dup
invokespecial com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassBaseClass.<init>:()V
invokevirtual com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1.m0:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: .line 248
ldc "sub1_m0"
aload 2 /* lib */
new com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass1
dup
invokespecial com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass1.<init>:()V
invokevirtual com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1.m0:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: .line 249
ldc "sub2_m0"
aload 2 /* lib */
new com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass2
dup
invokespecial com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass2.<init>:()V
invokevirtual com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1.m0:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: .line 250
ldc "sub3_m01"
aload 2 /* lib */
new com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass3
dup
invokespecial com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass3.<init>:()V
invokevirtual com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1.m0:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: .line 252
ldc "base_m1"
aload 2 /* lib */
new com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassBaseClass
dup
invokespecial com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassBaseClass.<init>:()V
invokevirtual com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1.m1:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: .line 253
ldc "sub1_m1"
aload 2 /* lib */
new com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass1
dup
invokespecial com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass1.<init>:()V
invokevirtual com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1.m1:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: .line 254
ldc "base_m1"
aload 2 /* lib */
new com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass2
dup
invokespecial com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass2.<init>:()V
invokevirtual com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1.m1:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
10: .line 255
ldc "sub3_m01"
aload 2 /* lib */
new com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass3
dup
invokespecial com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass3.<init>:()V
invokevirtual com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1.m0:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 2 // com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1 lib
11: .line 244
iinc 1 /* i */ 1
StackMap locals:
StackMap stack:
12: iload 1 /* i */
iconst_4
if_icmplt 2
end local 1 // int i
13: .line 257
return
end local 0 // com.oracle.truffle.api.library.test.ExportSubclassTest this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/api/library/test/ExportSubclassTest;
1 13 1 i I
3 11 2 lib Lcom/oracle/truffle/api/library/test/ExportSubclassTest$ExportSubclassLibrary1;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testMergedLibraryInheritance();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 // com.oracle.truffle.api.library.test.ExportSubclassTest this
0: .line 261
ldc Lcom/oracle/truffle/api/library/test/ExportSubclassTest$ExportSubclassLibrary1;
iconst_5
invokestatic com.oracle.truffle.api.library.test.ExportSubclassTest.createCachedDispatch:(Ljava/lang/Class;I)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1
astore 1 /* lib */
start local 1 // com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1 lib
1: .line 262
ldc "m0_default"
aload 1 /* lib */
new com.oracle.truffle.api.library.test.ExportSubclassTest$MergedLibraryBase
dup
invokespecial com.oracle.truffle.api.library.test.ExportSubclassTest$MergedLibraryBase.<init>:()V
invokevirtual com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1.m0:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
2: .line 263
ldc "base_m1"
aload 1 /* lib */
new com.oracle.truffle.api.library.test.ExportSubclassTest$MergedLibraryBase
dup
invokespecial com.oracle.truffle.api.library.test.ExportSubclassTest$MergedLibraryBase.<init>:()V
invokevirtual com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1.m1:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: .line 265
ldc "sub_m0"
aload 1 /* lib */
new com.oracle.truffle.api.library.test.ExportSubclassTest$MergedLibrarySub
dup
invokespecial com.oracle.truffle.api.library.test.ExportSubclassTest$MergedLibrarySub.<init>:()V
invokevirtual com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1.m0:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: .line 266
ldc "base_m1"
aload 1 /* lib */
new com.oracle.truffle.api.library.test.ExportSubclassTest$MergedLibrarySub
dup
invokespecial com.oracle.truffle.api.library.test.ExportSubclassTest$MergedLibrarySub.<init>:()V
invokevirtual com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1.m1:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: .line 268
return
end local 1 // com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1 lib
end local 0 // com.oracle.truffle.api.library.test.ExportSubclassTest this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/api/library/test/ExportSubclassTest;
1 6 1 lib Lcom/oracle/truffle/api/library/test/ExportSubclassTest$ExportSubclassLibrary1;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "ExportSubclassTest.java"
NestMembers:
com.oracle.truffle.api.library.test.ExportSubclassTest$AcceptsRedeclaredBase com.oracle.truffle.api.library.test.ExportSubclassTest$AcceptsRedeclaredSub com.oracle.truffle.api.library.test.ExportSubclassTest$EmptyExportLibaryDeclarationError com.oracle.truffle.api.library.test.ExportSubclassTest$ErrorRedirectionBaseClass com.oracle.truffle.api.library.test.ExportSubclassTest$ErrorRedirectionSubClass com.oracle.truffle.api.library.test.ExportSubclassTest$ExportRedirectionBase com.oracle.truffle.api.library.test.ExportSubclassTest$ExportRedirectionSub com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassBaseClass com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassBaseClass$M1 com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1 com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary2 com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass1 com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass1$M0 com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass2 com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass3 com.oracle.truffle.api.library.test.ExportSubclassTest$InvisibleBaseElement1 com.oracle.truffle.api.library.test.ExportSubclassTest$InvisibleBaseElement2 com.oracle.truffle.api.library.test.ExportSubclassTest$InvisibleBaseElement3 com.oracle.truffle.api.library.test.ExportSubclassTest$MergedLibraryBase com.oracle.truffle.api.library.test.ExportSubclassTest$MergedLibrarySub com.oracle.truffle.api.library.test.ExportSubclassTest$MissingExportLibraryError com.oracle.truffle.api.library.test.ExportSubclassTest$MissingExportWithBaseTypeError com.oracle.truffle.api.library.test.ExportSubclassTest$MissingExportWithBaseTypeInvalidMessageError com.oracle.truffle.api.library.test.ExportSubclassTest$OtherPackageSubClass
InnerClasses:
AcceptsRedeclaredBase = com.oracle.truffle.api.library.test.ExportSubclassTest$AcceptsRedeclaredBase of com.oracle.truffle.api.library.test.ExportSubclassTest
AcceptsRedeclaredSub = com.oracle.truffle.api.library.test.ExportSubclassTest$AcceptsRedeclaredSub of com.oracle.truffle.api.library.test.ExportSubclassTest
EmptyExportLibaryDeclarationError = com.oracle.truffle.api.library.test.ExportSubclassTest$EmptyExportLibaryDeclarationError of com.oracle.truffle.api.library.test.ExportSubclassTest
ErrorRedirectionBaseClass = com.oracle.truffle.api.library.test.ExportSubclassTest$ErrorRedirectionBaseClass of com.oracle.truffle.api.library.test.ExportSubclassTest
ErrorRedirectionSubClass = com.oracle.truffle.api.library.test.ExportSubclassTest$ErrorRedirectionSubClass of com.oracle.truffle.api.library.test.ExportSubclassTest
ExportRedirectionBase = com.oracle.truffle.api.library.test.ExportSubclassTest$ExportRedirectionBase of com.oracle.truffle.api.library.test.ExportSubclassTest
ExportRedirectionSub = com.oracle.truffle.api.library.test.ExportSubclassTest$ExportRedirectionSub of com.oracle.truffle.api.library.test.ExportSubclassTest
public ExportSubclassBaseClass = com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassBaseClass of com.oracle.truffle.api.library.test.ExportSubclassTest
public abstract ExportSubclassLibrary1 = com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary1 of com.oracle.truffle.api.library.test.ExportSubclassTest
public abstract ExportSubclassLibrary2 = com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassLibrary2 of com.oracle.truffle.api.library.test.ExportSubclassTest
final ExportSubclassSubClass1 = com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass1 of com.oracle.truffle.api.library.test.ExportSubclassTest
ExportSubclassSubClass2 = com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass2 of com.oracle.truffle.api.library.test.ExportSubclassTest
ExportSubclassSubClass3 = com.oracle.truffle.api.library.test.ExportSubclassTest$ExportSubclassSubClass3 of com.oracle.truffle.api.library.test.ExportSubclassTest
InvisibleBaseElement1 = com.oracle.truffle.api.library.test.ExportSubclassTest$InvisibleBaseElement1 of com.oracle.truffle.api.library.test.ExportSubclassTest
InvisibleBaseElement2 = com.oracle.truffle.api.library.test.ExportSubclassTest$InvisibleBaseElement2 of com.oracle.truffle.api.library.test.ExportSubclassTest
InvisibleBaseElement3 = com.oracle.truffle.api.library.test.ExportSubclassTest$InvisibleBaseElement3 of com.oracle.truffle.api.library.test.ExportSubclassTest
MergedLibraryBase = com.oracle.truffle.api.library.test.ExportSubclassTest$MergedLibraryBase of com.oracle.truffle.api.library.test.ExportSubclassTest
MergedLibrarySub = com.oracle.truffle.api.library.test.ExportSubclassTest$MergedLibrarySub of com.oracle.truffle.api.library.test.ExportSubclassTest
MissingExportLibraryError = com.oracle.truffle.api.library.test.ExportSubclassTest$MissingExportLibraryError of com.oracle.truffle.api.library.test.ExportSubclassTest
MissingExportWithBaseTypeError = com.oracle.truffle.api.library.test.ExportSubclassTest$MissingExportWithBaseTypeError of com.oracle.truffle.api.library.test.ExportSubclassTest
MissingExportWithBaseTypeInvalidMessageError = com.oracle.truffle.api.library.test.ExportSubclassTest$MissingExportWithBaseTypeInvalidMessageError of com.oracle.truffle.api.library.test.ExportSubclassTest
OtherPackageSubClass = com.oracle.truffle.api.library.test.ExportSubclassTest$OtherPackageSubClass of com.oracle.truffle.api.library.test.ExportSubclassTest