abstract class com.oracle.truffle.nfi.SignatureRootNode$GetSignatureTypeNode extends com.oracle.truffle.nfi.SignatureRootNode$GetTypeNode
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.nfi.SignatureRootNode$GetSignatureTypeNode
super_class: com.oracle.truffle.nfi.SignatureRootNode$GetTypeNode
{
com.oracle.truffle.nfi.SignatureRootNode$BuildSignatureNode buildSignature;
descriptor: Lcom/oracle/truffle/nfi/SignatureRootNode$BuildSignatureNode;
flags: (0x0000)
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
void <init>(com.oracle.truffle.nfi.SignatureRootNode$BuildSignatureNode);
descriptor: (Lcom/oracle/truffle/nfi/SignatureRootNode$BuildSignatureNode;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // com.oracle.truffle.nfi.SignatureRootNode$GetSignatureTypeNode this
start local 1 // com.oracle.truffle.nfi.SignatureRootNode$BuildSignatureNode buildSignature
0: .line 215
aload 0 /* this */
invokespecial com.oracle.truffle.nfi.SignatureRootNode$GetTypeNode.<init>:()V
1: .line 216
aload 0 /* this */
aload 1 /* buildSignature */
putfield com.oracle.truffle.nfi.SignatureRootNode$GetSignatureTypeNode.buildSignature:Lcom/oracle/truffle/nfi/SignatureRootNode$BuildSignatureNode;
2: .line 217
return
end local 1 // com.oracle.truffle.nfi.SignatureRootNode$BuildSignatureNode buildSignature
end local 0 // com.oracle.truffle.nfi.SignatureRootNode$GetSignatureTypeNode this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/nfi/SignatureRootNode$GetSignatureTypeNode;
0 3 1 buildSignature Lcom/oracle/truffle/nfi/SignatureRootNode$BuildSignatureNode;
MethodParameters:
Name Flags
buildSignature
java.lang.Object getType(com.oracle.truffle.nfi.API, com.oracle.truffle.nfi.spi.NFIBackendLibrary);
descriptor: (Lcom/oracle/truffle/nfi/API;Lcom/oracle/truffle/nfi/spi/NFIBackendLibrary;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=5, args_size=3
start local 0 // com.oracle.truffle.nfi.SignatureRootNode$GetSignatureTypeNode this
start local 1 // com.oracle.truffle.nfi.API api
start local 2 // com.oracle.truffle.nfi.spi.NFIBackendLibrary backend
0: .line 222
aload 0 /* this */
getfield com.oracle.truffle.nfi.SignatureRootNode$GetSignatureTypeNode.buildSignature:Lcom/oracle/truffle/nfi/SignatureRootNode$BuildSignatureNode;
aload 1 /* api */
invokevirtual com.oracle.truffle.nfi.SignatureRootNode$BuildSignatureNode.execute:(Lcom/oracle/truffle/nfi/API;)Ljava/lang/Object;
astore 3 /* signature */
start local 3 // java.lang.Object signature
1: .line 223
aload 2 /* backend */
aload 1 /* api */
getfield com.oracle.truffle.nfi.API.backend:Lcom/oracle/truffle/nfi/spi/NFIBackend;
getstatic com.oracle.truffle.nfi.spi.types.NativeSimpleType.POINTER:Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;
invokevirtual com.oracle.truffle.nfi.spi.NFIBackendLibrary.getSimpleType:(Ljava/lang/Object;Lcom/oracle/truffle/nfi/spi/types/NativeSimpleType;)Ljava/lang/Object;
astore 4 /* backendType */
start local 4 // java.lang.Object backendType
2: .line 224
new com.oracle.truffle.nfi.NFIType
dup
getstatic com.oracle.truffle.nfi.NFIType.CLOSURE:Lcom/oracle/truffle/nfi/NFIType$TypeCachedState;
aload 4 /* backendType */
aload 3 /* signature */
invokespecial com.oracle.truffle.nfi.NFIType.<init>:(Lcom/oracle/truffle/nfi/NFIType$TypeCachedState;Ljava/lang/Object;Ljava/lang/Object;)V
areturn
end local 4 // java.lang.Object backendType
end local 3 // java.lang.Object signature
end local 2 // com.oracle.truffle.nfi.spi.NFIBackendLibrary backend
end local 1 // com.oracle.truffle.nfi.API api
end local 0 // com.oracle.truffle.nfi.SignatureRootNode$GetSignatureTypeNode this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/nfi/SignatureRootNode$GetSignatureTypeNode;
0 3 1 api Lcom/oracle/truffle/nfi/API;
0 3 2 backend Lcom/oracle/truffle/nfi/spi/NFIBackendLibrary;
1 3 3 signature Ljava/lang/Object;
2 3 4 backendType Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(limit = "1")
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.library.CachedLibrary(value = "api.backend")
MethodParameters:
Name Flags
api
backend
}
SourceFile: "SignatureRootNode.java"
NestHost: com.oracle.truffle.nfi.SignatureRootNode
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
abstract TypeCachedState = com.oracle.truffle.nfi.NFIType$TypeCachedState of com.oracle.truffle.nfi.NFIType
abstract BuildSignatureNode = com.oracle.truffle.nfi.SignatureRootNode$BuildSignatureNode of com.oracle.truffle.nfi.SignatureRootNode
abstract GetSignatureTypeNode = com.oracle.truffle.nfi.SignatureRootNode$GetSignatureTypeNode of com.oracle.truffle.nfi.SignatureRootNode
abstract GetTypeNode = com.oracle.truffle.nfi.SignatureRootNode$GetTypeNode of com.oracle.truffle.nfi.SignatureRootNode