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