class com.oracle.truffle.api.test.TruffleExceptionTest$4 extends com.oracle.truffle.api.test.polyglot.ProxyLanguage
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.test.TruffleExceptionTest$4
super_class: com.oracle.truffle.api.test.polyglot.ProxyLanguage
{
final com.oracle.truffle.api.test.TruffleExceptionTest this$0;
descriptor: Lcom/oracle/truffle/api/test/TruffleExceptionTest;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.api.test.TruffleExceptionTest);
descriptor: (Lcom/oracle/truffle/api/test/TruffleExceptionTest;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // com.oracle.truffle.api.test.TruffleExceptionTest$4 this
0: .line 141
aload 0 /* this */
aload 1
putfield com.oracle.truffle.api.test.TruffleExceptionTest$4.this$0:Lcom/oracle/truffle/api/test/TruffleExceptionTest;
aload 0 /* this */
invokespecial com.oracle.truffle.api.test.polyglot.ProxyLanguage.<init>:()V
return
end local 0 // com.oracle.truffle.api.test.TruffleExceptionTest$4 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/TruffleExceptionTest$4;
MethodParameters:
Name Flags
this$0 final
protected com.oracle.truffle.api.CallTarget parse(com.oracle.truffle.api.TruffleLanguage$ParsingRequest);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$ParsingRequest;)Lcom/oracle/truffle/api/CallTarget;
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=6, args_size=2
start local 0 // com.oracle.truffle.api.test.TruffleExceptionTest$4 this
start local 1 // com.oracle.truffle.api.TruffleLanguage$ParsingRequest request
0: .line 144
new com.oracle.truffle.api.test.TruffleExceptionTest$ThrowNode
dup
invokedynamic apply()Lcom/oracle/truffle/api/test/TruffleExceptionTest$ExceptionFactory;
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:
(Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
com/oracle/truffle/api/test/TruffleExceptionTest$4.lambda$0(Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object; (6)
(Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
invokespecial com.oracle.truffle.api.test.TruffleExceptionTest$ThrowNode.<init>:(Lcom/oracle/truffle/api/test/TruffleExceptionTest$ExceptionFactory;)V
astore 2 /* throwNode */
start local 2 // com.oracle.truffle.api.test.TruffleExceptionTest$ThrowNode throwNode
1: .line 147
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
new com.oracle.truffle.api.test.TruffleExceptionTest$TestRootNode
dup
aload 0 /* this */
getfield com.oracle.truffle.api.test.TruffleExceptionTest$4.languageInstance:Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
ldc "test-throw"
aconst_null
aload 2 /* throwNode */
invokespecial com.oracle.truffle.api.test.TruffleExceptionTest$TestRootNode.<init>:(Lcom/oracle/truffle/api/TruffleLanguage;Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/api/test/TruffleExceptionTest$StatementNode;)V
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 3 /* throwTarget */
start local 3 // com.oracle.truffle.api.CallTarget throwTarget
2: .line 148
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
new com.oracle.truffle.api.test.TruffleExceptionTest$TestRootNode
dup
aload 0 /* this */
getfield com.oracle.truffle.api.test.TruffleExceptionTest$4.languageInstance:Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
ldc "test-call-inner"
aconst_null
new com.oracle.truffle.api.test.TruffleExceptionTest$InvokeNode
dup
aload 3 /* throwTarget */
invokespecial com.oracle.truffle.api.test.TruffleExceptionTest$InvokeNode.<init>:(Lcom/oracle/truffle/api/CallTarget;)V
invokespecial com.oracle.truffle.api.test.TruffleExceptionTest$TestRootNode.<init>:(Lcom/oracle/truffle/api/TruffleLanguage;Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/api/test/TruffleExceptionTest$StatementNode;)V
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 4 /* innerInvokeTarget */
start local 4 // com.oracle.truffle.api.CallTarget innerInvokeTarget
3: .line 149
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
new com.oracle.truffle.api.test.TruffleExceptionTest$TestRootNode
dup
aload 0 /* this */
getfield com.oracle.truffle.api.test.TruffleExceptionTest$4.languageInstance:Lcom/oracle/truffle/api/test/polyglot/ProxyLanguage;
ldc "test-call-outer"
aconst_null
new com.oracle.truffle.api.test.TruffleExceptionTest$InvokeNode
dup
aload 4 /* innerInvokeTarget */
invokespecial com.oracle.truffle.api.test.TruffleExceptionTest$InvokeNode.<init>:(Lcom/oracle/truffle/api/CallTarget;)V
invokespecial com.oracle.truffle.api.test.TruffleExceptionTest$TestRootNode.<init>:(Lcom/oracle/truffle/api/TruffleLanguage;Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/api/test/TruffleExceptionTest$StatementNode;)V
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 5 /* outerInvokeTarget */
start local 5 // com.oracle.truffle.api.CallTarget outerInvokeTarget
4: .line 150
aload 5 /* outerInvokeTarget */
areturn
end local 5 // com.oracle.truffle.api.CallTarget outerInvokeTarget
end local 4 // com.oracle.truffle.api.CallTarget innerInvokeTarget
end local 3 // com.oracle.truffle.api.CallTarget throwTarget
end local 2 // com.oracle.truffle.api.test.TruffleExceptionTest$ThrowNode throwNode
end local 1 // com.oracle.truffle.api.TruffleLanguage$ParsingRequest request
end local 0 // com.oracle.truffle.api.test.TruffleExceptionTest$4 this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/test/TruffleExceptionTest$4;
0 5 1 request Lcom/oracle/truffle/api/TruffleLanguage$ParsingRequest;
1 5 2 throwNode Lcom/oracle/truffle/api/test/TruffleExceptionTest$ThrowNode;
2 5 3 throwTarget Lcom/oracle/truffle/api/CallTarget;
3 5 4 innerInvokeTarget Lcom/oracle/truffle/api/CallTarget;
4 5 5 outerInvokeTarget Lcom/oracle/truffle/api/CallTarget;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
request
private static java.lang.Object lambda$0(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=1, args_size=1
start local 0 // com.oracle.truffle.api.nodes.Node n
0: .line 145
new com.oracle.truffle.api.test.TruffleExceptionTest$TruffleExceptionImpl
dup
ldc "Test exception"
aload 0 /* n */
invokespecial com.oracle.truffle.api.test.TruffleExceptionTest$TruffleExceptionImpl.<init>:(Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;)V
areturn
end local 0 // com.oracle.truffle.api.nodes.Node n
LocalVariableTable:
Start End Slot Name Signature
0 1 0 n Lcom/oracle/truffle/api/nodes/Node;
}
SourceFile: "TruffleExceptionTest.java"
EnclosingMethod: com.oracle.truffle.api.test.TruffleExceptionTest.testPolyglotStackTrace2:()V
NestHost: com.oracle.truffle.api.test.TruffleExceptionTest
InnerClasses:
public final ParsingRequest = com.oracle.truffle.api.TruffleLanguage$ParsingRequest of com.oracle.truffle.api.TruffleLanguage
com.oracle.truffle.api.test.TruffleExceptionTest$4
abstract ExceptionFactory = com.oracle.truffle.api.test.TruffleExceptionTest$ExceptionFactory of com.oracle.truffle.api.test.TruffleExceptionTest
InvokeNode = com.oracle.truffle.api.test.TruffleExceptionTest$InvokeNode of com.oracle.truffle.api.test.TruffleExceptionTest
abstract StatementNode = com.oracle.truffle.api.test.TruffleExceptionTest$StatementNode of com.oracle.truffle.api.test.TruffleExceptionTest
final TestRootNode = com.oracle.truffle.api.test.TruffleExceptionTest$TestRootNode of com.oracle.truffle.api.test.TruffleExceptionTest
ThrowNode = com.oracle.truffle.api.test.TruffleExceptionTest$ThrowNode of com.oracle.truffle.api.test.TruffleExceptionTest
final TruffleExceptionImpl = com.oracle.truffle.api.test.TruffleExceptionTest$TruffleExceptionImpl of com.oracle.truffle.api.test.TruffleExceptionTest
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles