public abstract class com.oracle.truffle.api.library.LibraryExport<T extends com.oracle.truffle.api.library.Library>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.api.library.LibraryExport
super_class: java.lang.Object
{
static final java.lang.String GENERATED_CLASS_SUFFIX;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "Gen"
private final java.lang.Class<?> receiverClass;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private final java.lang.Class<? extends T> library;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<+TT;>;
private final boolean defaultExport;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
java.lang.Class<?> registerClass;
descriptor: Ljava/lang/Class;
flags: (0x0000)
Signature: Ljava/lang/Class<*>;
protected void <init>(java.lang.Class<? extends T>, java.lang.Class<?>, );
descriptor: (Ljava/lang/Class;Ljava/lang/Class;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.api.library.LibraryExport.library:Ljava/lang/Class;
2: aload 0
aload 2
putfield com.oracle.truffle.api.library.LibraryExport.receiverClass:Ljava/lang/Class;
3: aload 0
iload 3
putfield com.oracle.truffle.api.library.LibraryExport.defaultExport:Z
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/library/LibraryExport<TT;>;
0 5 1 library Ljava/lang/Class<+TT;>;
0 5 2 receiverClass Ljava/lang/Class<*>;
0 5 3 defaultExport Z
Signature: (Ljava/lang/Class<+TT;>;Ljava/lang/Class<*>;Z)V
MethodParameters:
Name Flags
library
receiverClass
defaultExport
protected abstract T createUncached();
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (Ljava/lang/Object;)TT;
MethodParameters:
Name Flags
receiver
protected abstract T createCached();
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (Ljava/lang/Object;)TT;
MethodParameters:
Name Flags
receiver
final boolean isDefaultExport();
descriptor: ()Z
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.library.LibraryExport.defaultExport:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/library/LibraryExport<TT;>;
final java.lang.Class<?> getReceiverClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.library.LibraryExport.receiverClass:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/library/LibraryExport<TT;>;
Signature: ()Ljava/lang/Class<*>;
final java.lang.Class<? extends T> getLibrary();
descriptor: ()Ljava/lang/Class;
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.library.LibraryExport.library:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/library/LibraryExport<TT;>;
Signature: ()Ljava/lang/Class<+TT;>;
protected static <T extends com.oracle.truffle.api.library.Library> T createDelegate(com.oracle.truffle.api.library.LibraryFactory<T>, );
descriptor: (Lcom/oracle/truffle/api/library/LibraryFactory;Lcom/oracle/truffle/api/library/Library;)Lcom/oracle/truffle/api/library/Library;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.api.library.LibraryFactory.createDelegate:(Lcom/oracle/truffle/api/library/Library;)Lcom/oracle/truffle/api/library/Library;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.api.library.Library.isAdoptable:()Z
ifne 3
2: invokestatic com.oracle.truffle.api.library.LibraryAccessor.nodeAccessor:()Lcom/oracle/truffle/api/impl/Accessor$NodeSupport;
aload 2
aload 1
invokevirtual com.oracle.truffle.api.impl.Accessor$NodeSupport.forceAdoption:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/Node;)V
3: StackMap locals: com.oracle.truffle.api.library.Library
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 factory Lcom/oracle/truffle/api/library/LibraryFactory<TT;>;
0 4 1 delegate TT;
1 4 2 parent TT;
Signature: <T:Lcom/oracle/truffle/api/library/Library;>(Lcom/oracle/truffle/api/library/LibraryFactory<TT;>;TT;)TT;
MethodParameters:
Name Flags
factory
delegate
protected static com.oracle.truffle.api.utilities.FinalBitSet createMessageBitSet(com.oracle.truffle.api.library.LibraryFactory<?>, java.lang.String[]);
descriptor: (Lcom/oracle/truffle/api/library/LibraryFactory;[Ljava/lang/String;)Lcom/oracle/truffle/api/utilities/FinalBitSet;
flags: (0x008c) ACC_PROTECTED, ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
arraylength
anewarray com.oracle.truffle.api.library.Message
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: com.oracle.truffle.api.library.Message[] int
StackMap stack:
aload 2
iload 3
aload 0
getfield com.oracle.truffle.api.library.LibraryFactory.nameToMessages:Ljava/util/Map;
aload 1
iload 3
aaload
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.library.Message
aastore
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 1
arraylength
if_icmplt 3
end local 3 6: aload 0
aload 2
invokevirtual com.oracle.truffle.api.library.LibraryFactory.createMessageBitSet:([Lcom/oracle/truffle/api/library/Message;)Lcom/oracle/truffle/api/utilities/FinalBitSet;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 factory Lcom/oracle/truffle/api/library/LibraryFactory<*>;
0 7 1 messageNames [Ljava/lang/String;
1 7 2 messages [Lcom/oracle/truffle/api/library/Message;
2 6 3 i I
Signature: (Lcom/oracle/truffle/api/library/LibraryFactory<*>;[Ljava/lang/String;)Lcom/oracle/truffle/api/utilities/FinalBitSet;
MethodParameters:
Name Flags
factory
messageNames
public final java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "LibraryExport["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Lcom/oracle/truffle/api/dsl/GeneratedBy;
invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast com.oracle.truffle.api.dsl.GeneratedBy
invokeinterface com.oracle.truffle.api.dsl.GeneratedBy.value:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/library/LibraryExport<TT;>;
public static <T extends com.oracle.truffle.api.library.Library> void register(java.lang.Class<?>, com.oracle.truffle.api.library.LibraryExport<?>[]);
descriptor: (Ljava/lang/Class;[Lcom/oracle/truffle/api/library/LibraryExport;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.oracle.truffle.api.library.LibraryFactory$ResolvedDispatch.register:(Ljava/lang/Class;[Lcom/oracle/truffle/api/library/LibraryExport;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 receiverClass Ljava/lang/Class<*>;
0 2 1 libs [Lcom/oracle/truffle/api/library/LibraryExport;
Signature: <T:Lcom/oracle/truffle/api/library/Library;>(Ljava/lang/Class<*>;[Lcom/oracle/truffle/api/library/LibraryExport<*>;)V
MethodParameters:
Name Flags
receiverClass
libs
}
Signature: <T:Lcom/oracle/truffle/api/library/Library;>Ljava/lang/Object;
SourceFile: "LibraryExport.java"
NestMembers:
com.oracle.truffle.api.library.LibraryExport$DelegateExport
InnerClasses:
public abstract NodeSupport = com.oracle.truffle.api.impl.Accessor$NodeSupport of com.oracle.truffle.api.impl.Accessor
protected abstract DelegateExport = com.oracle.truffle.api.library.LibraryExport$DelegateExport of com.oracle.truffle.api.library.LibraryExport
final ResolvedDispatch = com.oracle.truffle.api.library.LibraryFactory$ResolvedDispatch of com.oracle.truffle.api.library.LibraryFactory