public class com.oracle.truffle.js.test.tools.PrintVisitorTest extends com.oracle.truffle.js.test.JSTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.test.tools.PrintVisitorTest
super_class: com.oracle.truffle.js.test.JSTest
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.oracle.truffle.js.test.tools.PrintVisitorTest this
0: .line 55
aload 0 /* this */
invokespecial com.oracle.truffle.js.test.JSTest.<init>:()V
return
end local 0 // com.oracle.truffle.js.test.tools.PrintVisitorTest this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/test/tools/PrintVisitorTest;
public void testPrintVisitor();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 // com.oracle.truffle.js.test.tools.PrintVisitorTest this
0: .line 59
ldc "function fn(a,b) { for (var i=0;i<10;i++) { label: if (true) { break; } else {}; }; while(true) {};try { var o= {a:'foo'}; (o?o:o); o.a+o['a']; with(o) {a;} } catch (error) { throw false; }; switch(true) { case false: break; default: break; }; return -a+(++b); }"
astore 1 /* code */
start local 1 // java.lang.String code
1: .line 62
ldc "js"
aload 1 /* code */
ldc "test"
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 2 /* source */
start local 2 // com.oracle.truffle.api.source.Source source
2: .line 63
aload 0 /* this */
getfield com.oracle.truffle.js.test.tools.PrintVisitorTest.testHelper:Lcom/oracle/truffle/js/test/TestHelper;
invokevirtual com.oracle.truffle.js.test.TestHelper.getJSContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 2 /* source */
new com.oracle.truffle.js.runtime.JSParserOptions
dup
invokespecial com.oracle.truffle.js.runtime.JSParserOptions.<init>:()V
invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.parseScript:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/JSParserOptions;)Lcom/oracle/js/parser/ir/FunctionNode;
astore 3 /* node */
start local 3 // com.oracle.js.parser.ir.FunctionNode node
3: .line 65
new com.oracle.truffle.js.parser.internal.ir.debug.PrintVisitor
dup
aload 3 /* node */
invokespecial com.oracle.truffle.js.parser.internal.ir.debug.PrintVisitor.<init>:(Lcom/oracle/js/parser/ir/Node;)V
astore 4 /* pv */
start local 4 // com.oracle.truffle.js.parser.internal.ir.debug.PrintVisitor pv
4: .line 66
aload 4 /* pv */
invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.PrintVisitor.toString:()Ljava/lang/String;
astore 5 /* result */
start local 5 // java.lang.String result
5: .line 67
aload 5 /* result */
invokevirtual java.lang.String.length:()I
bipush 100
if_icmple 6
iconst_1
goto 7
StackMap locals: com.oracle.truffle.js.test.tools.PrintVisitorTest java.lang.String com.oracle.truffle.api.source.Source com.oracle.js.parser.ir.FunctionNode com.oracle.truffle.js.parser.internal.ir.debug.PrintVisitor java.lang.String
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: invokestatic org.junit.Assert.assertTrue:(Z)V
8: .line 68
aload 5 /* result */
ldc "function fn"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
9: .line 69
aload 5 /* result */
ldc "[TERMINAL]"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
10: .line 70
return
end local 5 // java.lang.String result
end local 4 // com.oracle.truffle.js.parser.internal.ir.debug.PrintVisitor pv
end local 3 // com.oracle.js.parser.ir.FunctionNode node
end local 2 // com.oracle.truffle.api.source.Source source
end local 1 // java.lang.String code
end local 0 // com.oracle.truffle.js.test.tools.PrintVisitorTest this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/js/test/tools/PrintVisitorTest;
1 11 1 code Ljava/lang/String;
2 11 2 source Lcom/oracle/truffle/api/source/Source;
3 11 3 node Lcom/oracle/js/parser/ir/FunctionNode;
4 11 4 pv Lcom/oracle/truffle/js/parser/internal/ir/debug/PrintVisitor;
5 11 5 result Ljava/lang/String;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "PrintVisitorTest.java"
InnerClasses:
public final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source