public final class com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter extends com.oracle.js.parser.ir.visitor.NodeVisitor<com.oracle.js.parser.ir.LexicalContext>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter
  super_class: com.oracle.js.parser.ir.visitor.NodeVisitor
{
  private final java.lang.StringBuilder buf;
    descriptor: Ljava/lang/StringBuilder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean includeLocation;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$com$oracle$js$parser$TokenType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 95
            ldc Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.String parse(com.oracle.js.parser.ScriptEnvironment, java.lang.String, java.lang.String, boolean);
    descriptor: (Lcom/oracle/js/parser/ScriptEnvironment;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // com.oracle.js.parser.ScriptEnvironment env
        start local 1 // java.lang.String code
        start local 2 // java.lang.String name
        start local 3 // boolean includeLoc
         0: .line 107
            new com.oracle.js.parser.Parser
            dup
            aload 0 /* env */
            aload 2 /* name */
            aload 1 /* code */
            invokestatic com.oracle.js.parser.Source.sourceFor:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/js/parser/Source;
            new com.oracle.js.parser.ErrorManager$ThrowErrorManager
            dup
            invokespecial com.oracle.js.parser.ErrorManager$ThrowErrorManager.<init>:()V
            aload 0 /* env */
            invokevirtual com.oracle.js.parser.ScriptEnvironment.isStrict:()Z
            invokespecial com.oracle.js.parser.Parser.<init>:(Lcom/oracle/js/parser/ScriptEnvironment;Lcom/oracle/js/parser/Source;Lcom/oracle/js/parser/ErrorManager;Z)V
            astore 4 /* parser */
        start local 4 // com.oracle.js.parser.Parser parser
         1: .line 108
            new com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter
            dup
            iload 3 /* includeLoc */
            invokespecial com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.<init>:(Z)V
            astore 5 /* jsonWriter */
        start local 5 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter jsonWriter
         2: .line 109
            aload 4 /* parser */
            invokevirtual com.oracle.js.parser.Parser.parse:()Lcom/oracle/js/parser/ir/FunctionNode;
            astore 6 /* functionNode */
        start local 6 // com.oracle.js.parser.ir.FunctionNode functionNode
         3: .line 110
            aload 6 /* functionNode */
            aload 5 /* jsonWriter */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         4: .line 111
            aload 5 /* jsonWriter */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.getString:()Ljava/lang/String;
            areturn
        end local 6 // com.oracle.js.parser.ir.FunctionNode functionNode
        end local 5 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter jsonWriter
        end local 4 // com.oracle.js.parser.Parser parser
        end local 3 // boolean includeLoc
        end local 2 // java.lang.String name
        end local 1 // java.lang.String code
        end local 0 // com.oracle.js.parser.ScriptEnvironment env
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0           env  Lcom/oracle/js/parser/ScriptEnvironment;
            0    5     1          code  Ljava/lang/String;
            0    5     2          name  Ljava/lang/String;
            0    5     3    includeLoc  Z
            1    5     4        parser  Lcom/oracle/js/parser/Parser;
            2    5     5    jsonWriter  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            3    5     6  functionNode  Lcom/oracle/js/parser/ir/FunctionNode;
    MethodParameters:
            Name  Flags
      env         final
      code        final
      name        final
      includeLoc  final

  public boolean enterJoinPredecessorExpression(com.oracle.js.parser.ir.JoinPredecessorExpression);
    descriptor: (Lcom/oracle/js/parser/ir/JoinPredecessorExpression;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.JoinPredecessorExpression joinPredecessorExpression
         0: .line 116
            aload 1 /* joinPredecessorExpression */
            invokevirtual com.oracle.js.parser.ir.JoinPredecessorExpression.getExpression:()Lcom/oracle/js/parser/ir/Expression;
            astore 2 /* expr */
        start local 2 // com.oracle.js.parser.ir.Expression expr
         1: .line 117
            aload 2 /* expr */
            ifnull 4
         2: .line 118
            aload 2 /* expr */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         3: .line 119
            goto 5
         4: .line 120
      StackMap locals: com.oracle.js.parser.ir.Expression
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.nullValue:()V
         5: .line 122
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // com.oracle.js.parser.ir.Expression expr
        end local 1 // com.oracle.js.parser.ir.JoinPredecessorExpression joinPredecessorExpression
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    6     0                       this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    6     1  joinPredecessorExpression  Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            1    6     2                       expr  Lcom/oracle/js/parser/ir/Expression;
    MethodParameters:
                           Name  Flags
      joinPredecessorExpression  final

  protected boolean enterDefault(com.oracle.js.parser.ir.Node);
    descriptor: (Lcom/oracle/js/parser/ir/Node;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.Node node
         0: .line 127
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.objectStart:()V
         1: .line 128
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.location:(Lcom/oracle/js/parser/ir/Node;)V
         2: .line 130
            iconst_1
            ireturn
        end local 1 // com.oracle.js.parser.ir.Node node
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    3     1  node  Lcom/oracle/js/parser/ir/Node;
    MethodParameters:
      Name  Flags
      node  final

  private boolean leave();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
         0: .line 134
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.objectEnd:()V
         1: .line 135
            iconst_0
            ireturn
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;

  protected com.oracle.js.parser.ir.Node leaveDefault(com.oracle.js.parser.ir.Node);
    descriptor: (Lcom/oracle/js/parser/ir/Node;)Lcom/oracle/js/parser/ir/Node;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.Node node
         0: .line 140
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.objectEnd:()V
         1: .line 141
            aconst_null
            areturn
        end local 1 // com.oracle.js.parser.ir.Node node
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    2     1  node  Lcom/oracle/js/parser/ir/Node;
    MethodParameters:
      Name  Flags
      node  final

  public boolean enterAccessNode(com.oracle.js.parser.ir.AccessNode);
    descriptor: (Lcom/oracle/js/parser/ir/AccessNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.AccessNode accessNode
         0: .line 146
            aload 0 /* this */
            aload 1 /* accessNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 148
            aload 0 /* this */
            ldc "MemberExpression"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 149
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 151
            aload 0 /* this */
            ldc "object"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         4: .line 152
            aload 1 /* accessNode */
            invokevirtual com.oracle.js.parser.ir.AccessNode.getBase:()Lcom/oracle/js/parser/ir/Expression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         5: .line 153
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         6: .line 155
            aload 0 /* this */
            ldc "property"
            aload 1 /* accessNode */
            invokevirtual com.oracle.js.parser.ir.AccessNode.getProperty:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 156
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         8: .line 158
            aload 0 /* this */
            ldc "computed"
            iconst_0
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Z)V
         9: .line 160
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 1 // com.oracle.js.parser.ir.AccessNode accessNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   10     1  accessNode  Lcom/oracle/js/parser/ir/AccessNode;
    MethodParameters:
            Name  Flags
      accessNode  final

  public boolean enterBlock(com.oracle.js.parser.ir.Block);
    descriptor: (Lcom/oracle/js/parser/ir/Block;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.Block block
         0: .line 165
            aload 0 /* this */
            aload 1 /* block */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 167
            aload 0 /* this */
            ldc "BlockStatement"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 168
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 170
            aload 0 /* this */
            ldc "body"
            aload 1 /* block */
            invokevirtual com.oracle.js.parser.ir.Block.getStatements:()Ljava/util/List;
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.array:(Ljava/lang/String;Ljava/util/List;)V
         4: .line 172
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 1 // com.oracle.js.parser.ir.Block block
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    5     1  block  Lcom/oracle/js/parser/ir/Block;
    MethodParameters:
       Name  Flags
      block  final

  public boolean enterBinaryNode(com.oracle.js.parser.ir.BinaryNode);
    descriptor: (Lcom/oracle/js/parser/ir/BinaryNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.BinaryNode binaryNode
         0: .line 177
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 180
            aload 1 /* binaryNode */
            invokevirtual com.oracle.js.parser.ir.BinaryNode.isAssignment:()Z
            ifeq 4
         2: .line 181
            ldc "AssignmentExpression"
            astore 2 /* name */
        start local 2 // java.lang.String name
         3: .line 182
            goto 8
        end local 2 // java.lang.String name
      StackMap locals:
      StackMap stack:
         4: aload 1 /* binaryNode */
            invokevirtual com.oracle.js.parser.ir.BinaryNode.isLogical:()Z
            ifeq 7
         5: .line 183
            ldc "LogicalExpression"
            astore 2 /* name */
        start local 2 // java.lang.String name
         6: .line 184
            goto 8
        end local 2 // java.lang.String name
         7: .line 185
      StackMap locals:
      StackMap stack:
            ldc "BinaryExpression"
            astore 2 /* name */
        start local 2 // java.lang.String name
         8: .line 188
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         9: .line 189
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        10: .line 191
            aload 0 /* this */
            ldc "operator"
            aload 1 /* binaryNode */
            invokevirtual com.oracle.js.parser.ir.BinaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Ljava/lang/String;)V
        11: .line 192
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        12: .line 194
            aload 0 /* this */
            ldc "left"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        13: .line 195
            aload 1 /* binaryNode */
            invokevirtual com.oracle.js.parser.ir.BinaryNode.getLhs:()Lcom/oracle/js/parser/ir/Expression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        14: .line 196
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        15: .line 198
            aload 0 /* this */
            ldc "right"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        16: .line 199
            aload 1 /* binaryNode */
            invokevirtual com.oracle.js.parser.ir.BinaryNode.getRhs:()Lcom/oracle/js/parser/ir/Expression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        17: .line 201
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 2 // java.lang.String name
        end local 1 // com.oracle.js.parser.ir.BinaryNode binaryNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   18     1  binaryNode  Lcom/oracle/js/parser/ir/BinaryNode;
            3    4     2        name  Ljava/lang/String;
            6    7     2        name  Ljava/lang/String;
            8   18     2        name  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      binaryNode  final

  public boolean enterBreakNode(com.oracle.js.parser.ir.BreakNode);
    descriptor: (Lcom/oracle/js/parser/ir/BreakNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.BreakNode breakNode
         0: .line 206
            aload 0 /* this */
            aload 1 /* breakNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 208
            aload 0 /* this */
            ldc "BreakStatement"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 209
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 211
            aload 1 /* breakNode */
            invokevirtual com.oracle.js.parser.ir.BreakNode.getLabelName:()Ljava/lang/String;
            astore 2 /* label */
        start local 2 // java.lang.String label
         4: .line 212
            aload 2 /* label */
            ifnull 7
         5: .line 213
            aload 0 /* this */
            ldc "label"
            aload 2 /* label */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 214
            goto 9
         7: .line 215
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            ldc "label"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         8: .line 216
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.nullValue:()V
         9: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 2 // java.lang.String label
        end local 1 // com.oracle.js.parser.ir.BreakNode breakNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   10     1  breakNode  Lcom/oracle/js/parser/ir/BreakNode;
            4   10     2      label  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      breakNode  final

  public boolean enterCallNode(com.oracle.js.parser.ir.CallNode);
    descriptor: (Lcom/oracle/js/parser/ir/CallNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.CallNode callNode
         0: .line 224
            aload 0 /* this */
            aload 1 /* callNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 226
            aload 0 /* this */
            ldc "CallExpression"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 227
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 229
            aload 0 /* this */
            ldc "callee"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         4: .line 230
            aload 1 /* callNode */
            invokevirtual com.oracle.js.parser.ir.CallNode.getFunction:()Lcom/oracle/js/parser/ir/Expression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         5: .line 231
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         6: .line 233
            aload 0 /* this */
            ldc "arguments"
            aload 1 /* callNode */
            invokevirtual com.oracle.js.parser.ir.CallNode.getArgs:()Ljava/util/List;
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.array:(Ljava/lang/String;Ljava/util/List;)V
         7: .line 235
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 1 // com.oracle.js.parser.ir.CallNode callNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    8     1  callNode  Lcom/oracle/js/parser/ir/CallNode;
    MethodParameters:
          Name  Flags
      callNode  final

  public boolean enterCaseNode(com.oracle.js.parser.ir.CaseNode);
    descriptor: (Lcom/oracle/js/parser/ir/CaseNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.CaseNode caseNode
         0: .line 240
            aload 0 /* this */
            aload 1 /* caseNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 242
            aload 0 /* this */
            ldc "SwitchCase"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 243
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 245
            aload 1 /* caseNode */
            invokevirtual com.oracle.js.parser.ir.CaseNode.getTest:()Lcom/oracle/js/parser/ir/Expression;
            astore 2 /* test */
        start local 2 // com.oracle.js.parser.ir.Node test
         4: .line 246
            aload 0 /* this */
            ldc "test"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         5: .line 247
            aload 2 /* test */
            ifnull 8
         6: .line 248
            aload 2 /* test */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         7: .line 249
            goto 9
         8: .line 250
      StackMap locals: com.oracle.js.parser.ir.Node
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.nullValue:()V
         9: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        10: .line 254
            aload 0 /* this */
            ldc "consequent"
            aload 1 /* caseNode */
            invokevirtual com.oracle.js.parser.ir.CaseNode.getStatements:()Ljava/util/List;
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.array:(Ljava/lang/String;Ljava/util/List;)V
        11: .line 256
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 2 // com.oracle.js.parser.ir.Node test
        end local 1 // com.oracle.js.parser.ir.CaseNode caseNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   12     1  caseNode  Lcom/oracle/js/parser/ir/CaseNode;
            4   12     2      test  Lcom/oracle/js/parser/ir/Node;
    MethodParameters:
          Name  Flags
      caseNode  final

  public boolean enterCatchNode(com.oracle.js.parser.ir.CatchNode);
    descriptor: (Lcom/oracle/js/parser/ir/CatchNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.CatchNode catchNode
         0: .line 261
            aload 0 /* this */
            aload 1 /* catchNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 263
            aload 0 /* this */
            ldc "CatchClause"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 264
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 266
            aload 0 /* this */
            ldc "param"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         4: .line 267
            aload 1 /* catchNode */
            invokevirtual com.oracle.js.parser.ir.CatchNode.getException:()Lcom/oracle/js/parser/ir/Expression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         5: .line 268
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         6: .line 270
            aload 1 /* catchNode */
            invokevirtual com.oracle.js.parser.ir.CatchNode.getExceptionCondition:()Lcom/oracle/js/parser/ir/Expression;
            astore 2 /* guard */
        start local 2 // com.oracle.js.parser.ir.Node guard
         7: .line 271
            aload 2 /* guard */
            ifnull 11
         8: .line 272
            aload 0 /* this */
            ldc "guard"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         9: .line 273
            aload 2 /* guard */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        10: .line 274
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        11: .line 277
      StackMap locals: com.oracle.js.parser.ir.Node
      StackMap stack:
            aload 0 /* this */
            ldc "body"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        12: .line 278
            aload 1 /* catchNode */
            invokevirtual com.oracle.js.parser.ir.CatchNode.getBody:()Lcom/oracle/js/parser/ir/Block;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Block.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        13: .line 280
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 2 // com.oracle.js.parser.ir.Node guard
        end local 1 // com.oracle.js.parser.ir.CatchNode catchNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   14     1  catchNode  Lcom/oracle/js/parser/ir/CatchNode;
            7   14     2      guard  Lcom/oracle/js/parser/ir/Node;
    MethodParameters:
           Name  Flags
      catchNode  final

  public boolean enterContinueNode(com.oracle.js.parser.ir.ContinueNode);
    descriptor: (Lcom/oracle/js/parser/ir/ContinueNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.ContinueNode continueNode
         0: .line 285
            aload 0 /* this */
            aload 1 /* continueNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 287
            aload 0 /* this */
            ldc "ContinueStatement"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 288
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 290
            aload 1 /* continueNode */
            invokevirtual com.oracle.js.parser.ir.ContinueNode.getLabelName:()Ljava/lang/String;
            astore 2 /* label */
        start local 2 // java.lang.String label
         4: .line 291
            aload 2 /* label */
            ifnull 7
         5: .line 292
            aload 0 /* this */
            ldc "label"
            aload 2 /* label */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 293
            goto 9
         7: .line 294
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            ldc "label"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         8: .line 295
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.nullValue:()V
         9: .line 298
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 2 // java.lang.String label
        end local 1 // com.oracle.js.parser.ir.ContinueNode continueNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   10     1  continueNode  Lcom/oracle/js/parser/ir/ContinueNode;
            4   10     2         label  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      continueNode  final

  public boolean enterDebuggerNode(com.oracle.js.parser.ir.DebuggerNode);
    descriptor: (Lcom/oracle/js/parser/ir/DebuggerNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.DebuggerNode debuggerNode
         0: .line 303
            aload 0 /* this */
            aload 1 /* debuggerNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 304
            aload 0 /* this */
            ldc "DebuggerStatement"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 305
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 1 // com.oracle.js.parser.ir.DebuggerNode debuggerNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    3     1  debuggerNode  Lcom/oracle/js/parser/ir/DebuggerNode;
    MethodParameters:
              Name  Flags
      debuggerNode  final

  public boolean enterEmptyNode(com.oracle.js.parser.ir.EmptyNode);
    descriptor: (Lcom/oracle/js/parser/ir/EmptyNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.EmptyNode emptyNode
         0: .line 310
            aload 0 /* this */
            aload 1 /* emptyNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 312
            aload 0 /* this */
            ldc "EmptyStatement"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 314
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 1 // com.oracle.js.parser.ir.EmptyNode emptyNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    3     1  emptyNode  Lcom/oracle/js/parser/ir/EmptyNode;
    MethodParameters:
           Name  Flags
      emptyNode  final

  public boolean enterExpressionStatement(com.oracle.js.parser.ir.ExpressionStatement);
    descriptor: (Lcom/oracle/js/parser/ir/ExpressionStatement;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.ExpressionStatement expressionStatement
         0: .line 320
            aload 1 /* expressionStatement */
            invokevirtual com.oracle.js.parser.ir.ExpressionStatement.getExpression:()Lcom/oracle/js/parser/ir/Expression;
            astore 2 /* expression */
        start local 2 // com.oracle.js.parser.ir.Node expression
         1: .line 321
            aload 2 /* expression */
            instanceof com.oracle.js.parser.ir.RuntimeNode
            ifeq 4
         2: .line 322
            getstatic com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.$assertionsDisabled:Z
            ifne 3
            new java.lang.AssertionError
            dup
            ldc "should not reach here: RuntimeNode"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 323
      StackMap locals: com.oracle.js.parser.ir.Node
      StackMap stack:
            iconst_0
            ireturn
         4: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* expressionStatement */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         5: .line 328
            aload 0 /* this */
            ldc "ExpressionStatement"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         6: .line 329
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         7: .line 331
            aload 0 /* this */
            ldc "expression"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         8: .line 332
            aload 2 /* expression */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         9: .line 334
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 2 // com.oracle.js.parser.ir.Node expression
        end local 1 // com.oracle.js.parser.ir.ExpressionStatement expressionStatement
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   10     0                 this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   10     1  expressionStatement  Lcom/oracle/js/parser/ir/ExpressionStatement;
            1   10     2           expression  Lcom/oracle/js/parser/ir/Node;
    MethodParameters:
                     Name  Flags
      expressionStatement  final

  public boolean enterBlockStatement(com.oracle.js.parser.ir.BlockStatement);
    descriptor: (Lcom/oracle/js/parser/ir/BlockStatement;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.BlockStatement blockStatement
         0: .line 339
            aload 1 /* blockStatement */
            invokevirtual com.oracle.js.parser.ir.BlockStatement.isSynthetic:()Z
            ifeq 4
         1: .line 340
            aload 1 /* blockStatement */
            invokevirtual com.oracle.js.parser.ir.BlockStatement.getBlock:()Lcom/oracle/js/parser/ir/Block;
            astore 2 /* blk */
        start local 2 // com.oracle.js.parser.ir.Block blk
         2: .line 341
            aload 2 /* blk */
            invokevirtual com.oracle.js.parser.ir.Block.getStatements:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Statement
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Statement.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         3: .line 342
            iconst_0
            ireturn
        end local 2 // com.oracle.js.parser.ir.Block blk
         4: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* blockStatement */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         5: .line 347
            aload 0 /* this */
            ldc "BlockStatement"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         6: .line 348
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         7: .line 350
            aload 0 /* this */
            ldc "body"
            aload 1 /* blockStatement */
            invokevirtual com.oracle.js.parser.ir.BlockStatement.getBlock:()Lcom/oracle/js/parser/ir/Block;
            invokevirtual com.oracle.js.parser.ir.Block.getStatements:()Ljava/util/List;
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.array:(Ljava/lang/String;Ljava/util/List;)V
         8: .line 351
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 1 // com.oracle.js.parser.ir.BlockStatement blockStatement
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    9     1  blockStatement  Lcom/oracle/js/parser/ir/BlockStatement;
            2    4     2             blk  Lcom/oracle/js/parser/ir/Block;
    MethodParameters:
                Name  Flags
      blockStatement  final

  public boolean enterForNode(com.oracle.js.parser.ir.ForNode);
    descriptor: (Lcom/oracle/js/parser/ir/ForNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.ForNode forNode
         0: .line 356
            aload 0 /* this */
            aload 1 /* forNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 358
            aload 1 /* forNode */
            invokevirtual com.oracle.js.parser.ir.ForNode.isForIn:()Z
            ifne 2
            aload 1 /* forNode */
            invokevirtual com.oracle.js.parser.ir.ForNode.isForEach:()Z
            ifeq 19
            aload 1 /* forNode */
            invokevirtual com.oracle.js.parser.ir.ForNode.getInit:()Lcom/oracle/js/parser/ir/Expression;
            ifnull 19
         2: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "ForInStatement"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         3: .line 360
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         4: .line 362
            aload 1 /* forNode */
            invokevirtual com.oracle.js.parser.ir.ForNode.getInit:()Lcom/oracle/js/parser/ir/Expression;
            astore 2 /* init */
        start local 2 // com.oracle.js.parser.ir.Node init
         5: .line 363
            getstatic com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.$assertionsDisabled:Z
            ifne 6
            aload 2 /* init */
            ifnonnull 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 364
      StackMap locals: com.oracle.js.parser.ir.Node
      StackMap stack:
            aload 0 /* this */
            ldc "left"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         7: .line 365
            aload 2 /* init */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         8: .line 366
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         9: .line 368
            aload 1 /* forNode */
            invokevirtual com.oracle.js.parser.ir.ForNode.getModify:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            astore 3 /* modify */
        start local 3 // com.oracle.js.parser.ir.Node modify
        10: .line 369
            getstatic com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.$assertionsDisabled:Z
            ifne 11
            aload 3 /* modify */
            ifnonnull 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 370
      StackMap locals: com.oracle.js.parser.ir.Node
      StackMap stack:
            aload 0 /* this */
            ldc "right"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        12: .line 371
            aload 3 /* modify */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        13: .line 372
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        14: .line 374
            aload 0 /* this */
            ldc "body"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        15: .line 375
            aload 1 /* forNode */
            invokevirtual com.oracle.js.parser.ir.ForNode.getBody:()Lcom/oracle/js/parser/ir/Block;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Block.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        16: .line 376
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        17: .line 378
            aload 0 /* this */
            ldc "each"
            aload 1 /* forNode */
            invokevirtual com.oracle.js.parser.ir.ForNode.isForEach:()Z
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Z)V
        end local 3 // com.oracle.js.parser.ir.Node modify
        end local 2 // com.oracle.js.parser.ir.Node init
        18: .line 379
            goto 44
        19: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "ForStatement"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
        20: .line 381
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        21: .line 383
            aload 1 /* forNode */
            invokevirtual com.oracle.js.parser.ir.ForNode.getInit:()Lcom/oracle/js/parser/ir/Expression;
            astore 2 /* init */
        start local 2 // com.oracle.js.parser.ir.Node init
        22: .line 384
            aload 0 /* this */
            ldc "init"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        23: .line 385
            aload 2 /* init */
            ifnull 26
        24: .line 386
            aload 2 /* init */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        25: .line 387
            goto 27
        26: .line 388
      StackMap locals: com.oracle.js.parser.ir.Node
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.nullValue:()V
        27: .line 390
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        28: .line 392
            aload 1 /* forNode */
            invokevirtual com.oracle.js.parser.ir.ForNode.getTest:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            astore 3 /* test */
        start local 3 // com.oracle.js.parser.ir.Node test
        29: .line 393
            aload 0 /* this */
            ldc "test"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        30: .line 394
            aload 3 /* test */
            ifnull 33
        31: .line 395
            aload 3 /* test */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        32: .line 396
            goto 34
        33: .line 397
      StackMap locals: com.oracle.js.parser.ir.Node
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.nullValue:()V
        34: .line 399
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        35: .line 401
            aload 1 /* forNode */
            invokevirtual com.oracle.js.parser.ir.ForNode.getModify:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            astore 4 /* update */
        start local 4 // com.oracle.js.parser.ir.Node update
        36: .line 402
            aload 0 /* this */
            ldc "update"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        37: .line 403
            aload 4 /* update */
            ifnull 40
        38: .line 404
            aload 4 /* update */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        39: .line 405
            goto 41
        40: .line 406
      StackMap locals: com.oracle.js.parser.ir.Node
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.nullValue:()V
        41: .line 408
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        42: .line 410
            aload 0 /* this */
            ldc "body"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        43: .line 411
            aload 1 /* forNode */
            invokevirtual com.oracle.js.parser.ir.ForNode.getBody:()Lcom/oracle/js/parser/ir/Block;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Block.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        end local 4 // com.oracle.js.parser.ir.Node update
        end local 3 // com.oracle.js.parser.ir.Node test
        end local 2 // com.oracle.js.parser.ir.Node init
        44: .line 414
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 1 // com.oracle.js.parser.ir.ForNode forNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   45     0     this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   45     1  forNode  Lcom/oracle/js/parser/ir/ForNode;
            5   18     2     init  Lcom/oracle/js/parser/ir/Node;
           10   18     3   modify  Lcom/oracle/js/parser/ir/Node;
           22   44     2     init  Lcom/oracle/js/parser/ir/Node;
           29   44     3     test  Lcom/oracle/js/parser/ir/Node;
           36   44     4   update  Lcom/oracle/js/parser/ir/Node;
    MethodParameters:
         Name  Flags
      forNode  final

  public boolean enterFunctionNode(com.oracle.js.parser.ir.FunctionNode);
    descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.FunctionNode functionNode
         0: .line 419
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isProgram:()Z
            istore 2 /* program */
        start local 2 // boolean program
         1: .line 420
            iload 2 /* program */
            ifeq 3
         2: .line 421
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.emitProgram:(Lcom/oracle/js/parser/ir/FunctionNode;)Z
            ireturn
         3: .line 424
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         4: .line 426
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isDeclared:()Z
            ifeq 7
         5: .line 427
            ldc "FunctionDeclaration"
            astore 3 /* name */
        start local 3 // java.lang.String name
         6: .line 428
            goto 8
        end local 3 // java.lang.String name
         7: .line 429
      StackMap locals:
      StackMap stack:
            ldc "FunctionExpression"
            astore 3 /* name */
        start local 3 // java.lang.String name
         8: .line 431
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         9: .line 432
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        10: .line 434
            aload 0 /* this */
            ldc "id"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        11: .line 435
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isAnonymous:()Z
            ifne 12
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isGetter:()Z
            ifne 12
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isSetter:()Z
            ifeq 14
        12: .line 436
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.nullValue:()V
        13: .line 437
            goto 15
        14: .line 438
      StackMap locals:
      StackMap stack:
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getIdent:()Lcom/oracle/js/parser/ir/IdentNode;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.IdentNode.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        15: .line 440
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        16: .line 442
            aload 0 /* this */
            ldc "params"
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getParameters:()Ljava/util/List;
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.array:(Ljava/lang/String;Ljava/util/List;)V
        17: .line 443
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        18: .line 445
            aload 0 /* this */
            ldc "defaults"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.arrayStart:(Ljava/lang/String;)V
        19: .line 446
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.arrayEnd:()V
        20: .line 447
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        21: .line 449
            aload 0 /* this */
            ldc "rest"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        22: .line 450
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.nullValue:()V
        23: .line 451
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        24: .line 453
            aload 0 /* this */
            ldc "body"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        25: .line 454
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getBody:()Lcom/oracle/js/parser/ir/Block;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Block.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        26: .line 455
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        27: .line 457
            aload 0 /* this */
            ldc "generator"
            iconst_0
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Z)V
        28: .line 458
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        29: .line 460
            aload 0 /* this */
            ldc "expression"
            iconst_0
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Z)V
        30: .line 462
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 3 // java.lang.String name
        end local 2 // boolean program
        end local 1 // com.oracle.js.parser.ir.FunctionNode functionNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   31     0          this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   31     1  functionNode  Lcom/oracle/js/parser/ir/FunctionNode;
            1   31     2       program  Z
            6    7     3          name  Ljava/lang/String;
            8   31     3          name  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      functionNode  final

  private boolean emitProgram(com.oracle.js.parser.ir.FunctionNode);
    descriptor: (Lcom/oracle/js/parser/ir/FunctionNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.FunctionNode functionNode
         0: .line 466
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 467
            aload 0 /* this */
            ldc "Program"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 468
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 471
            aload 1 /* functionNode */
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getBody:()Lcom/oracle/js/parser/ir/Block;
            invokevirtual com.oracle.js.parser.ir.Block.getStatements:()Ljava/util/List;
            astore 2 /* stats */
        start local 2 // java.util.List stats
         4: .line 472
            aload 2 /* stats */
            invokeinterface java.util.List.size:()I
            istore 3 /* size */
        start local 3 // int size
         5: .line 473
            iconst_0
            istore 4 /* idx */
        start local 4 // int idx
         6: .line 474
            aload 0 /* this */
            ldc "body"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.arrayStart:(Ljava/lang/String;)V
         7: .line 476
            aload 2 /* stats */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 13
      StackMap locals: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter com.oracle.js.parser.ir.FunctionNode java.util.List int int top java.util.Iterator
      StackMap stack:
         8: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Node
            astore 5 /* stat */
        start local 5 // com.oracle.js.parser.ir.Node stat
         9: .line 477
            aload 5 /* stat */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        10: .line 478
            iload 4 /* idx */
            iload 3 /* size */
            iconst_1
            isub
            if_icmpeq 12
        11: .line 479
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        12: .line 481
      StackMap locals: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter com.oracle.js.parser.ir.FunctionNode java.util.List int int com.oracle.js.parser.ir.Node java.util.Iterator
      StackMap stack:
            iinc 4 /* idx */ 1
        end local 5 // com.oracle.js.parser.ir.Node stat
        13: .line 476
      StackMap locals: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter com.oracle.js.parser.ir.FunctionNode java.util.List int int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        14: .line 483
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.arrayEnd:()V
        15: .line 485
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 4 // int idx
        end local 3 // int size
        end local 2 // java.util.List stats
        end local 1 // com.oracle.js.parser.ir.FunctionNode functionNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   16     1  functionNode  Lcom/oracle/js/parser/ir/FunctionNode;
            4   16     2         stats  Ljava/util/List<Lcom/oracle/js/parser/ir/Statement;>;
            5   16     3          size  I
            6   16     4           idx  I
            9   13     5          stat  Lcom/oracle/js/parser/ir/Node;
    MethodParameters:
              Name  Flags
      functionNode  final

  public boolean enterIdentNode(com.oracle.js.parser.ir.IdentNode);
    descriptor: (Lcom/oracle/js/parser/ir/IdentNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.IdentNode identNode
         0: .line 490
            aload 0 /* this */
            aload 1 /* identNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 492
            aload 1 /* identNode */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         2: .line 493
            ldc "this"
            aload 2 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 494
            aload 0 /* this */
            ldc "ThisExpression"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         4: .line 495
            goto 8
         5: .line 496
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            ldc "Identifier"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         6: .line 497
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         7: .line 498
            aload 0 /* this */
            ldc "name"
            aload 1 /* identNode */
            invokevirtual com.oracle.js.parser.ir.IdentNode.getName:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 501
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 2 // java.lang.String name
        end local 1 // com.oracle.js.parser.ir.IdentNode identNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    9     1  identNode  Lcom/oracle/js/parser/ir/IdentNode;
            2    9     2       name  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      identNode  final

  public boolean enterIfNode(com.oracle.js.parser.ir.IfNode);
    descriptor: (Lcom/oracle/js/parser/ir/IfNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.IfNode ifNode
         0: .line 506
            aload 0 /* this */
            aload 1 /* ifNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 508
            aload 0 /* this */
            ldc "IfStatement"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 509
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 511
            aload 0 /* this */
            ldc "test"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         4: .line 512
            aload 1 /* ifNode */
            invokevirtual com.oracle.js.parser.ir.IfNode.getTest:()Lcom/oracle/js/parser/ir/Expression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         5: .line 513
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         6: .line 515
            aload 0 /* this */
            ldc "consequent"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         7: .line 516
            aload 1 /* ifNode */
            invokevirtual com.oracle.js.parser.ir.IfNode.getPass:()Lcom/oracle/js/parser/ir/Block;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Block.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         8: .line 517
            aload 1 /* ifNode */
            invokevirtual com.oracle.js.parser.ir.IfNode.getFail:()Lcom/oracle/js/parser/ir/Block;
            astore 2 /* elsePart */
        start local 2 // com.oracle.js.parser.ir.Node elsePart
         9: .line 518
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        10: .line 520
            aload 0 /* this */
            ldc "alternate"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        11: .line 521
            aload 2 /* elsePart */
            ifnull 14
        12: .line 522
            aload 2 /* elsePart */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        13: .line 523
            goto 15
        14: .line 524
      StackMap locals: com.oracle.js.parser.ir.Node
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.nullValue:()V
        15: .line 527
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 2 // com.oracle.js.parser.ir.Node elsePart
        end local 1 // com.oracle.js.parser.ir.IfNode ifNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   16     1    ifNode  Lcom/oracle/js/parser/ir/IfNode;
            9   16     2  elsePart  Lcom/oracle/js/parser/ir/Node;
    MethodParameters:
        Name  Flags
      ifNode  final

  public boolean enterIndexNode(com.oracle.js.parser.ir.IndexNode);
    descriptor: (Lcom/oracle/js/parser/ir/IndexNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.IndexNode indexNode
         0: .line 532
            aload 0 /* this */
            aload 1 /* indexNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 534
            aload 0 /* this */
            ldc "MemberExpression"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 535
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 537
            aload 0 /* this */
            ldc "object"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         4: .line 538
            aload 1 /* indexNode */
            invokevirtual com.oracle.js.parser.ir.IndexNode.getBase:()Lcom/oracle/js/parser/ir/Expression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         5: .line 539
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         6: .line 541
            aload 0 /* this */
            ldc "property"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         7: .line 542
            aload 1 /* indexNode */
            invokevirtual com.oracle.js.parser.ir.IndexNode.getIndex:()Lcom/oracle/js/parser/ir/Expression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         8: .line 543
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         9: .line 545
            aload 0 /* this */
            ldc "computed"
            iconst_1
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Z)V
        10: .line 547
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 1 // com.oracle.js.parser.ir.IndexNode indexNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   11     1  indexNode  Lcom/oracle/js/parser/ir/IndexNode;
    MethodParameters:
           Name  Flags
      indexNode  final

  public boolean enterLabelNode(com.oracle.js.parser.ir.LabelNode);
    descriptor: (Lcom/oracle/js/parser/ir/LabelNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.LabelNode labelNode
         0: .line 552
            aload 0 /* this */
            aload 1 /* labelNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 554
            aload 0 /* this */
            ldc "LabeledStatement"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 555
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 557
            aload 0 /* this */
            ldc "label"
            aload 1 /* labelNode */
            invokevirtual com.oracle.js.parser.ir.LabelNode.getLabelName:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 558
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         5: .line 560
            aload 0 /* this */
            ldc "body"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         6: .line 561
            aload 1 /* labelNode */
            invokevirtual com.oracle.js.parser.ir.LabelNode.getBody:()Lcom/oracle/js/parser/ir/Block;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Block.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         7: .line 563
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 1 // com.oracle.js.parser.ir.LabelNode labelNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    8     1  labelNode  Lcom/oracle/js/parser/ir/LabelNode;
    MethodParameters:
           Name  Flags
      labelNode  final

  public boolean enterLiteralNode(com.oracle.js.parser.ir.LiteralNode);
    descriptor: (Lcom/oracle/js/parser/ir/LiteralNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.LiteralNode literalNode
         0: .line 569
            aload 0 /* this */
            aload 1 /* literalNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 571
            aload 1 /* literalNode */
            instanceof com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode
            ifeq 6
         2: .line 572
            aload 0 /* this */
            ldc "ArrayExpression"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         3: .line 573
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         4: .line 575
            aload 0 /* this */
            ldc "elements"
            aload 1 /* literalNode */
            checkcast com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode
            invokevirtual com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode.getElementExpressions:()Ljava/util/List;
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.array:(Ljava/lang/String;Ljava/util/List;)V
         5: .line 576
            goto 23
         6: .line 577
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "Literal"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         7: .line 578
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         8: .line 580
            aload 0 /* this */
            ldc "value"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         9: .line 581
            aload 1 /* literalNode */
            invokevirtual com.oracle.js.parser.ir.LiteralNode.getValue:()Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
        10: .line 582
            aload 2 /* value */
            instanceof com.oracle.js.parser.Lexer$RegexToken
            ifeq 19
        11: .line 584
            aload 2 /* value */
            checkcast com.oracle.js.parser.Lexer$RegexToken
            astore 3 /* regex */
        start local 3 // com.oracle.js.parser.Lexer$RegexToken regex
        12: .line 585
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* regexBuf */
        start local 4 // java.lang.StringBuilder regexBuf
        13: .line 586
            aload 4 /* regexBuf */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 587
            aload 4 /* regexBuf */
            aload 3 /* regex */
            invokevirtual com.oracle.js.parser.Lexer$RegexToken.getExpression:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 588
            aload 4 /* regexBuf */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 589
            aload 4 /* regexBuf */
            aload 3 /* regex */
            invokevirtual com.oracle.js.parser.Lexer$RegexToken.getOptions:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 590
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            aload 4 /* regexBuf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.quote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // java.lang.StringBuilder regexBuf
        end local 3 // com.oracle.js.parser.Lexer$RegexToken regex
        18: .line 591
            goto 23
        19: .line 592
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* literalNode */
            invokevirtual com.oracle.js.parser.ir.LiteralNode.getString:()Ljava/lang/String;
            astore 3 /* str */
        start local 3 // java.lang.String str
        20: .line 595
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            aload 1 /* literalNode */
            invokevirtual com.oracle.js.parser.ir.LiteralNode.isString:()Z
            ifeq 21
            new java.lang.StringBuilder
            dup
            ldc "$"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* str */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.quote:(Ljava/lang/String;)Ljava/lang/String;
            goto 22
      StackMap locals: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter com.oracle.js.parser.ir.LiteralNode java.lang.Object java.lang.String
      StackMap stack: java.lang.StringBuilder
        21: aload 3 /* str */
      StackMap locals: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter com.oracle.js.parser.ir.LiteralNode java.lang.Object java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.String
        22: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 3 // java.lang.String str
        end local 2 // java.lang.Object value
        23: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 1 // com.oracle.js.parser.ir.LiteralNode literalNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   24     1  literalNode  Lcom/oracle/js/parser/ir/LiteralNode;
           10   23     2        value  Ljava/lang/Object;
           12   18     3        regex  Lcom/oracle/js/parser/Lexer$RegexToken;
           13   18     4     regexBuf  Ljava/lang/StringBuilder;
           20   23     3          str  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      literalNode  final

  public boolean enterObjectNode(com.oracle.js.parser.ir.ObjectNode);
    descriptor: (Lcom/oracle/js/parser/ir/ObjectNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.ObjectNode objectNode
         0: .line 604
            aload 0 /* this */
            aload 1 /* objectNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 606
            aload 0 /* this */
            ldc "ObjectExpression"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 607
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 609
            aload 0 /* this */
            ldc "properties"
            aload 1 /* objectNode */
            invokevirtual com.oracle.js.parser.ir.ObjectNode.getElements:()Ljava/util/List;
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.array:(Ljava/lang/String;Ljava/util/List;)V
         4: .line 611
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 1 // com.oracle.js.parser.ir.ObjectNode objectNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    5     1  objectNode  Lcom/oracle/js/parser/ir/ObjectNode;
    MethodParameters:
            Name  Flags
      objectNode  final

  public boolean enterPropertyNode(com.oracle.js.parser.ir.PropertyNode);
    descriptor: (Lcom/oracle/js/parser/ir/PropertyNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.PropertyNode propertyNode
         0: .line 616
            aload 1 /* propertyNode */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getKey:()Lcom/oracle/js/parser/ir/Expression;
            astore 2 /* key */
        start local 2 // com.oracle.js.parser.ir.Node key
         1: .line 618
            aload 1 /* propertyNode */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getValue:()Lcom/oracle/js/parser/ir/Expression;
            astore 3 /* value */
        start local 3 // com.oracle.js.parser.ir.Node value
         2: .line 619
            aload 3 /* value */
            ifnull 14
         3: .line 620
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.objectStart:()V
         4: .line 621
            aload 0 /* this */
            aload 1 /* propertyNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.location:(Lcom/oracle/js/parser/ir/Node;)V
         5: .line 623
            aload 0 /* this */
            ldc "key"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         6: .line 624
            aload 2 /* key */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         7: .line 625
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         8: .line 627
            aload 0 /* this */
            ldc "value"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         9: .line 628
            aload 3 /* value */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        10: .line 629
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        11: .line 631
            aload 0 /* this */
            ldc "kind"
            ldc "init"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Ljava/lang/String;)V
        12: .line 633
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.objectEnd:()V
        13: .line 634
            goto 40
        14: .line 636
      StackMap locals: com.oracle.js.parser.ir.Node com.oracle.js.parser.ir.Node
      StackMap stack:
            aload 1 /* propertyNode */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getGetter:()Lcom/oracle/js/parser/ir/FunctionNode;
            astore 4 /* getter */
        start local 4 // com.oracle.js.parser.ir.Node getter
        15: .line 637
            aload 4 /* getter */
            ifnull 26
        16: .line 638
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.objectStart:()V
        17: .line 639
            aload 0 /* this */
            aload 1 /* propertyNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.location:(Lcom/oracle/js/parser/ir/Node;)V
        18: .line 641
            aload 0 /* this */
            ldc "key"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        19: .line 642
            aload 2 /* key */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        20: .line 643
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        21: .line 645
            aload 0 /* this */
            ldc "value"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        22: .line 646
            aload 4 /* getter */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        23: .line 647
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        24: .line 649
            aload 0 /* this */
            ldc "kind"
            ldc "get"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Ljava/lang/String;)V
        25: .line 651
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.objectEnd:()V
        26: .line 655
      StackMap locals: com.oracle.js.parser.ir.Node
      StackMap stack:
            aload 1 /* propertyNode */
            invokevirtual com.oracle.js.parser.ir.PropertyNode.getSetter:()Lcom/oracle/js/parser/ir/FunctionNode;
            astore 5 /* setter */
        start local 5 // com.oracle.js.parser.ir.Node setter
        27: .line 656
            aload 5 /* setter */
            ifnull 40
        28: .line 657
            aload 4 /* getter */
            ifnull 30
        29: .line 658
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        30: .line 660
      StackMap locals: com.oracle.js.parser.ir.Node
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.objectStart:()V
        31: .line 661
            aload 0 /* this */
            aload 1 /* propertyNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.location:(Lcom/oracle/js/parser/ir/Node;)V
        32: .line 663
            aload 0 /* this */
            ldc "key"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        33: .line 664
            aload 2 /* key */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        34: .line 665
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        35: .line 667
            aload 0 /* this */
            ldc "value"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        36: .line 668
            aload 5 /* setter */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        37: .line 669
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        38: .line 671
            aload 0 /* this */
            ldc "kind"
            ldc "set"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Ljava/lang/String;)V
        39: .line 673
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.objectEnd:()V
        end local 5 // com.oracle.js.parser.ir.Node setter
        end local 4 // com.oracle.js.parser.ir.Node getter
        40: .line 677
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // com.oracle.js.parser.ir.Node value
        end local 2 // com.oracle.js.parser.ir.Node key
        end local 1 // com.oracle.js.parser.ir.PropertyNode propertyNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   41     0          this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   41     1  propertyNode  Lcom/oracle/js/parser/ir/PropertyNode;
            1   41     2           key  Lcom/oracle/js/parser/ir/Node;
            2   41     3         value  Lcom/oracle/js/parser/ir/Node;
           15   40     4        getter  Lcom/oracle/js/parser/ir/Node;
           27   40     5        setter  Lcom/oracle/js/parser/ir/Node;
    MethodParameters:
              Name  Flags
      propertyNode  final

  public boolean enterReturnNode(com.oracle.js.parser.ir.ReturnNode);
    descriptor: (Lcom/oracle/js/parser/ir/ReturnNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.ReturnNode returnNode
         0: .line 682
            aload 0 /* this */
            aload 1 /* returnNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 684
            aload 0 /* this */
            ldc "ReturnStatement"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 685
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 687
            aload 1 /* returnNode */
            invokevirtual com.oracle.js.parser.ir.ReturnNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
            astore 2 /* arg */
        start local 2 // com.oracle.js.parser.ir.Node arg
         4: .line 688
            aload 0 /* this */
            ldc "argument"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         5: .line 689
            aload 2 /* arg */
            ifnull 8
         6: .line 690
            aload 2 /* arg */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         7: .line 691
            goto 9
         8: .line 692
      StackMap locals: com.oracle.js.parser.ir.Node
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.nullValue:()V
         9: .line 695
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 2 // com.oracle.js.parser.ir.Node arg
        end local 1 // com.oracle.js.parser.ir.ReturnNode returnNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   10     1  returnNode  Lcom/oracle/js/parser/ir/ReturnNode;
            4   10     2         arg  Lcom/oracle/js/parser/ir/Node;
    MethodParameters:
            Name  Flags
      returnNode  final

  public boolean enterRuntimeNode(com.oracle.js.parser.ir.RuntimeNode);
    descriptor: (Lcom/oracle/js/parser/ir/RuntimeNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.RuntimeNode runtimeNode
         0: .line 700
            getstatic com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.$assertionsDisabled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "should not reach here: RuntimeNode"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 701
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // com.oracle.js.parser.ir.RuntimeNode runtimeNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    2     1  runtimeNode  Lcom/oracle/js/parser/ir/RuntimeNode;
    MethodParameters:
             Name  Flags
      runtimeNode  final

  public boolean enterSwitchNode(com.oracle.js.parser.ir.SwitchNode);
    descriptor: (Lcom/oracle/js/parser/ir/SwitchNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.SwitchNode switchNode
         0: .line 706
            aload 0 /* this */
            aload 1 /* switchNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 708
            aload 0 /* this */
            ldc "SwitchStatement"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 709
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 711
            aload 0 /* this */
            ldc "discriminant"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         4: .line 712
            aload 1 /* switchNode */
            invokevirtual com.oracle.js.parser.ir.SwitchNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         5: .line 713
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         6: .line 715
            aload 0 /* this */
            ldc "cases"
            aload 1 /* switchNode */
            invokevirtual com.oracle.js.parser.ir.SwitchNode.getCases:()Ljava/util/List;
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.array:(Ljava/lang/String;Ljava/util/List;)V
         7: .line 717
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 1 // com.oracle.js.parser.ir.SwitchNode switchNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    8     1  switchNode  Lcom/oracle/js/parser/ir/SwitchNode;
    MethodParameters:
            Name  Flags
      switchNode  final

  public boolean enterTernaryNode(com.oracle.js.parser.ir.TernaryNode);
    descriptor: (Lcom/oracle/js/parser/ir/TernaryNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.TernaryNode ternaryNode
         0: .line 722
            aload 0 /* this */
            aload 1 /* ternaryNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 724
            aload 0 /* this */
            ldc "ConditionalExpression"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 725
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 727
            aload 0 /* this */
            ldc "test"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         4: .line 728
            aload 1 /* ternaryNode */
            invokevirtual com.oracle.js.parser.ir.TernaryNode.getTest:()Lcom/oracle/js/parser/ir/Expression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         5: .line 729
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         6: .line 731
            aload 0 /* this */
            ldc "consequent"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         7: .line 732
            aload 1 /* ternaryNode */
            invokevirtual com.oracle.js.parser.ir.TernaryNode.getTrueExpression:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.JoinPredecessorExpression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         8: .line 733
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         9: .line 735
            aload 0 /* this */
            ldc "alternate"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        10: .line 736
            aload 1 /* ternaryNode */
            invokevirtual com.oracle.js.parser.ir.TernaryNode.getFalseExpression:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.JoinPredecessorExpression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        11: .line 738
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 1 // com.oracle.js.parser.ir.TernaryNode ternaryNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   12     1  ternaryNode  Lcom/oracle/js/parser/ir/TernaryNode;
    MethodParameters:
             Name  Flags
      ternaryNode  final

  public boolean enterThrowNode(com.oracle.js.parser.ir.ThrowNode);
    descriptor: (Lcom/oracle/js/parser/ir/ThrowNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.ThrowNode throwNode
         0: .line 743
            aload 0 /* this */
            aload 1 /* throwNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 745
            aload 0 /* this */
            ldc "ThrowStatement"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 746
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 748
            aload 0 /* this */
            ldc "argument"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         4: .line 749
            aload 1 /* throwNode */
            invokevirtual com.oracle.js.parser.ir.ThrowNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         5: .line 751
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 1 // com.oracle.js.parser.ir.ThrowNode throwNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    6     1  throwNode  Lcom/oracle/js/parser/ir/ThrowNode;
    MethodParameters:
           Name  Flags
      throwNode  final

  public boolean enterTryNode(com.oracle.js.parser.ir.TryNode);
    descriptor: (Lcom/oracle/js/parser/ir/TryNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.TryNode tryNode
         0: .line 756
            aload 0 /* this */
            aload 1 /* tryNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 758
            aload 0 /* this */
            ldc "TryStatement"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 759
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 761
            aload 0 /* this */
            ldc "block"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         4: .line 762
            aload 1 /* tryNode */
            invokevirtual com.oracle.js.parser.ir.TryNode.getBody:()Lcom/oracle/js/parser/ir/Block;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Block.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         5: .line 763
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         6: .line 765
            aload 1 /* tryNode */
            invokevirtual com.oracle.js.parser.ir.TryNode.getCatches:()Ljava/util/List;
            astore 2 /* catches */
        start local 2 // java.util.List catches
         7: .line 766
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* guarded */
        start local 3 // java.util.List guarded
         8: .line 767
            aconst_null
            astore 4 /* unguarded */
        start local 4 // com.oracle.js.parser.ir.CatchNode unguarded
         9: .line 768
            aload 2 /* catches */
            ifnull 18
        10: .line 769
            aload 2 /* catches */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 17
      StackMap locals: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter com.oracle.js.parser.ir.TryNode java.util.List java.util.List com.oracle.js.parser.ir.CatchNode top java.util.Iterator
      StackMap stack:
        11: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.CatchNode
            astore 5 /* cn */
        start local 5 // com.oracle.js.parser.ir.CatchNode cn
        12: .line 770
            aload 5 /* cn */
            invokevirtual com.oracle.js.parser.ir.CatchNode.getExceptionCondition:()Lcom/oracle/js/parser/ir/Expression;
            ifnull 15
        13: .line 771
            aload 3 /* guarded */
            aload 5 /* cn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 772
            goto 17
        15: .line 773
      StackMap locals: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter com.oracle.js.parser.ir.TryNode java.util.List java.util.List com.oracle.js.parser.ir.CatchNode com.oracle.js.parser.ir.CatchNode java.util.Iterator
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.$assertionsDisabled:Z
            ifne 16
            aload 4 /* unguarded */
            ifnull 16
            new java.lang.AssertionError
            dup
            ldc "too many unguarded?"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        16: .line 774
      StackMap locals:
      StackMap stack:
            aload 5 /* cn */
            astore 4 /* unguarded */
        end local 5 // com.oracle.js.parser.ir.CatchNode cn
        17: .line 769
      StackMap locals: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter com.oracle.js.parser.ir.TryNode java.util.List java.util.List com.oracle.js.parser.ir.CatchNode top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        18: .line 779
      StackMap locals: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter com.oracle.js.parser.ir.TryNode java.util.List java.util.List com.oracle.js.parser.ir.CatchNode
      StackMap stack:
            aload 0 /* this */
            ldc "guardedHandlers"
            aload 3 /* guarded */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.array:(Ljava/lang/String;Ljava/util/List;)V
        19: .line 780
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        20: .line 782
            aload 0 /* this */
            ldc "handler"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        21: .line 783
            aload 4 /* unguarded */
            ifnull 24
        22: .line 784
            aload 4 /* unguarded */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.CatchNode.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        23: .line 785
            goto 25
        24: .line 786
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.nullValue:()V
        25: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        26: .line 790
            aload 0 /* this */
            ldc "finalizer"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        27: .line 791
            aload 1 /* tryNode */
            invokevirtual com.oracle.js.parser.ir.TryNode.getFinallyBody:()Lcom/oracle/js/parser/ir/Block;
            astore 5 /* finallyNode */
        start local 5 // com.oracle.js.parser.ir.Node finallyNode
        28: .line 792
            aload 5 /* finallyNode */
            ifnull 31
        29: .line 793
            aload 5 /* finallyNode */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        30: .line 794
            goto 32
        31: .line 795
      StackMap locals: com.oracle.js.parser.ir.Node
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.nullValue:()V
        32: .line 798
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 5 // com.oracle.js.parser.ir.Node finallyNode
        end local 4 // com.oracle.js.parser.ir.CatchNode unguarded
        end local 3 // java.util.List guarded
        end local 2 // java.util.List catches
        end local 1 // com.oracle.js.parser.ir.TryNode tryNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   33     0         this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   33     1      tryNode  Lcom/oracle/js/parser/ir/TryNode;
            7   33     2      catches  Ljava/util/List<Lcom/oracle/js/parser/ir/CatchNode;>;
            8   33     3      guarded  Ljava/util/List<Lcom/oracle/js/parser/ir/CatchNode;>;
            9   33     4    unguarded  Lcom/oracle/js/parser/ir/CatchNode;
           12   17     5           cn  Lcom/oracle/js/parser/ir/CatchNode;
           28   33     5  finallyNode  Lcom/oracle/js/parser/ir/Node;
    MethodParameters:
         Name  Flags
      tryNode  final

  public boolean enterUnaryNode(com.oracle.js.parser.ir.UnaryNode);
    descriptor: (Lcom/oracle/js/parser/ir/UnaryNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.UnaryNode unaryNode
         0: .line 803
            aload 0 /* this */
            aload 1 /* unaryNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 805
            aload 1 /* unaryNode */
            invokevirtual com.oracle.js.parser.ir.UnaryNode.tokenType:()Lcom/oracle/js/parser/TokenType;
            astore 2 /* tokenType */
        start local 2 // com.oracle.js.parser.TokenType tokenType
         2: .line 806
            aload 2 /* tokenType */
            getstatic com.oracle.js.parser.TokenType.NEW:Lcom/oracle/js/parser/TokenType;
            if_acmpne 11
         3: .line 807
            aload 0 /* this */
            ldc "NewExpression"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         4: .line 808
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         5: .line 810
            aload 1 /* unaryNode */
            invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
            checkcast com.oracle.js.parser.ir.CallNode
            astore 3 /* callNode */
        start local 3 // com.oracle.js.parser.ir.CallNode callNode
         6: .line 811
            aload 0 /* this */
            ldc "callee"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         7: .line 812
            aload 3 /* callNode */
            invokevirtual com.oracle.js.parser.ir.CallNode.getFunction:()Lcom/oracle/js/parser/ir/Expression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         8: .line 813
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         9: .line 815
            aload 0 /* this */
            ldc "arguments"
            aload 3 /* callNode */
            invokevirtual com.oracle.js.parser.ir.CallNode.getArgs:()Ljava/util/List;
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.array:(Ljava/lang/String;Ljava/util/List;)V
        end local 3 // com.oracle.js.parser.ir.CallNode callNode
        10: .line 816
            goto 36
        11: .line 819
      StackMap locals: com.oracle.js.parser.TokenType
      StackMap stack:
            invokestatic com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.$SWITCH_TABLE$com$oracle$js$parser$TokenType:()[I
            aload 2 /* tokenType */
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 4
                   22: 18
                   26: 21
                  137: 15
                  138: 12
              default: 24
          }
        12: .line 821
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* prefix */
        start local 4 // boolean prefix
        13: .line 822
            ldc "++"
            astore 3 /* operator */
        start local 3 // java.lang.String operator
        14: .line 823
            goto 26
        end local 4 // boolean prefix
        end local 3 // java.lang.String operator
        15: .line 825
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* prefix */
        start local 4 // boolean prefix
        16: .line 826
            ldc "--"
            astore 3 /* operator */
        start local 3 // java.lang.String operator
        17: .line 827
            goto 26
        end local 4 // boolean prefix
        end local 3 // java.lang.String operator
        18: .line 829
      StackMap locals:
      StackMap stack:
            ldc "++"
            astore 3 /* operator */
        start local 3 // java.lang.String operator
        19: .line 830
            iconst_1
            istore 4 /* prefix */
        start local 4 // boolean prefix
        20: .line 831
            goto 26
        end local 4 // boolean prefix
        end local 3 // java.lang.String operator
        21: .line 833
      StackMap locals:
      StackMap stack:
            ldc "--"
            astore 3 /* operator */
        start local 3 // java.lang.String operator
        22: .line 834
            iconst_1
            istore 4 /* prefix */
        start local 4 // boolean prefix
        23: .line 835
            goto 26
        end local 4 // boolean prefix
        end local 3 // java.lang.String operator
        24: .line 837
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* prefix */
        start local 4 // boolean prefix
        25: .line 838
            aload 2 /* tokenType */
            invokevirtual com.oracle.js.parser.TokenType.getName:()Ljava/lang/String;
            astore 3 /* operator */
        start local 3 // java.lang.String operator
        26: .line 842
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* unaryNode */
            invokevirtual com.oracle.js.parser.ir.UnaryNode.isAssignment:()Z
            ifeq 27
            ldc "UpdateExpression"
            goto 28
      StackMap locals:
      StackMap stack: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter
        27: ldc "UnaryExpression"
      StackMap locals: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter com.oracle.js.parser.ir.UnaryNode com.oracle.js.parser.TokenType java.lang.String int
      StackMap stack: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter java.lang.String
        28: invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
        29: .line 843
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        30: .line 845
            aload 0 /* this */
            ldc "operator"
            aload 3 /* operator */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Ljava/lang/String;)V
        31: .line 846
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        32: .line 848
            aload 0 /* this */
            ldc "prefix"
            iload 4 /* prefix */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Z)V
        33: .line 849
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        34: .line 851
            aload 0 /* this */
            ldc "argument"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        35: .line 852
            aload 1 /* unaryNode */
            invokevirtual com.oracle.js.parser.ir.UnaryNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        end local 4 // boolean prefix
        end local 3 // java.lang.String operator
        36: .line 855
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 2 // com.oracle.js.parser.TokenType tokenType
        end local 1 // com.oracle.js.parser.ir.UnaryNode unaryNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   37     0       this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   37     1  unaryNode  Lcom/oracle/js/parser/ir/UnaryNode;
            2   37     2  tokenType  Lcom/oracle/js/parser/TokenType;
            6   10     3   callNode  Lcom/oracle/js/parser/ir/CallNode;
           14   15     3   operator  Ljava/lang/String;
           17   18     3   operator  Ljava/lang/String;
           19   21     3   operator  Ljava/lang/String;
           22   24     3   operator  Ljava/lang/String;
           26   36     3   operator  Ljava/lang/String;
           13   15     4     prefix  Z
           16   18     4     prefix  Z
           20   21     4     prefix  Z
           23   24     4     prefix  Z
           25   36     4     prefix  Z
    MethodParameters:
           Name  Flags
      unaryNode  final

  public boolean enterVarNode(com.oracle.js.parser.ir.VarNode);
    descriptor: (Lcom/oracle/js/parser/ir/VarNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.VarNode varNode
         0: .line 860
            aload 1 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.getInit:()Lcom/oracle/js/parser/ir/Expression;
            astore 2 /* init */
        start local 2 // com.oracle.js.parser.ir.Node init
         1: .line 861
            aload 2 /* init */
            instanceof com.oracle.js.parser.ir.FunctionNode
            ifeq 4
            aload 2 /* init */
            checkcast com.oracle.js.parser.ir.FunctionNode
            invokevirtual com.oracle.js.parser.ir.FunctionNode.isDeclared:()Z
            ifeq 4
         2: .line 864
            aload 2 /* init */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         3: .line 865
            iconst_0
            ireturn
         4: .line 868
      StackMap locals: com.oracle.js.parser.ir.Node
      StackMap stack:
            aload 0 /* this */
            aload 1 /* varNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         5: .line 870
            aload 0 /* this */
            ldc "VariableDeclaration"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         6: .line 871
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         7: .line 873
            aload 0 /* this */
            ldc "declarations"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.arrayStart:(Ljava/lang/String;)V
         8: .line 876
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.objectStart:()V
         9: .line 877
            aload 0 /* this */
            aload 1 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.getName:()Lcom/oracle/js/parser/ir/IdentNode;
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.location:(Lcom/oracle/js/parser/ir/Node;)V
        10: .line 879
            aload 0 /* this */
            ldc "VariableDeclarator"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
        11: .line 880
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        12: .line 882
            aload 0 /* this */
            ldc "id"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        13: .line 883
            aload 1 /* varNode */
            invokevirtual com.oracle.js.parser.ir.VarNode.getName:()Lcom/oracle/js/parser/ir/IdentNode;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.IdentNode.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        14: .line 884
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        15: .line 886
            aload 0 /* this */
            ldc "init"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        16: .line 887
            aload 2 /* init */
            ifnull 19
        17: .line 888
            aload 2 /* init */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        18: .line 889
            goto 20
        19: .line 890
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.nullValue:()V
        20: .line 894
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.objectEnd:()V
        21: .line 897
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.arrayEnd:()V
        22: .line 899
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 2 // com.oracle.js.parser.ir.Node init
        end local 1 // com.oracle.js.parser.ir.VarNode varNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0     this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   23     1  varNode  Lcom/oracle/js/parser/ir/VarNode;
            1   23     2     init  Lcom/oracle/js/parser/ir/Node;
    MethodParameters:
         Name  Flags
      varNode  final

  public boolean enterWhileNode(com.oracle.js.parser.ir.WhileNode);
    descriptor: (Lcom/oracle/js/parser/ir/WhileNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.WhileNode whileNode
         0: .line 904
            aload 0 /* this */
            aload 1 /* whileNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 906
            aload 0 /* this */
            aload 1 /* whileNode */
            invokevirtual com.oracle.js.parser.ir.WhileNode.isDoWhile:()Z
            ifeq 2
            ldc "DoWhileStatement"
            goto 3
      StackMap locals:
      StackMap stack: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter
         2: ldc "WhileStatement"
      StackMap locals: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter com.oracle.js.parser.ir.WhileNode
      StackMap stack: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter java.lang.String
         3: invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         4: .line 907
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         5: .line 909
            aload 1 /* whileNode */
            invokevirtual com.oracle.js.parser.ir.WhileNode.isDoWhile:()Z
            ifeq 12
         6: .line 910
            aload 0 /* this */
            ldc "body"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         7: .line 911
            aload 1 /* whileNode */
            invokevirtual com.oracle.js.parser.ir.WhileNode.getBody:()Lcom/oracle/js/parser/ir/Block;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Block.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         8: .line 912
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         9: .line 914
            aload 0 /* this */
            ldc "test"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        10: .line 915
            aload 1 /* whileNode */
            invokevirtual com.oracle.js.parser.ir.WhileNode.getTest:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.JoinPredecessorExpression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        11: .line 916
            goto 17
        12: .line 917
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "test"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        13: .line 918
            aload 1 /* whileNode */
            invokevirtual com.oracle.js.parser.ir.WhileNode.getTest:()Lcom/oracle/js/parser/ir/JoinPredecessorExpression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.JoinPredecessorExpression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        14: .line 919
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        15: .line 921
            aload 0 /* this */
            ldc "body"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
        16: .line 922
            aload 1 /* whileNode */
            invokevirtual com.oracle.js.parser.ir.WhileNode.getBody:()Lcom/oracle/js/parser/ir/Block;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Block.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
        17: .line 925
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 1 // com.oracle.js.parser.ir.WhileNode whileNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   18     1  whileNode  Lcom/oracle/js/parser/ir/WhileNode;
    MethodParameters:
           Name  Flags
      whileNode  final

  public boolean enterWithNode(com.oracle.js.parser.ir.WithNode);
    descriptor: (Lcom/oracle/js/parser/ir/WithNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.WithNode withNode
         0: .line 930
            aload 0 /* this */
            aload 1 /* withNode */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.enterDefault:(Lcom/oracle/js/parser/ir/Node;)Z
            pop
         1: .line 932
            aload 0 /* this */
            ldc "WithStatement"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.type:(Ljava/lang/String;)V
         2: .line 933
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         3: .line 935
            aload 0 /* this */
            ldc "object"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         4: .line 936
            aload 1 /* withNode */
            invokevirtual com.oracle.js.parser.ir.WithNode.getExpression:()Lcom/oracle/js/parser/ir/Expression;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Expression.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         5: .line 937
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         6: .line 939
            aload 0 /* this */
            ldc "body"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;)V
         7: .line 940
            aload 1 /* withNode */
            invokevirtual com.oracle.js.parser.ir.WithNode.getBody:()Lcom/oracle/js/parser/ir/Block;
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Block.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         8: .line 942
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.leave:()Z
            ireturn
        end local 1 // com.oracle.js.parser.ir.WithNode withNode
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    9     1  withNode  Lcom/oracle/js/parser/ir/WithNode;
    MethodParameters:
          Name  Flags
      withNode  final

  private void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // boolean includeLocation
         0: .line 948
            aload 0 /* this */
            new com.oracle.js.parser.ir.LexicalContext
            dup
            invokespecial com.oracle.js.parser.ir.LexicalContext.<init>:()V
            invokespecial com.oracle.js.parser.ir.visitor.NodeVisitor.<init>:(Lcom/oracle/js/parser/ir/LexicalContext;)V
         1: .line 949
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            putfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
         2: .line 950
            aload 0 /* this */
            iload 1 /* includeLocation */
            putfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.includeLocation:Z
         3: .line 951
            return
        end local 1 // boolean includeLocation
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    4     1  includeLocation  Z
    MethodParameters:
                 Name  Flags
      includeLocation  final

  private java.lang.String getString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
         0: .line 957
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;

  private void property(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // java.lang.String key
        start local 2 // java.lang.String value
        start local 3 // boolean escape
         0: .line 961
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         1: .line 962
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 963
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            ldc "\":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 964
            aload 2 /* value */
            ifnull 9
         4: .line 965
            iload 3 /* escape */
            ifeq 6
         5: .line 966
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 968
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            aload 2 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 969
            iload 3 /* escape */
            ifeq 9
         8: .line 970
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 973
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean escape
        end local 2 // java.lang.String value
        end local 1 // java.lang.String key
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   10     1     key  Ljava/lang/String;
            0   10     2   value  Ljava/lang/String;
            0   10     3  escape  Z
    MethodParameters:
        Name  Flags
      key     final
      value   final
      escape  final

  private void property(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // java.lang.String key
        start local 2 // java.lang.String value
         0: .line 976
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            iconst_1
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 977
            return
        end local 2 // java.lang.String value
        end local 1 // java.lang.String key
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    2     1    key  Ljava/lang/String;
            0    2     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      key    final
      value  final

  private void property(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // java.lang.String key
        start local 2 // boolean value
         0: .line 980
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* value */
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            iconst_0
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 981
            return
        end local 2 // boolean value
        end local 1 // java.lang.String key
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    2     1    key  Ljava/lang/String;
            0    2     2  value  Z
    MethodParameters:
       Name  Flags
      key    final
      value  final

  private void property(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // java.lang.String key
        start local 2 // int value
         0: .line 984
            aload 0 /* this */
            aload 1 /* key */
            iload 2 /* value */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            iconst_0
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 985
            return
        end local 2 // int value
        end local 1 // java.lang.String key
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    2     1    key  Ljava/lang/String;
            0    2     2  value  I
    MethodParameters:
       Name  Flags
      key    final
      value  final

  private void property(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // java.lang.String key
         0: .line 988
            aload 0 /* this */
            aload 1 /* key */
            aconst_null
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 989
            return
        end local 1 // java.lang.String key
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    2     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   final

  private void type(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // java.lang.String value
         0: .line 992
            aload 0 /* this */
            ldc "type"
            aload 1 /* value */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 993
            return
        end local 1 // java.lang.String value
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    2     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  final

  private void objectStart(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // java.lang.String name
         0: .line 996
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         1: .line 997
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 998
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            ldc "\":{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 999
            return
        end local 1 // java.lang.String name
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    4     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  private void objectStart();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
         0: .line 1002
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            bipush 123
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         1: .line 1003
            return
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;

  private void objectEnd();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
         0: .line 1006
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            bipush 125
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         1: .line 1007
            return
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;

  private void array(java.lang.String, java.util.List<? extends com.oracle.js.parser.ir.Node>);
    descriptor: (Ljava/lang/String;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // java.lang.String name
        start local 2 // java.util.List nodes
         0: .line 1011
            aload 2 /* nodes */
            invokeinterface java.util.List.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 1012
            iconst_0
            istore 4 /* idx */
        start local 4 // int idx
         2: .line 1013
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.arrayStart:(Ljava/lang/String;)V
         3: .line 1014
            aload 2 /* nodes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 12
      StackMap locals: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter java.lang.String java.util.List int int top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Node
            astore 5 /* node */
        start local 5 // com.oracle.js.parser.ir.Node node
         5: .line 1015
            aload 5 /* node */
            ifnull 8
         6: .line 1016
            aload 5 /* node */
            aload 0 /* this */
            invokevirtual com.oracle.js.parser.ir.Node.accept:(Lcom/oracle/js/parser/ir/visitor/NodeVisitor;)Lcom/oracle/js/parser/ir/Node;
            pop
         7: .line 1017
            goto 9
         8: .line 1018
      StackMap locals: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter java.lang.String java.util.List int int com.oracle.js.parser.ir.Node java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.nullValue:()V
         9: .line 1020
      StackMap locals:
      StackMap stack:
            iload 4 /* idx */
            iload 3 /* size */
            iconst_1
            isub
            if_icmpeq 11
        10: .line 1021
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        11: .line 1023
      StackMap locals:
      StackMap stack:
            iinc 4 /* idx */ 1
        end local 5 // com.oracle.js.parser.ir.Node node
        12: .line 1014
      StackMap locals: com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter java.lang.String java.util.List int int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        13: .line 1025
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.arrayEnd:()V
        14: .line 1026
            return
        end local 4 // int idx
        end local 3 // int size
        end local 2 // java.util.List nodes
        end local 1 // java.lang.String name
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   15     1   name  Ljava/lang/String;
            0   15     2  nodes  Ljava/util/List<+Lcom/oracle/js/parser/ir/Node;>;
            1   15     3   size  I
            2   15     4    idx  I
            5   12     5   node  Lcom/oracle/js/parser/ir/Node;
    Signature: (Ljava/lang/String;Ljava/util/List<+Lcom/oracle/js/parser/ir/Node;>;)V
    MethodParameters:
       Name  Flags
      name   final
      nodes  final

  private void arrayStart(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // java.lang.String name
         0: .line 1029
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         1: .line 1030
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 1031
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            bipush 34
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 1032
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 1033
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 1034
            return
        end local 1 // java.lang.String name
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0    6     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  private void arrayEnd();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
         0: .line 1037
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         1: .line 1038
            return
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;

  private void comma();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
         0: .line 1041
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         1: .line 1042
            return
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;

  private void nullValue();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
         0: .line 1045
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.buf:Ljava/lang/StringBuilder;
            ldc "null"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 1046
            return
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;

  private void location(com.oracle.js.parser.ir.Node);
    descriptor: (Lcom/oracle/js/parser/ir/Node;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
        start local 1 // com.oracle.js.parser.ir.Node node
         0: .line 1049
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.includeLocation:Z
            ifeq 20
         1: .line 1050
            aload 0 /* this */
            ldc "loc"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.objectStart:(Ljava/lang/String;)V
         2: .line 1053
            aload 0 /* this */
            getfield com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.lc:Lcom/oracle/js/parser/ir/LexicalContext;
            invokevirtual com.oracle.js.parser.ir.LexicalContext.getCurrentFunction:()Lcom/oracle/js/parser/ir/FunctionNode;
            invokevirtual com.oracle.js.parser.ir.FunctionNode.getSource:()Lcom/oracle/js/parser/Source;
            astore 2 /* src */
        start local 2 // com.oracle.js.parser.Source src
         3: .line 1054
            aload 0 /* this */
            ldc "source"
            aload 2 /* src */
            invokevirtual com.oracle.js.parser.Source.getName:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 1055
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         5: .line 1058
            aload 0 /* this */
            ldc "start"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.objectStart:(Ljava/lang/String;)V
         6: .line 1059
            aload 1 /* node */
            invokevirtual com.oracle.js.parser.ir.Node.getStart:()I
            istore 3 /* start */
        start local 3 // int start
         7: .line 1060
            aload 0 /* this */
            ldc "line"
            aload 2 /* src */
            iload 3 /* start */
            invokevirtual com.oracle.js.parser.Source.getLine:(I)I
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;I)V
         8: .line 1061
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
         9: .line 1062
            aload 0 /* this */
            ldc "column"
            aload 2 /* src */
            iload 3 /* start */
            invokevirtual com.oracle.js.parser.Source.getColumn:(I)I
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;I)V
        10: .line 1063
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.objectEnd:()V
        11: .line 1064
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        12: .line 1067
            aload 0 /* this */
            ldc "end"
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.objectStart:(Ljava/lang/String;)V
        13: .line 1068
            aload 1 /* node */
            invokevirtual com.oracle.js.parser.ir.Node.getFinish:()I
            istore 4 /* end */
        start local 4 // int end
        14: .line 1069
            aload 0 /* this */
            ldc "line"
            aload 2 /* src */
            iload 4 /* end */
            invokevirtual com.oracle.js.parser.Source.getLine:(I)I
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;I)V
        15: .line 1070
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        16: .line 1071
            aload 0 /* this */
            ldc "column"
            aload 2 /* src */
            iload 4 /* end */
            invokevirtual com.oracle.js.parser.Source.getColumn:(I)I
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.property:(Ljava/lang/String;I)V
        17: .line 1072
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.objectEnd:()V
        18: .line 1075
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.objectEnd:()V
        19: .line 1077
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.comma:()V
        end local 4 // int end
        end local 3 // int start
        end local 2 // com.oracle.js.parser.Source src
        20: .line 1079
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.js.parser.ir.Node node
        end local 0 // com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   21     0   this  Lcom/oracle/truffle/js/parser/internal/ir/debug/JSONWriter;
            0   21     1   node  Lcom/oracle/js/parser/ir/Node;
            3   20     2    src  Lcom/oracle/js/parser/Source;
            7   20     3  start  I
           14   20     4    end  I
    MethodParameters:
      Name  Flags
      node  final

  private static java.lang.String quote(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String str
         0: .line 1082
            aload 0 /* str */
            invokestatic com.oracle.truffle.js.parser.json.JSONParserUtil.quote:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   final

  static int[] $SWITCH_TABLE$com$oracle$js$parser$TokenType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 95
            getstatic com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.$SWITCH_TABLE$com$oracle$js$parser$TokenType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.oracle.js.parser.TokenType.values:()[Lcom/oracle/js/parser/TokenType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.oracle.js.parser.TokenType.ADD:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 21
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.oracle.js.parser.TokenType.AND:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 12
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.oracle.js.parser.TokenType.ARRAY:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 130
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.oracle.js.parser.TokenType.ARROW:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 40
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.oracle.js.parser.TokenType.AS:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 63
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 37
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_ADD:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 23
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_AND:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 14
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_BIT_AND:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 13
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_BIT_OR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 54
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_BIT_XOR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 51
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_DIV:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 30
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_EXP:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 20
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_INIT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 143
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_MOD:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 10
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_MUL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 18
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_NULLCOAL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 61
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_OR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 56
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_SAR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 44
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_SHL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 35
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_SHR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 46
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic com.oracle.js.parser.TokenType.ASSIGN_SUB:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 27
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            getstatic com.oracle.js.parser.TokenType.ASYNC:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 64
            iastore
        69: goto 71
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        70: pop
      StackMap locals:
      StackMap stack:
        71: aload 0
            getstatic com.oracle.js.parser.TokenType.AWAIT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 65
            iastore
        72: goto 74
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        73: pop
      StackMap locals:
      StackMap stack:
        74: aload 0
            getstatic com.oracle.js.parser.TokenType.BIGINT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 121
            iastore
        75: goto 77
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        76: pop
      StackMap locals:
      StackMap stack:
        77: aload 0
            getstatic com.oracle.js.parser.TokenType.BINARY_NUMBER:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 120
            iastore
        78: goto 80
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        79: pop
      StackMap locals:
      StackMap stack:
        80: aload 0
            getstatic com.oracle.js.parser.TokenType.BIT_AND:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 11
            iastore
        81: goto 83
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        82: pop
      StackMap locals:
      StackMap stack:
        83: aload 0
            getstatic com.oracle.js.parser.TokenType.BIT_NOT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 58
            iastore
        84: goto 86
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        85: pop
      StackMap locals:
      StackMap stack:
        86: aload 0
            getstatic com.oracle.js.parser.TokenType.BIT_OR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 53
            iastore
        87: goto 89
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        88: pop
      StackMap locals:
      StackMap stack:
        89: aload 0
            getstatic com.oracle.js.parser.TokenType.BIT_XOR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 50
            iastore
        90: goto 92
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        91: pop
      StackMap locals:
      StackMap stack:
        92: aload 0
            getstatic com.oracle.js.parser.TokenType.BREAK:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 66
            iastore
        93: goto 95
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        94: pop
      StackMap locals:
      StackMap stack:
        95: aload 0
            getstatic com.oracle.js.parser.TokenType.CASE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 67
            iastore
        96: goto 98
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        97: pop
      StackMap locals:
      StackMap stack:
        98: aload 0
            getstatic com.oracle.js.parser.TokenType.CATCH:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 68
            iastore
        99: goto 101
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       100: pop
      StackMap locals:
      StackMap stack:
       101: aload 0
            getstatic com.oracle.js.parser.TokenType.CLASS:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 69
            iastore
       102: goto 104
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       103: pop
      StackMap locals:
      StackMap stack:
       104: aload 0
            getstatic com.oracle.js.parser.TokenType.COLON:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 31
            iastore
       105: goto 107
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       106: pop
      StackMap locals:
      StackMap stack:
       107: aload 0
            getstatic com.oracle.js.parser.TokenType.COMMALEFT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 136
            iastore
       108: goto 110
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       109: pop
      StackMap locals:
      StackMap stack:
       110: aload 0
            getstatic com.oracle.js.parser.TokenType.COMMARIGHT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 24
            iastore
       111: goto 113
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       112: pop
      StackMap locals:
      StackMap stack:
       113: aload 0
            getstatic com.oracle.js.parser.TokenType.COMMENT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iconst_4
            iastore
       114: goto 116
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       115: pop
      StackMap locals:
      StackMap stack:
       116: aload 0
            getstatic com.oracle.js.parser.TokenType.CONST:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 70
            iastore
       117: goto 119
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       118: pop
      StackMap locals:
      StackMap stack:
       119: aload 0
            getstatic com.oracle.js.parser.TokenType.CONTINUE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 71
            iastore
       120: goto 122
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       121: pop
      StackMap locals:
      StackMap stack:
       122: aload 0
            getstatic com.oracle.js.parser.TokenType.DEBUGGER:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 72
            iastore
       123: goto 125
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       124: pop
      StackMap locals:
      StackMap stack:
       125: aload 0
            getstatic com.oracle.js.parser.TokenType.DECIMAL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 115
            iastore
       126: goto 128
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       127: pop
      StackMap locals:
      StackMap stack:
       128: aload 0
            getstatic com.oracle.js.parser.TokenType.DECPOSTFIX:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 137
            iastore
       129: goto 131
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       130: pop
      StackMap locals:
      StackMap stack:
       131: aload 0
            getstatic com.oracle.js.parser.TokenType.DECPREFIX:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 26
            iastore
       132: goto 134
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       133: pop
      StackMap locals:
      StackMap stack:
       134: aload 0
            getstatic com.oracle.js.parser.TokenType.DEFAULT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 73
            iastore
       135: goto 137
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       136: pop
      StackMap locals:
      StackMap stack:
       137: aload 0
            getstatic com.oracle.js.parser.TokenType.DELETE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 74
            iastore
       138: goto 140
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       139: pop
      StackMap locals:
      StackMap stack:
       140: aload 0
            getstatic com.oracle.js.parser.TokenType.DIRECTIVE_COMMENT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iconst_5
            iastore
       141: goto 143
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       142: pop
      StackMap locals:
      StackMap stack:
       143: aload 0
            getstatic com.oracle.js.parser.TokenType.DIV:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 29
            iastore
       144: goto 146
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       145: pop
      StackMap locals:
      StackMap stack:
       146: aload 0
            getstatic com.oracle.js.parser.TokenType.DO:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 75
            iastore
       147: goto 149
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       148: pop
      StackMap locals:
      StackMap stack:
       149: aload 0
            getstatic com.oracle.js.parser.TokenType.ELLIPSIS:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 59
            iastore
       150: goto 152
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       151: pop
      StackMap locals:
      StackMap stack:
       152: aload 0
            getstatic com.oracle.js.parser.TokenType.ELSE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 76
            iastore
       153: goto 155
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       154: pop
      StackMap locals:
      StackMap stack:
       155: aload 0
            getstatic com.oracle.js.parser.TokenType.ENUM:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 77
            iastore
       156: goto 158
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       157: pop
      StackMap locals:
      StackMap stack:
       158: aload 0
            getstatic com.oracle.js.parser.TokenType.EOF:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iconst_2
            iastore
       159: goto 161
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       160: pop
      StackMap locals:
      StackMap stack:
       161: aload 0
            getstatic com.oracle.js.parser.TokenType.EOL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iconst_3
            iastore
       162: goto 164
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       163: pop
      StackMap locals:
      StackMap stack:
       164: aload 0
            getstatic com.oracle.js.parser.TokenType.EQ:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 38
            iastore
       165: goto 167
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       166: pop
      StackMap locals:
      StackMap stack:
       167: aload 0
            getstatic com.oracle.js.parser.TokenType.EQ_STRICT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 39
            iastore
       168: goto 170
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       169: pop
      StackMap locals:
      StackMap stack:
       170: aload 0
            getstatic com.oracle.js.parser.TokenType.ERROR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            iconst_1
            iastore
       171: goto 173
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       172: pop
      StackMap locals:
      StackMap stack:
       173: aload 0
            getstatic com.oracle.js.parser.TokenType.ESCSTRING:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 124
            iastore
       174: goto 176
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       175: pop
      StackMap locals:
      StackMap stack:
       176: aload 0
            getstatic com.oracle.js.parser.TokenType.EXECSTRING:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 125
            iastore
       177: goto 179
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       178: pop
      StackMap locals:
      StackMap stack:
       179: aload 0
            getstatic com.oracle.js.parser.TokenType.EXP:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 19
            iastore
       180: goto 182
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       181: pop
      StackMap locals:
      StackMap stack:
       182: aload 0
            getstatic com.oracle.js.parser.TokenType.EXPORT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 78
            iastore
       183: goto 185
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       184: pop
      StackMap locals:
      StackMap stack:
       185: aload 0
            getstatic com.oracle.js.parser.TokenType.EXTENDS:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 79
            iastore
       186: goto 188
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       187: pop
      StackMap locals:
      StackMap stack:
       188: aload 0
            getstatic com.oracle.js.parser.TokenType.FALSE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 80
            iastore
       189: goto 191
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       190: pop
      StackMap locals:
      StackMap stack:
       191: aload 0
            getstatic com.oracle.js.parser.TokenType.FINALLY:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 81
            iastore
       192: goto 194
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       193: pop
      StackMap locals:
      StackMap stack:
       194: aload 0
            getstatic com.oracle.js.parser.TokenType.FLOATING:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 122
            iastore
       195: goto 197
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       196: pop
      StackMap locals:
      StackMap stack:
       197: aload 0
            getstatic com.oracle.js.parser.TokenType.FOR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 82
            iastore
       198: goto 200
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       199: pop
      StackMap locals:
      StackMap stack:
       200: aload 0
            getstatic com.oracle.js.parser.TokenType.FROM:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 83
            iastore
       201: goto 203
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       202: pop
      StackMap locals:
      StackMap stack:
       203: aload 0
            getstatic com.oracle.js.parser.TokenType.FUNCTION:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 84
            iastore
       204: goto 206
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       205: pop
      StackMap locals:
      StackMap stack:
       206: aload 0
            getstatic com.oracle.js.parser.TokenType.GE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 42
            iastore
       207: goto 209
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       208: pop
      StackMap locals:
      StackMap stack:
       209: aload 0
            getstatic com.oracle.js.parser.TokenType.GET:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 85
            iastore
       210: goto 212
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       211: pop
      StackMap locals:
      StackMap stack:
       212: aload 0
            getstatic com.oracle.js.parser.TokenType.GT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 41
            iastore
       213: goto 215
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       214: pop
      StackMap locals:
      StackMap stack:
       215: aload 0
            getstatic com.oracle.js.parser.TokenType.HEXADECIMAL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 117
            iastore
       216: goto 218
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       217: pop
      StackMap locals:
      StackMap stack:
       218: aload 0
            getstatic com.oracle.js.parser.TokenType.IDENT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 126
            iastore
       219: goto 221
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       220: pop
      StackMap locals:
      StackMap stack:
       221: aload 0
            getstatic com.oracle.js.parser.TokenType.IF:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 86
            iastore
       222: goto 224
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       223: pop
      StackMap locals:
      StackMap stack:
       224: aload 0
            getstatic com.oracle.js.parser.TokenType.IMPLEMENTS:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 87
            iastore
       225: goto 227
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       226: pop
      StackMap locals:
      StackMap stack:
       227: aload 0
            getstatic com.oracle.js.parser.TokenType.IMPORT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 88
            iastore
       228: goto 230
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       229: pop
      StackMap locals:
      StackMap stack:
       230: aload 0
            getstatic com.oracle.js.parser.TokenType.IN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 89
            iastore
       231: goto 233
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       232: pop
      StackMap locals:
      StackMap stack:
       233: aload 0
            getstatic com.oracle.js.parser.TokenType.INCPOSTFIX:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 138
            iastore
       234: goto 236
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       235: pop
      StackMap locals:
      StackMap stack:
       236: aload 0
            getstatic com.oracle.js.parser.TokenType.INCPREFIX:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 22
            iastore
       237: goto 239
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       238: pop
      StackMap locals:
      StackMap stack:
       239: aload 0
            getstatic com.oracle.js.parser.TokenType.INSTANCEOF:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 90
            iastore
       240: goto 242
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       241: pop
      StackMap locals:
      StackMap stack:
       242: aload 0
            getstatic com.oracle.js.parser.TokenType.INTERFACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 91
            iastore
       243: goto 245
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       244: pop
      StackMap locals:
      StackMap stack:
       245: aload 0
            getstatic com.oracle.js.parser.TokenType.LBRACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 52
            iastore
       246: goto 248
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       247: pop
      StackMap locals:
      StackMap stack:
       248: aload 0
            getstatic com.oracle.js.parser.TokenType.LBRACKET:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 48
            iastore
       249: goto 251
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       250: pop
      StackMap locals:
      StackMap stack:
       251: aload 0
            getstatic com.oracle.js.parser.TokenType.LE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 36
            iastore
       252: goto 254
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       253: pop
      StackMap locals:
      StackMap stack:
       254: aload 0
            getstatic com.oracle.js.parser.TokenType.LET:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 92
            iastore
       255: goto 257
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       256: pop
      StackMap locals:
      StackMap stack:
       257: aload 0
            getstatic com.oracle.js.parser.TokenType.LPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 15
            iastore
       258: goto 260
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       259: pop
      StackMap locals:
      StackMap stack:
       260: aload 0
            getstatic com.oracle.js.parser.TokenType.LT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 33
            iastore
       261: goto 263
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       262: pop
      StackMap locals:
      StackMap stack:
       263: aload 0
            getstatic com.oracle.js.parser.TokenType.MOD:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 9
            iastore
       264: goto 266
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       265: pop
      StackMap locals:
      StackMap stack:
       266: aload 0
            getstatic com.oracle.js.parser.TokenType.MUL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 17
            iastore
       267: goto 269
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       268: pop
      StackMap locals:
      StackMap stack:
       269: aload 0
            getstatic com.oracle.js.parser.TokenType.NE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 7
            iastore
       270: goto 272
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       271: pop
      StackMap locals:
      StackMap stack:
       272: aload 0
            getstatic com.oracle.js.parser.TokenType.NEW:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 93
            iastore
       273: goto 275
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       274: pop
      StackMap locals:
      StackMap stack:
       275: aload 0
            getstatic com.oracle.js.parser.TokenType.NE_STRICT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 8
            iastore
       276: goto 278
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       277: pop
      StackMap locals:
      StackMap stack:
       278: aload 0
            getstatic com.oracle.js.parser.TokenType.NON_OCTAL_DECIMAL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 116
            iastore
       279: goto 281
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       280: pop
      StackMap locals:
      StackMap stack:
       281: aload 0
            getstatic com.oracle.js.parser.TokenType.NOT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 6
            iastore
       282: goto 284
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       283: pop
      StackMap locals:
      StackMap stack:
       284: aload 0
            getstatic com.oracle.js.parser.TokenType.NULL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 94
            iastore
       285: goto 287
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       286: pop
      StackMap locals:
      StackMap stack:
       287: aload 0
            getstatic com.oracle.js.parser.TokenType.NULLISHCOALESC:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 60
            iastore
       288: goto 290
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       289: pop
      StackMap locals:
      StackMap stack:
       290: aload 0
            getstatic com.oracle.js.parser.TokenType.OBJECT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 129
            iastore
       291: goto 293
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       292: pop
      StackMap locals:
      StackMap stack:
       293: aload 0
            getstatic com.oracle.js.parser.TokenType.OCTAL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 119
            iastore
       294: goto 296
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       295: pop
      StackMap locals:
      StackMap stack:
       296: aload 0
            getstatic com.oracle.js.parser.TokenType.OCTAL_LEGACY:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 118
            iastore
       297: goto 299
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       298: pop
      StackMap locals:
      StackMap stack:
       299: aload 0
            getstatic com.oracle.js.parser.TokenType.OF:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 95
            iastore
       300: goto 302
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       301: pop
      StackMap locals:
      StackMap stack:
       302: aload 0
            getstatic com.oracle.js.parser.TokenType.OPTIONAL_CHAIN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 62
            iastore
       303: goto 305
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       304: pop
      StackMap locals:
      StackMap stack:
       305: aload 0
            getstatic com.oracle.js.parser.TokenType.OR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 55
            iastore
       306: goto 308
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       307: pop
      StackMap locals:
      StackMap stack:
       308: aload 0
            getstatic com.oracle.js.parser.TokenType.PACKAGE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 96
            iastore
       309: goto 311
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       310: pop
      StackMap locals:
      StackMap stack:
       311: aload 0
            getstatic com.oracle.js.parser.TokenType.PERIOD:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 28
            iastore
       312: goto 314
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       313: pop
      StackMap locals:
      StackMap stack:
       314: aload 0
            getstatic com.oracle.js.parser.TokenType.PRIVATE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 97
            iastore
       315: goto 317
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       316: pop
      StackMap locals:
      StackMap stack:
       317: aload 0
            getstatic com.oracle.js.parser.TokenType.PRIVATE_IDENT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 135
            iastore
       318: goto 320
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       319: pop
      StackMap locals:
      StackMap stack:
       320: aload 0
            getstatic com.oracle.js.parser.TokenType.PROTECTED:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 98
            iastore
       321: goto 323
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       322: pop
      StackMap locals:
      StackMap stack:
       323: aload 0
            getstatic com.oracle.js.parser.TokenType.PUBLIC:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 99
            iastore
       324: goto 326
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       325: pop
      StackMap locals:
      StackMap stack:
       326: aload 0
            getstatic com.oracle.js.parser.TokenType.RBRACE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 57
            iastore
       327: goto 329
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       328: pop
      StackMap locals:
      StackMap stack:
       329: aload 0
            getstatic com.oracle.js.parser.TokenType.RBRACKET:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 49
            iastore
       330: goto 332
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       331: pop
      StackMap locals:
      StackMap stack:
       332: aload 0
            getstatic com.oracle.js.parser.TokenType.REGEX:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 127
            iastore
       333: goto 335
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       334: pop
      StackMap locals:
      StackMap stack:
       335: aload 0
            getstatic com.oracle.js.parser.TokenType.RETURN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 100
            iastore
       336: goto 338
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       337: pop
      StackMap locals:
      StackMap stack:
       338: aload 0
            getstatic com.oracle.js.parser.TokenType.RPAREN:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 16
            iastore
       339: goto 341
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       340: pop
      StackMap locals:
      StackMap stack:
       341: aload 0
            getstatic com.oracle.js.parser.TokenType.SAR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 43
            iastore
       342: goto 344
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       343: pop
      StackMap locals:
      StackMap stack:
       344: aload 0
            getstatic com.oracle.js.parser.TokenType.SEMICOLON:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 32
            iastore
       345: goto 347
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       346: pop
      StackMap locals:
      StackMap stack:
       347: aload 0
            getstatic com.oracle.js.parser.TokenType.SET:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 101
            iastore
       348: goto 350
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       349: pop
      StackMap locals:
      StackMap stack:
       350: aload 0
            getstatic com.oracle.js.parser.TokenType.SHL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 34
            iastore
       351: goto 353
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       352: pop
      StackMap locals:
      StackMap stack:
       353: aload 0
            getstatic com.oracle.js.parser.TokenType.SHR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 45
            iastore
       354: goto 356
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       355: pop
      StackMap locals:
      StackMap stack:
       356: aload 0
            getstatic com.oracle.js.parser.TokenType.SPREAD_ARGUMENT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 139
            iastore
       357: goto 359
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       358: pop
      StackMap locals:
      StackMap stack:
       359: aload 0
            getstatic com.oracle.js.parser.TokenType.SPREAD_ARRAY:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 140
            iastore
       360: goto 362
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       361: pop
      StackMap locals:
      StackMap stack:
       362: aload 0
            getstatic com.oracle.js.parser.TokenType.SPREAD_OBJECT:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 141
            iastore
       363: goto 365
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       364: pop
      StackMap locals:
      StackMap stack:
       365: aload 0
            getstatic com.oracle.js.parser.TokenType.STATIC:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 102
            iastore
       366: goto 368
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       367: pop
      StackMap locals:
      StackMap stack:
       368: aload 0
            getstatic com.oracle.js.parser.TokenType.STRING:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 123
            iastore
       369: goto 371
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       370: pop
      StackMap locals:
      StackMap stack:
       371: aload 0
            getstatic com.oracle.js.parser.TokenType.SUB:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 25
            iastore
       372: goto 374
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       373: pop
      StackMap locals:
      StackMap stack:
       374: aload 0
            getstatic com.oracle.js.parser.TokenType.SUPER:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 103
            iastore
       375: goto 377
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       376: pop
      StackMap locals:
      StackMap stack:
       377: aload 0
            getstatic com.oracle.js.parser.TokenType.SWITCH:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 104
            iastore
       378: goto 380
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       379: pop
      StackMap locals:
      StackMap stack:
       380: aload 0
            getstatic com.oracle.js.parser.TokenType.TEMPLATE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 131
            iastore
       381: goto 383
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       382: pop
      StackMap locals:
      StackMap stack:
       383: aload 0
            getstatic com.oracle.js.parser.TokenType.TEMPLATE_HEAD:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 132
            iastore
       384: goto 386
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       385: pop
      StackMap locals:
      StackMap stack:
       386: aload 0
            getstatic com.oracle.js.parser.TokenType.TEMPLATE_MIDDLE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 133
            iastore
       387: goto 389
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       388: pop
      StackMap locals:
      StackMap stack:
       389: aload 0
            getstatic com.oracle.js.parser.TokenType.TEMPLATE_TAIL:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 134
            iastore
       390: goto 392
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       391: pop
      StackMap locals:
      StackMap stack:
       392: aload 0
            getstatic com.oracle.js.parser.TokenType.TERNARY:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 47
            iastore
       393: goto 395
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       394: pop
      StackMap locals:
      StackMap stack:
       395: aload 0
            getstatic com.oracle.js.parser.TokenType.THIS:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 105
            iastore
       396: goto 398
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       397: pop
      StackMap locals:
      StackMap stack:
       398: aload 0
            getstatic com.oracle.js.parser.TokenType.THROW:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 106
            iastore
       399: goto 401
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       400: pop
      StackMap locals:
      StackMap stack:
       401: aload 0
            getstatic com.oracle.js.parser.TokenType.TRUE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 107
            iastore
       402: goto 404
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       403: pop
      StackMap locals:
      StackMap stack:
       404: aload 0
            getstatic com.oracle.js.parser.TokenType.TRY:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 108
            iastore
       405: goto 407
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       406: pop
      StackMap locals:
      StackMap stack:
       407: aload 0
            getstatic com.oracle.js.parser.TokenType.TYPEOF:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 109
            iastore
       408: goto 410
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       409: pop
      StackMap locals:
      StackMap stack:
       410: aload 0
            getstatic com.oracle.js.parser.TokenType.VAR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 110
            iastore
       411: goto 413
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       412: pop
      StackMap locals:
      StackMap stack:
       413: aload 0
            getstatic com.oracle.js.parser.TokenType.VOID:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 111
            iastore
       414: goto 416
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       415: pop
      StackMap locals:
      StackMap stack:
       416: aload 0
            getstatic com.oracle.js.parser.TokenType.WHILE:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 112
            iastore
       417: goto 419
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       418: pop
      StackMap locals:
      StackMap stack:
       419: aload 0
            getstatic com.oracle.js.parser.TokenType.WITH:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 113
            iastore
       420: goto 422
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       421: pop
      StackMap locals:
      StackMap stack:
       422: aload 0
            getstatic com.oracle.js.parser.TokenType.XML:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 128
            iastore
       423: goto 425
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       424: pop
      StackMap locals:
      StackMap stack:
       425: aload 0
            getstatic com.oracle.js.parser.TokenType.YIELD:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            bipush 114
            iastore
       426: goto 428
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       427: pop
      StackMap locals:
      StackMap stack:
       428: aload 0
            getstatic com.oracle.js.parser.TokenType.YIELD_STAR:Lcom/oracle/js/parser/TokenType;
            invokevirtual com.oracle.js.parser.TokenType.ordinal:()I
            sipush 142
            iastore
       429: goto 431
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       430: pop
      StackMap locals:
      StackMap stack:
       431: aload 0
            dup
            putstatic com.oracle.truffle.js.parser.internal.ir.debug.JSONWriter.$SWITCH_TABLE$com$oracle$js$parser$TokenType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
          59    60      61  Class java.lang.NoSuchFieldError
          62    63      64  Class java.lang.NoSuchFieldError
          65    66      67  Class java.lang.NoSuchFieldError
          68    69      70  Class java.lang.NoSuchFieldError
          71    72      73  Class java.lang.NoSuchFieldError
          74    75      76  Class java.lang.NoSuchFieldError
          77    78      79  Class java.lang.NoSuchFieldError
          80    81      82  Class java.lang.NoSuchFieldError
          83    84      85  Class java.lang.NoSuchFieldError
          86    87      88  Class java.lang.NoSuchFieldError
          89    90      91  Class java.lang.NoSuchFieldError
          92    93      94  Class java.lang.NoSuchFieldError
          95    96      97  Class java.lang.NoSuchFieldError
          98    99     100  Class java.lang.NoSuchFieldError
         101   102     103  Class java.lang.NoSuchFieldError
         104   105     106  Class java.lang.NoSuchFieldError
         107   108     109  Class java.lang.NoSuchFieldError
         110   111     112  Class java.lang.NoSuchFieldError
         113   114     115  Class java.lang.NoSuchFieldError
         116   117     118  Class java.lang.NoSuchFieldError
         119   120     121  Class java.lang.NoSuchFieldError
         122   123     124  Class java.lang.NoSuchFieldError
         125   126     127  Class java.lang.NoSuchFieldError
         128   129     130  Class java.lang.NoSuchFieldError
         131   132     133  Class java.lang.NoSuchFieldError
         134   135     136  Class java.lang.NoSuchFieldError
         137   138     139  Class java.lang.NoSuchFieldError
         140   141     142  Class java.lang.NoSuchFieldError
         143   144     145  Class java.lang.NoSuchFieldError
         146   147     148  Class java.lang.NoSuchFieldError
         149   150     151  Class java.lang.NoSuchFieldError
         152   153     154  Class java.lang.NoSuchFieldError
         155   156     157  Class java.lang.NoSuchFieldError
         158   159     160  Class java.lang.NoSuchFieldError
         161   162     163  Class java.lang.NoSuchFieldError
         164   165     166  Class java.lang.NoSuchFieldError
         167   168     169  Class java.lang.NoSuchFieldError
         170   171     172  Class java.lang.NoSuchFieldError
         173   174     175  Class java.lang.NoSuchFieldError
         176   177     178  Class java.lang.NoSuchFieldError
         179   180     181  Class java.lang.NoSuchFieldError
         182   183     184  Class java.lang.NoSuchFieldError
         185   186     187  Class java.lang.NoSuchFieldError
         188   189     190  Class java.lang.NoSuchFieldError
         191   192     193  Class java.lang.NoSuchFieldError
         194   195     196  Class java.lang.NoSuchFieldError
         197   198     199  Class java.lang.NoSuchFieldError
         200   201     202  Class java.lang.NoSuchFieldError
         203   204     205  Class java.lang.NoSuchFieldError
         206   207     208  Class java.lang.NoSuchFieldError
         209   210     211  Class java.lang.NoSuchFieldError
         212   213     214  Class java.lang.NoSuchFieldError
         215   216     217  Class java.lang.NoSuchFieldError
         218   219     220  Class java.lang.NoSuchFieldError
         221   222     223  Class java.lang.NoSuchFieldError
         224   225     226  Class java.lang.NoSuchFieldError
         227   228     229  Class java.lang.NoSuchFieldError
         230   231     232  Class java.lang.NoSuchFieldError
         233   234     235  Class java.lang.NoSuchFieldError
         236   237     238  Class java.lang.NoSuchFieldError
         239   240     241  Class java.lang.NoSuchFieldError
         242   243     244  Class java.lang.NoSuchFieldError
         245   246     247  Class java.lang.NoSuchFieldError
         248   249     250  Class java.lang.NoSuchFieldError
         251   252     253  Class java.lang.NoSuchFieldError
         254   255     256  Class java.lang.NoSuchFieldError
         257   258     259  Class java.lang.NoSuchFieldError
         260   261     262  Class java.lang.NoSuchFieldError
         263   264     265  Class java.lang.NoSuchFieldError
         266   267     268  Class java.lang.NoSuchFieldError
         269   270     271  Class java.lang.NoSuchFieldError
         272   273     274  Class java.lang.NoSuchFieldError
         275   276     277  Class java.lang.NoSuchFieldError
         278   279     280  Class java.lang.NoSuchFieldError
         281   282     283  Class java.lang.NoSuchFieldError
         284   285     286  Class java.lang.NoSuchFieldError
         287   288     289  Class java.lang.NoSuchFieldError
         290   291     292  Class java.lang.NoSuchFieldError
         293   294     295  Class java.lang.NoSuchFieldError
         296   297     298  Class java.lang.NoSuchFieldError
         299   300     301  Class java.lang.NoSuchFieldError
         302   303     304  Class java.lang.NoSuchFieldError
         305   306     307  Class java.lang.NoSuchFieldError
         308   309     310  Class java.lang.NoSuchFieldError
         311   312     313  Class java.lang.NoSuchFieldError
         314   315     316  Class java.lang.NoSuchFieldError
         317   318     319  Class java.lang.NoSuchFieldError
         320   321     322  Class java.lang.NoSuchFieldError
         323   324     325  Class java.lang.NoSuchFieldError
         326   327     328  Class java.lang.NoSuchFieldError
         329   330     331  Class java.lang.NoSuchFieldError
         332   333     334  Class java.lang.NoSuchFieldError
         335   336     337  Class java.lang.NoSuchFieldError
         338   339     340  Class java.lang.NoSuchFieldError
         341   342     343  Class java.lang.NoSuchFieldError
         344   345     346  Class java.lang.NoSuchFieldError
         347   348     349  Class java.lang.NoSuchFieldError
         350   351     352  Class java.lang.NoSuchFieldError
         353   354     355  Class java.lang.NoSuchFieldError
         356   357     358  Class java.lang.NoSuchFieldError
         359   360     361  Class java.lang.NoSuchFieldError
         362   363     364  Class java.lang.NoSuchFieldError
         365   366     367  Class java.lang.NoSuchFieldError
         368   369     370  Class java.lang.NoSuchFieldError
         371   372     373  Class java.lang.NoSuchFieldError
         374   375     376  Class java.lang.NoSuchFieldError
         377   378     379  Class java.lang.NoSuchFieldError
         380   381     382  Class java.lang.NoSuchFieldError
         383   384     385  Class java.lang.NoSuchFieldError
         386   387     388  Class java.lang.NoSuchFieldError
         389   390     391  Class java.lang.NoSuchFieldError
         392   393     394  Class java.lang.NoSuchFieldError
         395   396     397  Class java.lang.NoSuchFieldError
         398   399     400  Class java.lang.NoSuchFieldError
         401   402     403  Class java.lang.NoSuchFieldError
         404   405     406  Class java.lang.NoSuchFieldError
         407   408     409  Class java.lang.NoSuchFieldError
         410   411     412  Class java.lang.NoSuchFieldError
         413   414     415  Class java.lang.NoSuchFieldError
         416   417     418  Class java.lang.NoSuchFieldError
         419   420     421  Class java.lang.NoSuchFieldError
         422   423     424  Class java.lang.NoSuchFieldError
         425   426     427  Class java.lang.NoSuchFieldError
         428   429     430  Class java.lang.NoSuchFieldError
}
Signature: Lcom/oracle/js/parser/ir/visitor/NodeVisitor<Lcom/oracle/js/parser/ir/LexicalContext;>;
SourceFile: "JSONWriter.java"
InnerClasses:
  public ThrowErrorManager = com.oracle.js.parser.ErrorManager$ThrowErrorManager of com.oracle.js.parser.ErrorManager
  public RegexToken = com.oracle.js.parser.Lexer$RegexToken of com.oracle.js.parser.Lexer
  public final ArrayLiteralNode = com.oracle.js.parser.ir.LiteralNode$ArrayLiteralNode of com.oracle.js.parser.ir.LiteralNode