class com.oracle.truffle.sl.test.SLExceptionTest$TestProxy implements org.graalvm.polyglot.proxy.ProxyExecutable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.sl.test.SLExceptionTest$TestProxy
super_class: java.lang.Object
{
private int depth;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final org.graalvm.polyglot.Value f;
descriptor: Lorg/graalvm/polyglot/Value;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final java.util.List<org.graalvm.polyglot.PolyglotException> seenExceptions;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<Lorg/graalvm/polyglot/PolyglotException;>;
java.lang.RuntimeException thrownException;
descriptor: Ljava/lang/RuntimeException;
flags: (0x0000)
void <init>(int, org.graalvm.polyglot.Value);
descriptor: (ILorg/graalvm/polyglot/Value;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 // com.oracle.truffle.sl.test.SLExceptionTest$TestProxy this
start local 1 // int depth
start local 2 // org.graalvm.polyglot.Value f
0: .line 196
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 192
aload 0 /* this */
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.sl.test.SLExceptionTest$TestProxy.seenExceptions:Ljava/util/List;
2: .line 197
aload 0 /* this */
iload 1 /* depth */
putfield com.oracle.truffle.sl.test.SLExceptionTest$TestProxy.depth:I
3: .line 198
aload 0 /* this */
aload 2 /* f */
putfield com.oracle.truffle.sl.test.SLExceptionTest$TestProxy.f:Lorg/graalvm/polyglot/Value;
4: .line 199
return
end local 2 // org.graalvm.polyglot.Value f
end local 1 // int depth
end local 0 // com.oracle.truffle.sl.test.SLExceptionTest$TestProxy this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/sl/test/SLExceptionTest$TestProxy;
0 5 1 depth I
0 5 2 f Lorg/graalvm/polyglot/Value;
MethodParameters:
Name Flags
depth
f
public java.lang.Object execute(org.graalvm.polyglot.Value[]);
descriptor: ([Lorg/graalvm/polyglot/Value;)Ljava/lang/Object;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=3, args_size=2
start local 0 // com.oracle.truffle.sl.test.SLExceptionTest$TestProxy this
start local 1 // org.graalvm.polyglot.Value[] t
0: .line 202
aload 0 /* this */
dup
getfield com.oracle.truffle.sl.test.SLExceptionTest$TestProxy.depth:I
iconst_1
isub
putfield com.oracle.truffle.sl.test.SLExceptionTest$TestProxy.depth:I
1: .line 203
aload 0 /* this */
getfield com.oracle.truffle.sl.test.SLExceptionTest$TestProxy.depth:I
ifle 8
2: .line 205
aload 0 /* this */
getfield com.oracle.truffle.sl.test.SLExceptionTest$TestProxy.f:Lorg/graalvm/polyglot/Value;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0 /* this */
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
3: areturn
4: .line 206
StackMap locals:
StackMap stack: org.graalvm.polyglot.PolyglotException
astore 2 /* e */
start local 2 // org.graalvm.polyglot.PolyglotException e
5: .line 207
aload 0 /* this */
aload 2 /* e */
invokestatic com.oracle.truffle.sl.test.SLExceptionTest.assertProxyException:(Lcom/oracle/truffle/sl/test/SLExceptionTest$TestProxy;Lorg/graalvm/polyglot/PolyglotException;)V
6: .line 208
aload 0 /* this */
getfield com.oracle.truffle.sl.test.SLExceptionTest$TestProxy.seenExceptions:Ljava/util/List;
aload 2 /* e */
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: .line 209
aload 2 /* e */
athrow
end local 2 // org.graalvm.polyglot.PolyglotException e
8: .line 212
StackMap locals:
StackMap stack:
aload 0 /* this */
new java.lang.RuntimeException
dup
ldc "Error in proxy test."
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
putfield com.oracle.truffle.sl.test.SLExceptionTest$TestProxy.thrownException:Ljava/lang/RuntimeException;
9: .line 213
aload 0 /* this */
getfield com.oracle.truffle.sl.test.SLExceptionTest$TestProxy.thrownException:Ljava/lang/RuntimeException;
athrow
end local 1 // org.graalvm.polyglot.Value[] t
end local 0 // com.oracle.truffle.sl.test.SLExceptionTest$TestProxy this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/sl/test/SLExceptionTest$TestProxy;
0 10 1 t [Lorg/graalvm/polyglot/Value;
5 8 2 e Lorg/graalvm/polyglot/PolyglotException;
Exception table:
from to target type
2 3 4 Class org.graalvm.polyglot.PolyglotException
MethodParameters:
Name Flags
t
}
SourceFile: "SLExceptionTest.java"
NestHost: com.oracle.truffle.sl.test.SLExceptionTest
InnerClasses:
private TestProxy = com.oracle.truffle.sl.test.SLExceptionTest$TestProxy of com.oracle.truffle.sl.test.SLExceptionTest