public class com.oracle.truffle.sl.test.SLDebugALot
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.sl.test.SLDebugALot
super_class: java.lang.Object
{
private final org.graalvm.polyglot.Source slCode;
descriptor: Lorg/graalvm/polyglot/Source;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.ByteArrayOutputStream out;
descriptor: Ljava/io/ByteArrayOutputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.ByteArrayOutputStream err;
descriptor: Ljava/io/ByteArrayOutputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc "sl"
ldc "function main() {\n n = 2;\n return types(n);\n}\nfunction doNull() {}\nfunction compute(n, l) {\n z = new();\n z.a = n + l;\n z.b = z;\n z.c = n - l;\n return z;\n}\nfunction types(n) {\n a = 1;\n b = n + a;\n c = \"string\";\n d = doNull();\n e = 10 == 10;\n f = new();\n f.p1 = 1;\n f.p2 = new();\n f.p2.p21 = 21;\n g = doNull;\n i = 0;\n while (i < n) {\n b = b * i;\n l = b + i;\n z = compute(n, l);\n a = a + z.a;\n i = i + 1;\n }\n return n * a;\n}\n"
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
putfield com.oracle.truffle.sl.test.SLDebugALot.slCode:Lorg/graalvm/polyglot/Source;
2: aload 0
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
putfield com.oracle.truffle.sl.test.SLDebugALot.out:Ljava/io/ByteArrayOutputStream;
3: aload 0
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
putfield com.oracle.truffle.sl.test.SLDebugALot.err:Ljava/io/ByteArrayOutputStream;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/sl/test/SLDebugALot;
public void test();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: invokestatic org.graalvm.polyglot.Engine.newBuilder:()Lorg/graalvm/polyglot/Engine$Builder;
aload 0
getfield com.oracle.truffle.sl.test.SLDebugALot.out:Ljava/io/ByteArrayOutputStream;
invokevirtual org.graalvm.polyglot.Engine$Builder.out:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Engine$Builder;
aload 0
getfield com.oracle.truffle.sl.test.SLDebugALot.err:Ljava/io/ByteArrayOutputStream;
invokevirtual org.graalvm.polyglot.Engine$Builder.err:(Ljava/io/OutputStream;)Lorg/graalvm/polyglot/Engine$Builder;
iconst_1
invokevirtual org.graalvm.polyglot.Engine$Builder.allowExperimentalOptions:(Z)Lorg/graalvm/polyglot/Engine$Builder;
ldc "debugalot"
ldc "true"
invokevirtual org.graalvm.polyglot.Engine$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Engine$Builder;
invokevirtual org.graalvm.polyglot.Engine$Builder.build:()Lorg/graalvm/polyglot/Engine;
astore 3
start local 3 2: aconst_null
astore 4
aconst_null
astore 5
3: iconst_0
anewarray java.lang.String
invokestatic org.graalvm.polyglot.Context.newBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
aload 3
invokevirtual org.graalvm.polyglot.Context$Builder.engine:(Lorg/graalvm/polyglot/Engine;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
astore 6
start local 6 4: aload 6
aload 0
getfield com.oracle.truffle.sl.test.SLDebugALot.slCode:Lorg/graalvm/polyglot/Source;
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
5: aload 6
ifnull 11
aload 6
invokevirtual org.graalvm.polyglot.Context.close:()V
goto 11
StackMap locals: com.oracle.truffle.sl.test.SLDebugALot java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Engine java.lang.Throwable java.lang.Throwable org.graalvm.polyglot.Context
StackMap stack: java.lang.Throwable
6: astore 4
aload 6
ifnull 7
aload 6
invokevirtual org.graalvm.polyglot.Context.close:()V
end local 6 StackMap locals:
StackMap stack:
7: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 5
aload 4
ifnonnull 9
aload 5
astore 4
goto 10
StackMap locals:
StackMap stack:
9: aload 4
aload 5
if_acmpeq 10
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
10: aload 4
athrow
11: StackMap locals:
StackMap stack:
aload 3
ifnull 17
aload 3
invokevirtual org.graalvm.polyglot.Engine.close:()V
goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 1
aload 3
ifnull 13
aload 3
invokevirtual org.graalvm.polyglot.Engine.close:()V
end local 3 StackMap locals:
StackMap stack:
13: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 2
aload 1
ifnonnull 15
aload 2
astore 1
goto 16
StackMap locals:
StackMap stack:
15: aload 1
aload 2
if_acmpeq 16
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
16: aload 1
athrow
17: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.sl.test.SLDebugALot.out:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
astore 1
start local 1 18: ldc "Executed successfully:"
astore 2
start local 2 19: aload 1
aload 2
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
istore 3
start local 3 20: aload 1
iload 3
ifle 21
iconst_1
goto 22
StackMap locals: com.oracle.truffle.sl.test.SLDebugALot java.lang.String java.lang.String int
StackMap stack: java.lang.String
21: iconst_0
StackMap locals: com.oracle.truffle.sl.test.SLDebugALot java.lang.String java.lang.String int
StackMap stack: java.lang.String int
22: invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
23: aload 1
iload 3
aload 2
invokevirtual java.lang.String.length:()I
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 4
start local 4 24: aload 1
ldc "TRUE"
aload 4
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
25: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/oracle/truffle/sl/test/SLDebugALot;
2 13 3 engine Lorg/graalvm/polyglot/Engine;
4 7 6 context Lorg/graalvm/polyglot/Context;
18 26 1 log Ljava/lang/String;
19 26 2 successMessage Ljava/lang/String;
20 26 3 index I
24 26 4 success Ljava/lang/String;
Exception table:
from to target type
4 5 6 any
3 8 8 any
2 11 12 any
1 14 14 any
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "SLDebugALot.java"
InnerClasses:
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
public final Builder = org.graalvm.polyglot.Engine$Builder of org.graalvm.polyglot.Engine