final class jdk.nashorn.api.tree.IRTranslator extends jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.api.tree.IRTranslator
  super_class: jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor
{
  private jdk.nashorn.api.tree.StatementTreeImpl curStat;
    descriptor: Ljdk/nashorn/api/tree/StatementTreeImpl;
    flags: (0x0002) ACC_PRIVATE

  private jdk.nashorn.api.tree.ExpressionTreeImpl curExpr;
    descriptor: Ljdk/nashorn/api/tree/ExpressionTreeImpl;
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 77
            ldc Ljdk/nashorn/api/tree/IRTranslator;
            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 jdk.nashorn.api.tree.IRTranslator.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
         0: .line 79
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.ir.visitor.SimpleNodeVisitor.<init>:()V
         1: .line 80
            return
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/api/tree/IRTranslator;

  jdk.nashorn.api.tree.CompilationUnitTree translate(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/api/tree/CompilationUnitTree;
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode node
         0: .line 89
            aload 1 /* node */
            ifnonnull 2
         1: .line 90
            aconst_null
            areturn
         2: .line 93
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.api.tree.IRTranslator.$assertionsDisabled:Z
            ifne 5
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getKind:()Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            getstatic jdk.nashorn.internal.ir.FunctionNode$Kind.SCRIPT:Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            if_acmpeq 5
         3: .line 94
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getKind:()Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            getstatic jdk.nashorn.internal.ir.FunctionNode$Kind.MODULE:Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            if_acmpeq 5
            new java.lang.AssertionError
            dup
         4: .line 95
            ldc "script or module function expected"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 97
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            astore 2 /* body */
        start local 2 // jdk.nashorn.internal.ir.Block body
         6: .line 98
            new jdk.nashorn.api.tree.CompilationUnitTreeImpl
            dup
            aload 1 /* node */
         7: .line 99
            aload 0 /* this */
            aload 2 /* body */
            ifnull 8
            aload 0 /* this */
            aload 2 /* body */
            invokevirtual jdk.nashorn.internal.ir.Block.getStatements:()Ljava/util/List;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.getOrderedStatements:(Ljava/util/List;)Ljava/util/List;
            goto 9
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.Block
      StackMap stack: new 6 new 6 jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.api.tree.IRTranslator
         8: aconst_null
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.Block
      StackMap stack: new 6 new 6 jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.api.tree.IRTranslator java.util.List
         9: invokevirtual jdk.nashorn.api.tree.IRTranslator.translateStats:(Ljava/util/List;)Ljava/util/List;
        10: .line 100
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateModule:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/api/tree/ModuleTree;
        11: .line 98
            invokespecial jdk.nashorn.api.tree.CompilationUnitTreeImpl.<init>:(Ljdk/nashorn/internal/ir/FunctionNode;Ljava/util/List;Ljdk/nashorn/api/tree/ModuleTree;)V
            areturn
        end local 2 // jdk.nashorn.internal.ir.Block body
        end local 1 // jdk.nashorn.internal.ir.FunctionNode node
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljdk/nashorn/api/tree/IRTranslator;
            0   12     1  node  Ljdk/nashorn/internal/ir/FunctionNode;
            6   12     2  body  Ljdk/nashorn/internal/ir/Block;
    MethodParameters:
      Name  Flags
      node  final

  public boolean enterAccessNode(jdk.nashorn.internal.ir.AccessNode);
    descriptor: (Ljdk/nashorn/internal/ir/AccessNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.AccessNode accessNode
         0: .line 105
            aload 0 /* this */
            new jdk.nashorn.api.tree.MemberSelectTreeImpl
            dup
            aload 1 /* accessNode */
            aload 0 /* this */
            aload 1 /* accessNode */
            invokevirtual jdk.nashorn.internal.ir.AccessNode.getBase:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            invokespecial jdk.nashorn.api.tree.MemberSelectTreeImpl.<init>:(Ljdk/nashorn/internal/ir/AccessNode;Ljdk/nashorn/api/tree/ExpressionTree;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         1: .line 106
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.AccessNode accessNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljdk/nashorn/api/tree/IRTranslator;
            0    2     1  accessNode  Ljdk/nashorn/internal/ir/AccessNode;
    MethodParameters:
            Name  Flags
      accessNode  final

  public boolean enterBlock(jdk.nashorn.internal.ir.Block);
    descriptor: (Ljdk/nashorn/internal/ir/Block;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.Block block
         0: .line 111
            aload 0 /* this */
            aload 1 /* block */
            iconst_0
            invokevirtual jdk.nashorn.api.tree.IRTranslator.handleBlock:(Ljdk/nashorn/internal/ir/Block;Z)Z
            ireturn
        end local 1 // jdk.nashorn.internal.ir.Block block
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/nashorn/api/tree/IRTranslator;
            0    1     1  block  Ljdk/nashorn/internal/ir/Block;
    MethodParameters:
       Name  Flags
      block  final

  public boolean enterBinaryNode(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 116
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.isAssignment:()Z
            ifeq 8
         1: .line 117
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.getAssignmentSource:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            astore 2 /* srcTree */
        start local 2 // jdk.nashorn.api.tree.ExpressionTree srcTree
         2: .line 118
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.getAssignmentDest:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            astore 3 /* destTree */
        start local 3 // jdk.nashorn.api.tree.ExpressionTree destTree
         3: .line 120
            aload 1 /* binaryNode */
            getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.isTokenType:(Ljdk/nashorn/internal/parser/TokenType;)Z
            ifeq 6
         4: .line 121
            aload 0 /* this */
            new jdk.nashorn.api.tree.AssignmentTreeImpl
            dup
            aload 1 /* binaryNode */
            aload 3 /* destTree */
            aload 2 /* srcTree */
            invokespecial jdk.nashorn.api.tree.AssignmentTreeImpl.<init>:(Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/ExpressionTree;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         5: .line 122
            goto 14
         6: .line 123
      StackMap locals: jdk.nashorn.api.tree.ExpressionTree jdk.nashorn.api.tree.ExpressionTree
      StackMap stack:
            aload 0 /* this */
            new jdk.nashorn.api.tree.CompoundAssignmentTreeImpl
            dup
            aload 1 /* binaryNode */
            aload 3 /* destTree */
            aload 2 /* srcTree */
            invokespecial jdk.nashorn.api.tree.CompoundAssignmentTreeImpl.<init>:(Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/ExpressionTree;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
        end local 3 // jdk.nashorn.api.tree.ExpressionTree destTree
        end local 2 // jdk.nashorn.api.tree.ExpressionTree srcTree
         7: .line 125
            goto 14
         8: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            astore 2 /* leftTree */
        start local 2 // jdk.nashorn.api.tree.ExpressionTree leftTree
         9: .line 127
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.rhs:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            astore 3 /* rightTree */
        start local 3 // jdk.nashorn.api.tree.ExpressionTree rightTree
        10: .line 129
            aload 1 /* binaryNode */
            getstatic jdk.nashorn.internal.parser.TokenType.INSTANCEOF:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.isTokenType:(Ljdk/nashorn/internal/parser/TokenType;)Z
            ifeq 13
        11: .line 130
            aload 0 /* this */
            new jdk.nashorn.api.tree.InstanceOfTreeImpl
            dup
            aload 1 /* binaryNode */
            aload 2 /* leftTree */
            aload 3 /* rightTree */
            invokespecial jdk.nashorn.api.tree.InstanceOfTreeImpl.<init>:(Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/ExpressionTree;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
        12: .line 131
            goto 14
        13: .line 132
      StackMap locals: jdk.nashorn.api.tree.ExpressionTree jdk.nashorn.api.tree.ExpressionTree
      StackMap stack:
            aload 0 /* this */
            new jdk.nashorn.api.tree.BinaryTreeImpl
            dup
            aload 1 /* binaryNode */
            aload 2 /* leftTree */
            aload 3 /* rightTree */
            invokespecial jdk.nashorn.api.tree.BinaryTreeImpl.<init>:(Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/ExpressionTree;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
        end local 3 // jdk.nashorn.api.tree.ExpressionTree rightTree
        end local 2 // jdk.nashorn.api.tree.ExpressionTree leftTree
        14: .line 136
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Ljdk/nashorn/api/tree/IRTranslator;
            0   15     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
            2    7     2     srcTree  Ljdk/nashorn/api/tree/ExpressionTree;
            3    7     3    destTree  Ljdk/nashorn/api/tree/ExpressionTree;
            9   14     2    leftTree  Ljdk/nashorn/api/tree/ExpressionTree;
           10   14     3   rightTree  Ljdk/nashorn/api/tree/ExpressionTree;
    MethodParameters:
            Name  Flags
      binaryNode  final

  public boolean enterBreakNode(jdk.nashorn.internal.ir.BreakNode);
    descriptor: (Ljdk/nashorn/internal/ir/BreakNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.BreakNode breakNode
         0: .line 141
            aload 0 /* this */
            new jdk.nashorn.api.tree.BreakTreeImpl
            dup
            aload 1 /* breakNode */
            invokespecial jdk.nashorn.api.tree.BreakTreeImpl.<init>:(Ljdk/nashorn/internal/ir/BreakNode;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         1: .line 142
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.BreakNode breakNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0    2     1  breakNode  Ljdk/nashorn/internal/ir/BreakNode;
    MethodParameters:
           Name  Flags
      breakNode  final

  public boolean enterCallNode(jdk.nashorn.internal.ir.CallNode);
    descriptor: (Ljdk/nashorn/internal/ir/CallNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.CallNode callNode
         0: .line 147
            aload 0 /* this */
            aconst_null
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         1: .line 148
            aload 1 /* callNode */
            invokevirtual jdk.nashorn.internal.ir.CallNode.getFunction:()Ljdk/nashorn/internal/ir/Expression;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Expression.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         2: .line 149
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            astore 2 /* funcTree */
        start local 2 // jdk.nashorn.api.tree.ExpressionTree funcTree
         3: .line 150
            aload 0 /* this */
            aload 1 /* callNode */
            invokevirtual jdk.nashorn.internal.ir.CallNode.getArgs:()Ljava/util/List;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExprs:(Ljava/util/List;)Ljava/util/List;
            astore 3 /* argTrees */
        start local 3 // java.util.List argTrees
         4: .line 151
            aload 0 /* this */
            new jdk.nashorn.api.tree.FunctionCallTreeImpl
            dup
            aload 1 /* callNode */
            aload 2 /* funcTree */
            aload 3 /* argTrees */
            invokespecial jdk.nashorn.api.tree.FunctionCallTreeImpl.<init>:(Ljdk/nashorn/internal/ir/CallNode;Ljdk/nashorn/api/tree/ExpressionTree;Ljava/util/List;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         5: .line 152
            iconst_0
            ireturn
        end local 3 // java.util.List argTrees
        end local 2 // jdk.nashorn.api.tree.ExpressionTree funcTree
        end local 1 // jdk.nashorn.internal.ir.CallNode callNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Ljdk/nashorn/api/tree/IRTranslator;
            0    6     1  callNode  Ljdk/nashorn/internal/ir/CallNode;
            3    6     2  funcTree  Ljdk/nashorn/api/tree/ExpressionTree;
            4    6     3  argTrees  Ljava/util/List<+Ljdk/nashorn/api/tree/ExpressionTree;>;
    MethodParameters:
          Name  Flags
      callNode  final

  public boolean enterCaseNode(jdk.nashorn.internal.ir.CaseNode);
    descriptor: (Ljdk/nashorn/internal/ir/CaseNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.CaseNode caseNode
         0: .line 157
            getstatic jdk.nashorn.api.tree.IRTranslator.$assertionsDisabled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "should not reach here!"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 158
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.CaseNode caseNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/nashorn/api/tree/IRTranslator;
            0    2     1  caseNode  Ljdk/nashorn/internal/ir/CaseNode;
    MethodParameters:
          Name  Flags
      caseNode  final

  public boolean enterCatchNode(jdk.nashorn.internal.ir.CatchNode);
    descriptor: (Ljdk/nashorn/internal/ir/CatchNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.CatchNode catchNode
         0: .line 163
            getstatic jdk.nashorn.api.tree.IRTranslator.$assertionsDisabled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "should not reach here"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 164
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.CatchNode catchNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0    2     1  catchNode  Ljdk/nashorn/internal/ir/CatchNode;
    MethodParameters:
           Name  Flags
      catchNode  final

  public boolean enterContinueNode(jdk.nashorn.internal.ir.ContinueNode);
    descriptor: (Ljdk/nashorn/internal/ir/ContinueNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.ContinueNode continueNode
         0: .line 169
            aload 0 /* this */
            new jdk.nashorn.api.tree.ContinueTreeImpl
            dup
            aload 1 /* continueNode */
            invokespecial jdk.nashorn.api.tree.ContinueTreeImpl.<init>:(Ljdk/nashorn/internal/ir/ContinueNode;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         1: .line 170
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.ContinueNode continueNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljdk/nashorn/api/tree/IRTranslator;
            0    2     1  continueNode  Ljdk/nashorn/internal/ir/ContinueNode;
    MethodParameters:
              Name  Flags
      continueNode  final

  public boolean enterDebuggerNode(jdk.nashorn.internal.ir.DebuggerNode);
    descriptor: (Ljdk/nashorn/internal/ir/DebuggerNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.DebuggerNode debuggerNode
         0: .line 175
            aload 0 /* this */
            new jdk.nashorn.api.tree.DebuggerTreeImpl
            dup
            aload 1 /* debuggerNode */
            invokespecial jdk.nashorn.api.tree.DebuggerTreeImpl.<init>:(Ljdk/nashorn/internal/ir/DebuggerNode;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         1: .line 176
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.DebuggerNode debuggerNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljdk/nashorn/api/tree/IRTranslator;
            0    2     1  debuggerNode  Ljdk/nashorn/internal/ir/DebuggerNode;
    MethodParameters:
              Name  Flags
      debuggerNode  final

  public boolean enterEmptyNode(jdk.nashorn.internal.ir.EmptyNode);
    descriptor: (Ljdk/nashorn/internal/ir/EmptyNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.EmptyNode emptyNode
         0: .line 181
            aload 0 /* this */
            new jdk.nashorn.api.tree.EmptyStatementTreeImpl
            dup
            aload 1 /* emptyNode */
            invokespecial jdk.nashorn.api.tree.EmptyStatementTreeImpl.<init>:(Ljdk/nashorn/internal/ir/EmptyNode;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         1: .line 182
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.EmptyNode emptyNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0    2     1  emptyNode  Ljdk/nashorn/internal/ir/EmptyNode;
    MethodParameters:
           Name  Flags
      emptyNode  final

  public boolean enterErrorNode(jdk.nashorn.internal.ir.ErrorNode);
    descriptor: (Ljdk/nashorn/internal/ir/ErrorNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.ErrorNode errorNode
         0: .line 187
            aload 0 /* this */
            new jdk.nashorn.api.tree.ErroneousTreeImpl
            dup
            aload 1 /* errorNode */
            invokespecial jdk.nashorn.api.tree.ErroneousTreeImpl.<init>:(Ljdk/nashorn/internal/ir/ErrorNode;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         1: .line 188
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.ErrorNode errorNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0    2     1  errorNode  Ljdk/nashorn/internal/ir/ErrorNode;
    MethodParameters:
           Name  Flags
      errorNode  final

  public boolean enterExpressionStatement(jdk.nashorn.internal.ir.ExpressionStatement);
    descriptor: (Ljdk/nashorn/internal/ir/ExpressionStatement;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.ExpressionStatement expressionStatement
         0: .line 193
            aload 1 /* expressionStatement */
            invokevirtual jdk.nashorn.internal.ir.ExpressionStatement.destructuringDeclarationType:()Ljdk/nashorn/internal/parser/TokenType;
            ifnull 6
         1: .line 194
            aload 0 /* this */
            aload 1 /* expressionStatement */
            invokevirtual jdk.nashorn.internal.ir.ExpressionStatement.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            astore 2 /* expr */
        start local 2 // jdk.nashorn.api.tree.ExpressionTree expr
         2: .line 195
            getstatic jdk.nashorn.api.tree.IRTranslator.$assertionsDisabled:Z
            ifne 3
            aload 2 /* expr */
            instanceof jdk.nashorn.api.tree.AssignmentTree
            ifne 3
            new java.lang.AssertionError
            dup
            ldc "destructuring decl. statement does not have assignment"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 196
      StackMap locals: jdk.nashorn.api.tree.ExpressionTree
      StackMap stack:
            aload 2 /* expr */
            checkcast jdk.nashorn.api.tree.AssignmentTree
            astore 3 /* assign */
        start local 3 // jdk.nashorn.api.tree.AssignmentTree assign
         4: .line 197
            aload 0 /* this */
            new jdk.nashorn.api.tree.DestructuringDeclTreeImpl
            dup
            aload 1 /* expressionStatement */
            aload 3 /* assign */
            invokeinterface jdk.nashorn.api.tree.AssignmentTree.getVariable:()Ljdk/nashorn/api/tree/ExpressionTree;
            aload 3 /* assign */
            invokeinterface jdk.nashorn.api.tree.AssignmentTree.getExpression:()Ljdk/nashorn/api/tree/ExpressionTree;
            invokespecial jdk.nashorn.api.tree.DestructuringDeclTreeImpl.<init>:(Ljdk/nashorn/internal/ir/ExpressionStatement;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/ExpressionTree;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
        end local 3 // jdk.nashorn.api.tree.AssignmentTree assign
        end local 2 // jdk.nashorn.api.tree.ExpressionTree expr
         5: .line 198
            goto 9
         6: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new jdk.nashorn.api.tree.ExpressionStatementTreeImpl
            dup
            aload 1 /* expressionStatement */
         7: .line 200
            aload 0 /* this */
            aload 1 /* expressionStatement */
            invokevirtual jdk.nashorn.internal.ir.ExpressionStatement.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            invokespecial jdk.nashorn.api.tree.ExpressionStatementTreeImpl.<init>:(Ljdk/nashorn/internal/ir/ExpressionStatement;Ljdk/nashorn/api/tree/ExpressionTree;)V
         8: .line 199
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         9: .line 202
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.ExpressionStatement expressionStatement
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   10     0                 this  Ljdk/nashorn/api/tree/IRTranslator;
            0   10     1  expressionStatement  Ljdk/nashorn/internal/ir/ExpressionStatement;
            2    5     2                 expr  Ljdk/nashorn/api/tree/ExpressionTree;
            4    5     3               assign  Ljdk/nashorn/api/tree/AssignmentTree;
    MethodParameters:
                     Name  Flags
      expressionStatement  final

  public boolean enterBlockStatement(jdk.nashorn.internal.ir.BlockStatement);
    descriptor: (Ljdk/nashorn/internal/ir/BlockStatement;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.BlockStatement blockStatement
         0: .line 207
            aload 1 /* blockStatement */
            invokevirtual jdk.nashorn.internal.ir.BlockStatement.getBlock:()Ljdk/nashorn/internal/ir/Block;
            astore 2 /* block */
        start local 2 // jdk.nashorn.internal.ir.Block block
         1: .line 208
            aload 1 /* blockStatement */
            invokevirtual jdk.nashorn.internal.ir.BlockStatement.isSynthetic:()Z
            ifeq 6
         2: .line 209
            getstatic jdk.nashorn.api.tree.IRTranslator.$assertionsDisabled:Z
            ifne 4
            aload 2 /* block */
            ifnull 3
            aload 2 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.getStatements:()Ljava/util/List;
            ifnull 3
            aload 2 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.getStatements:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpeq 4
      StackMap locals: jdk.nashorn.internal.ir.Block
      StackMap stack:
         3: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.getStatements:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Statement
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateStat:(Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/api/tree/StatementTreeImpl;
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         5: .line 211
            goto 12
         6: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         7: new jdk.nashorn.api.tree.BlockTreeImpl
            dup
            aload 1 /* blockStatement */
         8: .line 213
            aload 0 /* this */
            aload 2 /* block */
            ifnull 9
            aload 2 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.getStatements:()Ljava/util/List;
            goto 10
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.BlockStatement jdk.nashorn.internal.ir.Block
      StackMap stack: jdk.nashorn.api.tree.IRTranslator new 7 new 7 jdk.nashorn.internal.ir.BlockStatement jdk.nashorn.api.tree.IRTranslator
         9: aconst_null
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.BlockStatement jdk.nashorn.internal.ir.Block
      StackMap stack: jdk.nashorn.api.tree.IRTranslator new 7 new 7 jdk.nashorn.internal.ir.BlockStatement jdk.nashorn.api.tree.IRTranslator java.util.List
        10: invokevirtual jdk.nashorn.api.tree.IRTranslator.translateStats:(Ljava/util/List;)Ljava/util/List;
            invokespecial jdk.nashorn.api.tree.BlockTreeImpl.<init>:(Ljdk/nashorn/internal/ir/BlockStatement;Ljava/util/List;)V
        11: .line 212
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
        12: .line 215
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // jdk.nashorn.internal.ir.Block block
        end local 1 // jdk.nashorn.internal.ir.BlockStatement blockStatement
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Ljdk/nashorn/api/tree/IRTranslator;
            0   13     1  blockStatement  Ljdk/nashorn/internal/ir/BlockStatement;
            1   13     2           block  Ljdk/nashorn/internal/ir/Block;
    MethodParameters:
                Name  Flags
      blockStatement  final

  public boolean enterForNode(jdk.nashorn.internal.ir.ForNode);
    descriptor: (Ljdk/nashorn/internal/ir/ForNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.ForNode forNode
         0: .line 220
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.isForIn:()Z
            ifeq 7
         1: .line 221
            aload 0 /* this */
            new jdk.nashorn.api.tree.ForInLoopTreeImpl
            dup
            aload 1 /* forNode */
         2: .line 222
            aload 0 /* this */
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getInit:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         3: .line 223
            aload 0 /* this */
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getModify:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         4: .line 224
            aload 0 /* this */
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/api/tree/StatementTree;
            invokespecial jdk.nashorn.api.tree.ForInLoopTreeImpl.<init>:(Ljdk/nashorn/internal/ir/ForNode;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/StatementTree;)V
         5: .line 221
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         6: .line 225
            goto 20
      StackMap locals:
      StackMap stack:
         7: aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.isForOf:()Z
            ifeq 14
         8: .line 226
            aload 0 /* this */
            new jdk.nashorn.api.tree.ForOfLoopTreeImpl
            dup
            aload 1 /* forNode */
         9: .line 227
            aload 0 /* this */
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getInit:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
        10: .line 228
            aload 0 /* this */
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getModify:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
        11: .line 229
            aload 0 /* this */
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/api/tree/StatementTree;
            invokespecial jdk.nashorn.api.tree.ForOfLoopTreeImpl.<init>:(Ljdk/nashorn/internal/ir/ForNode;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/StatementTree;)V
        12: .line 226
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
        13: .line 230
            goto 20
        14: .line 231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new jdk.nashorn.api.tree.ForLoopTreeImpl
            dup
            aload 1 /* forNode */
        15: .line 232
            aload 0 /* this */
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getInit:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
        16: .line 233
            aload 0 /* this */
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getTest:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
        17: .line 234
            aload 0 /* this */
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getModify:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
        18: .line 235
            aload 0 /* this */
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/api/tree/StatementTree;
            invokespecial jdk.nashorn.api.tree.ForLoopTreeImpl.<init>:(Ljdk/nashorn/internal/ir/ForNode;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/StatementTree;)V
        19: .line 231
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
        20: .line 238
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.ForNode forNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0     this  Ljdk/nashorn/api/tree/IRTranslator;
            0   21     1  forNode  Ljdk/nashorn/internal/ir/ForNode;
    MethodParameters:
         Name  Flags
      forNode  final

  public boolean enterFunctionNode(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
         0: .line 243
            getstatic jdk.nashorn.api.tree.IRTranslator.$assertionsDisabled:Z
            ifne 1
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isDeclared:()Z
            ifeq 1
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isAnonymous:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "should not reach here for function declaration"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateParameters:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljava/util/List;
            astore 2 /* paramTrees */
        start local 2 // java.util.List paramTrees
         2: .line 246
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            iconst_1
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateBlock:(Ljdk/nashorn/internal/ir/Block;Z)Ljdk/nashorn/api/tree/StatementTree;
            checkcast jdk.nashorn.api.tree.BlockTree
            astore 3 /* blockTree */
        start local 3 // jdk.nashorn.api.tree.BlockTree blockTree
         3: .line 247
            aload 0 /* this */
            new jdk.nashorn.api.tree.FunctionExpressionTreeImpl
            dup
            aload 1 /* functionNode */
            aload 2 /* paramTrees */
            aload 3 /* blockTree */
            invokespecial jdk.nashorn.api.tree.FunctionExpressionTreeImpl.<init>:(Ljdk/nashorn/internal/ir/FunctionNode;Ljava/util/List;Ljdk/nashorn/api/tree/BlockTree;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         4: .line 249
            iconst_0
            ireturn
        end local 3 // jdk.nashorn.api.tree.BlockTree blockTree
        end local 2 // java.util.List paramTrees
        end local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Ljdk/nashorn/api/tree/IRTranslator;
            0    5     1  functionNode  Ljdk/nashorn/internal/ir/FunctionNode;
            2    5     2    paramTrees  Ljava/util/List<+Ljdk/nashorn/api/tree/ExpressionTree;>;
            3    5     3     blockTree  Ljdk/nashorn/api/tree/BlockTree;
    MethodParameters:
              Name  Flags
      functionNode  final

  public boolean enterIdentNode(jdk.nashorn.internal.ir.IdentNode);
    descriptor: (Ljdk/nashorn/internal/ir/IdentNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.IdentNode identNode
         0: .line 254
            aload 0 /* this */
            new jdk.nashorn.api.tree.IdentifierTreeImpl
            dup
            aload 1 /* identNode */
            invokespecial jdk.nashorn.api.tree.IdentifierTreeImpl.<init>:(Ljdk/nashorn/internal/ir/IdentNode;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         1: .line 255
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.IdentNode identNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0    2     1  identNode  Ljdk/nashorn/internal/ir/IdentNode;
    MethodParameters:
           Name  Flags
      identNode  final

  public boolean enterIfNode(jdk.nashorn.internal.ir.IfNode);
    descriptor: (Ljdk/nashorn/internal/ir/IfNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.IfNode ifNode
         0: .line 260
            aload 0 /* this */
            new jdk.nashorn.api.tree.IfTreeImpl
            dup
            aload 1 /* ifNode */
         1: .line 261
            aload 0 /* this */
            aload 1 /* ifNode */
            invokevirtual jdk.nashorn.internal.ir.IfNode.getTest:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         2: .line 262
            aload 0 /* this */
            aload 1 /* ifNode */
            invokevirtual jdk.nashorn.internal.ir.IfNode.getPass:()Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/api/tree/StatementTree;
         3: .line 263
            aload 0 /* this */
            aload 1 /* ifNode */
            invokevirtual jdk.nashorn.internal.ir.IfNode.getFail:()Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/api/tree/StatementTree;
            invokespecial jdk.nashorn.api.tree.IfTreeImpl.<init>:(Ljdk/nashorn/internal/ir/IfNode;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/StatementTree;Ljdk/nashorn/api/tree/StatementTree;)V
         4: .line 260
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         5: .line 264
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.IfNode ifNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljdk/nashorn/api/tree/IRTranslator;
            0    6     1  ifNode  Ljdk/nashorn/internal/ir/IfNode;
    MethodParameters:
        Name  Flags
      ifNode  final

  public boolean enterIndexNode(jdk.nashorn.internal.ir.IndexNode);
    descriptor: (Ljdk/nashorn/internal/ir/IndexNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.IndexNode indexNode
         0: .line 269
            aload 0 /* this */
            new jdk.nashorn.api.tree.ArrayAccessTreeImpl
            dup
            aload 1 /* indexNode */
         1: .line 270
            aload 0 /* this */
            aload 1 /* indexNode */
            invokevirtual jdk.nashorn.internal.ir.IndexNode.getBase:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         2: .line 271
            aload 0 /* this */
            aload 1 /* indexNode */
            invokevirtual jdk.nashorn.internal.ir.IndexNode.getIndex:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            invokespecial jdk.nashorn.api.tree.ArrayAccessTreeImpl.<init>:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/ExpressionTree;)V
         3: .line 269
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         4: .line 272
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.IndexNode indexNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0    5     1  indexNode  Ljdk/nashorn/internal/ir/IndexNode;
    MethodParameters:
           Name  Flags
      indexNode  final

  public boolean enterLabelNode(jdk.nashorn.internal.ir.LabelNode);
    descriptor: (Ljdk/nashorn/internal/ir/LabelNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.LabelNode labelNode
         0: .line 277
            aload 0 /* this */
            new jdk.nashorn.api.tree.LabeledStatementTreeImpl
            dup
            aload 1 /* labelNode */
         1: .line 278
            aload 0 /* this */
            aload 1 /* labelNode */
            invokevirtual jdk.nashorn.internal.ir.LabelNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/api/tree/StatementTree;
            invokespecial jdk.nashorn.api.tree.LabeledStatementTreeImpl.<init>:(Ljdk/nashorn/internal/ir/LabelNode;Ljdk/nashorn/api/tree/StatementTree;)V
         2: .line 277
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         3: .line 279
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.LabelNode labelNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0    4     1  labelNode  Ljdk/nashorn/internal/ir/LabelNode;
    MethodParameters:
           Name  Flags
      labelNode  final

  public boolean enterLiteralNode(jdk.nashorn.internal.ir.LiteralNode<?>);
    descriptor: (Ljdk/nashorn/internal/ir/LiteralNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.LiteralNode literalNode
         0: .line 284
            aload 1 /* literalNode */
            invokevirtual jdk.nashorn.internal.ir.LiteralNode.getValue:()Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
         1: .line 285
            aload 2 /* value */
            instanceof jdk.nashorn.internal.parser.Lexer$RegexToken
            ifeq 4
         2: .line 286
            aload 0 /* this */
            new jdk.nashorn.api.tree.RegExpLiteralTreeImpl
            dup
            aload 1 /* literalNode */
            invokespecial jdk.nashorn.api.tree.RegExpLiteralTreeImpl.<init>:(Ljdk/nashorn/internal/ir/LiteralNode;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         3: .line 287
            goto 20
      StackMap locals: java.lang.Object
      StackMap stack:
         4: aload 1 /* literalNode */
            invokevirtual jdk.nashorn.internal.ir.LiteralNode.isArray:()Z
            ifeq 19
         5: .line 288
            aload 1 /* literalNode */
            invokevirtual jdk.nashorn.internal.ir.LiteralNode.getElementExpressions:()Ljava/util/List;
            astore 3 /* exprNodes */
        start local 3 // java.util.List exprNodes
         6: .line 289
            new java.util.ArrayList
            dup
            aload 3 /* exprNodes */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* exprTrees */
        start local 4 // java.util.List exprTrees
         7: .line 290
            aload 3 /* exprNodes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 16
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.LiteralNode java.lang.Object java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         8: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Node
            astore 5 /* node */
        start local 5 // jdk.nashorn.internal.ir.Node node
         9: .line 291
            aload 5 /* node */
            ifnonnull 12
        10: .line 292
            aload 4 /* exprTrees */
            aconst_null
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 293
            goto 16
        12: .line 294
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.LiteralNode java.lang.Object java.util.List java.util.List jdk.nashorn.internal.ir.Node java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
        13: .line 295
            aload 5 /* node */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Node.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        14: .line 296
            getstatic jdk.nashorn.api.tree.IRTranslator.$assertionsDisabled:Z
            ifne 15
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            ifnonnull 15
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "null for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* node */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        15: .line 297
      StackMap locals:
      StackMap stack:
            aload 4 /* exprTrees */
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // jdk.nashorn.internal.ir.Node node
        16: .line 290
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.LiteralNode java.lang.Object java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        17: .line 300
            aload 0 /* this */
            new jdk.nashorn.api.tree.ArrayLiteralTreeImpl
            dup
            aload 1 /* literalNode */
            aload 4 /* exprTrees */
            invokespecial jdk.nashorn.api.tree.ArrayLiteralTreeImpl.<init>:(Ljdk/nashorn/internal/ir/LiteralNode;Ljava/util/List;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
        end local 4 // java.util.List exprTrees
        end local 3 // java.util.List exprNodes
        18: .line 301
            goto 20
        19: .line 302
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.LiteralNode java.lang.Object
      StackMap stack:
            aload 0 /* this */
            new jdk.nashorn.api.tree.LiteralTreeImpl
            dup
            aload 1 /* literalNode */
            invokespecial jdk.nashorn.api.tree.LiteralTreeImpl.<init>:(Ljdk/nashorn/internal/ir/LiteralNode;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
        20: .line 305
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // java.lang.Object value
        end local 1 // jdk.nashorn.internal.ir.LiteralNode literalNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Ljdk/nashorn/api/tree/IRTranslator;
            0   21     1  literalNode  Ljdk/nashorn/internal/ir/LiteralNode<*>;
            1   21     2        value  Ljava/lang/Object;
            6   18     3    exprNodes  Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
            7   18     4    exprTrees  Ljava/util/List<Ljdk/nashorn/api/tree/ExpressionTreeImpl;>;
            9   16     5         node  Ljdk/nashorn/internal/ir/Node;
    Signature: (Ljdk/nashorn/internal/ir/LiteralNode<*>;)Z
    MethodParameters:
             Name  Flags
      literalNode  final

  public boolean enterObjectNode(jdk.nashorn.internal.ir.ObjectNode);
    descriptor: (Ljdk/nashorn/internal/ir/ObjectNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.ObjectNode objectNode
         0: .line 310
            aload 1 /* objectNode */
            invokevirtual jdk.nashorn.internal.ir.ObjectNode.getElements:()Ljava/util/List;
            astore 2 /* propNodes */
        start local 2 // java.util.List propNodes
         1: .line 311
            aload 0 /* this */
            aload 2 /* propNodes */
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateProperties:(Ljava/util/List;)Ljava/util/List;
            astore 3 /* propTrees */
        start local 3 // java.util.List propTrees
         2: .line 312
            aload 0 /* this */
            new jdk.nashorn.api.tree.ObjectLiteralTreeImpl
            dup
            aload 1 /* objectNode */
            aload 3 /* propTrees */
            invokespecial jdk.nashorn.api.tree.ObjectLiteralTreeImpl.<init>:(Ljdk/nashorn/internal/ir/ObjectNode;Ljava/util/List;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         3: .line 313
            iconst_0
            ireturn
        end local 3 // java.util.List propTrees
        end local 2 // java.util.List propNodes
        end local 1 // jdk.nashorn.internal.ir.ObjectNode objectNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljdk/nashorn/api/tree/IRTranslator;
            0    4     1  objectNode  Ljdk/nashorn/internal/ir/ObjectNode;
            1    4     2   propNodes  Ljava/util/List<Ljdk/nashorn/internal/ir/PropertyNode;>;
            2    4     3   propTrees  Ljava/util/List<+Ljdk/nashorn/api/tree/PropertyTree;>;
    MethodParameters:
            Name  Flags
      objectNode  final

  public boolean enterPropertyNode(jdk.nashorn.internal.ir.PropertyNode);
    descriptor: (Ljdk/nashorn/internal/ir/PropertyNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.PropertyNode propertyNode
         0: .line 318
            getstatic jdk.nashorn.api.tree.IRTranslator.$assertionsDisabled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "should not reach here!"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 319
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.PropertyNode propertyNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljdk/nashorn/api/tree/IRTranslator;
            0    2     1  propertyNode  Ljdk/nashorn/internal/ir/PropertyNode;
    MethodParameters:
              Name  Flags
      propertyNode  final

  public boolean enterReturnNode(jdk.nashorn.internal.ir.ReturnNode);
    descriptor: (Ljdk/nashorn/internal/ir/ReturnNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.ReturnNode returnNode
         0: .line 324
            aload 0 /* this */
            new jdk.nashorn.api.tree.ReturnTreeImpl
            dup
            aload 1 /* returnNode */
         1: .line 325
            aload 0 /* this */
            aload 1 /* returnNode */
            invokevirtual jdk.nashorn.internal.ir.ReturnNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            invokespecial jdk.nashorn.api.tree.ReturnTreeImpl.<init>:(Ljdk/nashorn/internal/ir/ReturnNode;Ljdk/nashorn/api/tree/ExpressionTree;)V
         2: .line 324
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         3: .line 326
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.ReturnNode returnNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljdk/nashorn/api/tree/IRTranslator;
            0    4     1  returnNode  Ljdk/nashorn/internal/ir/ReturnNode;
    MethodParameters:
            Name  Flags
      returnNode  final

  public boolean enterRuntimeNode(jdk.nashorn.internal.ir.RuntimeNode);
    descriptor: (Ljdk/nashorn/internal/ir/RuntimeNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.RuntimeNode runtimeNode
         0: .line 331
            getstatic jdk.nashorn.api.tree.IRTranslator.$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 332
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.RuntimeNode runtimeNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Ljdk/nashorn/api/tree/IRTranslator;
            0    2     1  runtimeNode  Ljdk/nashorn/internal/ir/RuntimeNode;
    MethodParameters:
             Name  Flags
      runtimeNode  final

  public boolean enterSplitNode(jdk.nashorn.internal.ir.SplitNode);
    descriptor: (Ljdk/nashorn/internal/ir/SplitNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.SplitNode splitNode
         0: .line 337
            getstatic jdk.nashorn.api.tree.IRTranslator.$assertionsDisabled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "should not reach here!"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 338
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.SplitNode splitNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0    2     1  splitNode  Ljdk/nashorn/internal/ir/SplitNode;
    MethodParameters:
           Name  Flags
      splitNode  final

  public boolean enterSwitchNode(jdk.nashorn.internal.ir.SwitchNode);
    descriptor: (Ljdk/nashorn/internal/ir/SwitchNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.SwitchNode switchNode
         0: .line 343
            aload 1 /* switchNode */
            invokevirtual jdk.nashorn.internal.ir.SwitchNode.getCases:()Ljava/util/List;
            astore 2 /* caseNodes */
        start local 2 // java.util.List caseNodes
         1: .line 344
            new java.util.ArrayList
            dup
            aload 2 /* caseNodes */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* caseTrees */
        start local 3 // java.util.List caseTrees
         2: .line 345
            aload 2 /* caseNodes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 13
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.SwitchNode java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.CaseNode
            astore 4 /* caseNode */
        start local 4 // jdk.nashorn.internal.ir.CaseNode caseNode
         4: .line 346
            aload 4 /* caseNode */
            invokevirtual jdk.nashorn.internal.ir.CaseNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            astore 6 /* body */
        start local 6 // jdk.nashorn.internal.ir.Block body
         5: .line 347
            aload 3 /* caseTrees */
         6: .line 348
            new jdk.nashorn.api.tree.CaseTreeImpl
            dup
            aload 4 /* caseNode */
         7: .line 349
            aload 0 /* this */
            aload 4 /* caseNode */
            invokevirtual jdk.nashorn.internal.ir.CaseNode.getTest:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         8: .line 350
            aload 0 /* this */
            aload 6 /* body */
            ifnull 9
            aload 6 /* body */
            invokevirtual jdk.nashorn.internal.ir.Block.getStatements:()Ljava/util/List;
            goto 10
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.SwitchNode java.util.List java.util.List jdk.nashorn.internal.ir.CaseNode java.util.Iterator jdk.nashorn.internal.ir.Block
      StackMap stack: java.util.List new 6 new 6 jdk.nashorn.internal.ir.CaseNode jdk.nashorn.api.tree.ExpressionTreeImpl jdk.nashorn.api.tree.IRTranslator
         9: aconst_null
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.SwitchNode java.util.List java.util.List jdk.nashorn.internal.ir.CaseNode java.util.Iterator jdk.nashorn.internal.ir.Block
      StackMap stack: java.util.List new 6 new 6 jdk.nashorn.internal.ir.CaseNode jdk.nashorn.api.tree.ExpressionTreeImpl jdk.nashorn.api.tree.IRTranslator java.util.List
        10: invokevirtual jdk.nashorn.api.tree.IRTranslator.translateStats:(Ljava/util/List;)Ljava/util/List;
        11: .line 348
            invokespecial jdk.nashorn.api.tree.CaseTreeImpl.<init>:(Ljdk/nashorn/internal/ir/CaseNode;Ljdk/nashorn/api/tree/ExpressionTree;Ljava/util/List;)V
        12: .line 347
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // jdk.nashorn.internal.ir.Block body
        end local 4 // jdk.nashorn.internal.ir.CaseNode caseNode
        13: .line 345
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.SwitchNode java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        14: .line 353
            aload 0 /* this */
            new jdk.nashorn.api.tree.SwitchTreeImpl
            dup
            aload 1 /* switchNode */
        15: .line 354
            aload 0 /* this */
            aload 1 /* switchNode */
            invokevirtual jdk.nashorn.internal.ir.SwitchNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
        16: .line 355
            aload 3 /* caseTrees */
            invokespecial jdk.nashorn.api.tree.SwitchTreeImpl.<init>:(Ljdk/nashorn/internal/ir/SwitchNode;Ljdk/nashorn/api/tree/ExpressionTree;Ljava/util/List;)V
        17: .line 353
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
        18: .line 356
            iconst_0
            ireturn
        end local 3 // java.util.List caseTrees
        end local 2 // java.util.List caseNodes
        end local 1 // jdk.nashorn.internal.ir.SwitchNode switchNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Ljdk/nashorn/api/tree/IRTranslator;
            0   19     1  switchNode  Ljdk/nashorn/internal/ir/SwitchNode;
            1   19     2   caseNodes  Ljava/util/List<Ljdk/nashorn/internal/ir/CaseNode;>;
            2   19     3   caseTrees  Ljava/util/List<Ljdk/nashorn/api/tree/CaseTreeImpl;>;
            4   13     4    caseNode  Ljdk/nashorn/internal/ir/CaseNode;
            5   13     6        body  Ljdk/nashorn/internal/ir/Block;
    MethodParameters:
            Name  Flags
      switchNode  final

  public boolean enterTemplateLiteral(jdk.nashorn.internal.ir.TemplateLiteral);
    descriptor: (Ljdk/nashorn/internal/ir/TemplateLiteral;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.TemplateLiteral templateLiteral
         0: .line 361
            aload 0 /* this */
            new jdk.nashorn.api.tree.TemplateLiteralTreeImpl
            dup
            aload 1 /* templateLiteral */
            aload 0 /* this */
            aload 1 /* templateLiteral */
            invokevirtual jdk.nashorn.internal.ir.TemplateLiteral.getExpressions:()Ljava/util/List;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExprs:(Ljava/util/List;)Ljava/util/List;
            invokespecial jdk.nashorn.api.tree.TemplateLiteralTreeImpl.<init>:(Ljdk/nashorn/internal/ir/Expression;Ljava/util/List;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         1: .line 362
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.TemplateLiteral templateLiteral
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Ljdk/nashorn/api/tree/IRTranslator;
            0    2     1  templateLiteral  Ljdk/nashorn/internal/ir/TemplateLiteral;
    MethodParameters:
                 Name  Flags
      templateLiteral  final

  public boolean enterTernaryNode(jdk.nashorn.internal.ir.TernaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/TernaryNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.TernaryNode ternaryNode
         0: .line 367
            aload 0 /* this */
            new jdk.nashorn.api.tree.ConditionalExpressionTreeImpl
            dup
            aload 1 /* ternaryNode */
         1: .line 368
            aload 0 /* this */
            aload 1 /* ternaryNode */
            invokevirtual jdk.nashorn.internal.ir.TernaryNode.getTest:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         2: .line 369
            aload 0 /* this */
            aload 1 /* ternaryNode */
            invokevirtual jdk.nashorn.internal.ir.TernaryNode.getTrueExpression:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         3: .line 370
            aload 0 /* this */
            aload 1 /* ternaryNode */
            invokevirtual jdk.nashorn.internal.ir.TernaryNode.getFalseExpression:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            invokespecial jdk.nashorn.api.tree.ConditionalExpressionTreeImpl.<init>:(Ljdk/nashorn/internal/ir/TernaryNode;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/ExpressionTree;)V
         4: .line 367
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         5: .line 371
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.TernaryNode ternaryNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Ljdk/nashorn/api/tree/IRTranslator;
            0    6     1  ternaryNode  Ljdk/nashorn/internal/ir/TernaryNode;
    MethodParameters:
             Name  Flags
      ternaryNode  final

  public boolean enterThrowNode(jdk.nashorn.internal.ir.ThrowNode);
    descriptor: (Ljdk/nashorn/internal/ir/ThrowNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.ThrowNode throwNode
         0: .line 376
            aload 0 /* this */
            new jdk.nashorn.api.tree.ThrowTreeImpl
            dup
            aload 1 /* throwNode */
         1: .line 377
            aload 0 /* this */
            aload 1 /* throwNode */
            invokevirtual jdk.nashorn.internal.ir.ThrowNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            invokespecial jdk.nashorn.api.tree.ThrowTreeImpl.<init>:(Ljdk/nashorn/internal/ir/ThrowNode;Ljdk/nashorn/api/tree/ExpressionTree;)V
         2: .line 376
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         3: .line 378
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.ThrowNode throwNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0    4     1  throwNode  Ljdk/nashorn/internal/ir/ThrowNode;
    MethodParameters:
           Name  Flags
      throwNode  final

  public boolean enterTryNode(jdk.nashorn.internal.ir.TryNode);
    descriptor: (Ljdk/nashorn/internal/ir/TryNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.TryNode tryNode
         0: .line 383
            aload 1 /* tryNode */
            invokevirtual jdk.nashorn.internal.ir.TryNode.getCatches:()Ljava/util/List;
            astore 2 /* catchNodes */
        start local 2 // java.util.List catchNodes
         1: .line 384
            new java.util.ArrayList
            dup
            aload 2 /* catchNodes */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* catchTrees */
        start local 3 // java.util.List catchTrees
         2: .line 385
            aload 2 /* catchNodes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.TryNode java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.CatchNode
            astore 4 /* catchNode */
        start local 4 // jdk.nashorn.internal.ir.CatchNode catchNode
         4: .line 386
            aload 3 /* catchTrees */
            new jdk.nashorn.api.tree.CatchTreeImpl
            dup
            aload 4 /* catchNode */
         5: .line 387
            aload 0 /* this */
            aload 4 /* catchNode */
            invokevirtual jdk.nashorn.internal.ir.CatchNode.getException:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         6: .line 388
            aload 0 /* this */
            aload 4 /* catchNode */
            invokevirtual jdk.nashorn.internal.ir.CatchNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/api/tree/StatementTree;
            checkcast jdk.nashorn.api.tree.BlockTree
         7: .line 389
            aload 0 /* this */
            aload 4 /* catchNode */
            invokevirtual jdk.nashorn.internal.ir.CatchNode.getExceptionCondition:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            invokespecial jdk.nashorn.api.tree.CatchTreeImpl.<init>:(Ljdk/nashorn/internal/ir/CatchNode;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/BlockTree;Ljdk/nashorn/api/tree/ExpressionTree;)V
         8: .line 386
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // jdk.nashorn.internal.ir.CatchNode catchNode
         9: .line 385
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        10: .line 392
            aload 0 /* this */
            new jdk.nashorn.api.tree.TryTreeImpl
            dup
            aload 1 /* tryNode */
        11: .line 393
            aload 0 /* this */
            aload 1 /* tryNode */
            invokevirtual jdk.nashorn.internal.ir.TryNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/api/tree/StatementTree;
            checkcast jdk.nashorn.api.tree.BlockTree
        12: .line 394
            aload 3 /* catchTrees */
        13: .line 395
            aload 0 /* this */
            aload 1 /* tryNode */
            invokevirtual jdk.nashorn.internal.ir.TryNode.getFinallyBody:()Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/api/tree/StatementTree;
            checkcast jdk.nashorn.api.tree.BlockTree
            invokespecial jdk.nashorn.api.tree.TryTreeImpl.<init>:(Ljdk/nashorn/internal/ir/TryNode;Ljdk/nashorn/api/tree/BlockTree;Ljava/util/List;Ljdk/nashorn/api/tree/BlockTree;)V
        14: .line 392
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
        15: .line 397
            iconst_0
            ireturn
        end local 3 // java.util.List catchTrees
        end local 2 // java.util.List catchNodes
        end local 1 // jdk.nashorn.internal.ir.TryNode tryNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Ljdk/nashorn/api/tree/IRTranslator;
            0   16     1     tryNode  Ljdk/nashorn/internal/ir/TryNode;
            1   16     2  catchNodes  Ljava/util/List<+Ljdk/nashorn/internal/ir/CatchNode;>;
            2   16     3  catchTrees  Ljava/util/List<Ljdk/nashorn/api/tree/CatchTreeImpl;>;
            4    9     4   catchNode  Ljdk/nashorn/internal/ir/CatchNode;
    MethodParameters:
         Name  Flags
      tryNode  final

  public boolean enterUnaryNode(jdk.nashorn.internal.ir.UnaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
         0: .line 402
            aload 1 /* unaryNode */
            getstatic jdk.nashorn.internal.parser.TokenType.NEW:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.isTokenType:(Ljdk/nashorn/internal/parser/TokenType;)Z
            ifeq 5
         1: .line 403
            aload 0 /* this */
            new jdk.nashorn.api.tree.NewTreeImpl
            dup
            aload 1 /* unaryNode */
         2: .line 404
            aload 0 /* this */
            aload 1 /* unaryNode */
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            invokespecial jdk.nashorn.api.tree.NewTreeImpl.<init>:(Ljdk/nashorn/internal/ir/UnaryNode;Ljdk/nashorn/api/tree/ExpressionTree;)V
         3: .line 403
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         4: .line 405
            goto 20
      StackMap locals:
      StackMap stack:
         5: aload 1 /* unaryNode */
            getstatic jdk.nashorn.internal.parser.TokenType.YIELD:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.isTokenType:(Ljdk/nashorn/internal/parser/TokenType;)Z
            ifne 7
         6: .line 406
            aload 1 /* unaryNode */
            getstatic jdk.nashorn.internal.parser.TokenType.YIELD_STAR:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.isTokenType:(Ljdk/nashorn/internal/parser/TokenType;)Z
            ifeq 11
         7: .line 407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new jdk.nashorn.api.tree.YieldTreeImpl
            dup
            aload 1 /* unaryNode */
         8: .line 408
            aload 0 /* this */
            aload 1 /* unaryNode */
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            invokespecial jdk.nashorn.api.tree.YieldTreeImpl.<init>:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/api/tree/ExpressionTree;)V
         9: .line 407
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
        10: .line 409
            goto 20
      StackMap locals:
      StackMap stack:
        11: aload 1 /* unaryNode */
            getstatic jdk.nashorn.internal.parser.TokenType.SPREAD_ARGUMENT:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.isTokenType:(Ljdk/nashorn/internal/parser/TokenType;)Z
            ifne 13
        12: .line 410
            aload 1 /* unaryNode */
            getstatic jdk.nashorn.internal.parser.TokenType.SPREAD_ARRAY:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.isTokenType:(Ljdk/nashorn/internal/parser/TokenType;)Z
            ifeq 17
        13: .line 411
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new jdk.nashorn.api.tree.SpreadTreeImpl
            dup
            aload 1 /* unaryNode */
        14: .line 412
            aload 0 /* this */
            aload 1 /* unaryNode */
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            invokespecial jdk.nashorn.api.tree.SpreadTreeImpl.<init>:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/api/tree/ExpressionTree;)V
        15: .line 411
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
        16: .line 413
            goto 20
        17: .line 414
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new jdk.nashorn.api.tree.UnaryTreeImpl
            dup
            aload 1 /* unaryNode */
        18: .line 415
            aload 0 /* this */
            aload 1 /* unaryNode */
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            invokespecial jdk.nashorn.api.tree.UnaryTreeImpl.<init>:(Ljdk/nashorn/internal/ir/UnaryNode;Ljdk/nashorn/api/tree/ExpressionTree;)V
        19: .line 414
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
        20: .line 417
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0   21     1  unaryNode  Ljdk/nashorn/internal/ir/UnaryNode;
    MethodParameters:
           Name  Flags
      unaryNode  final

  public boolean enterVarNode(jdk.nashorn.internal.ir.VarNode);
    descriptor: (Ljdk/nashorn/internal/ir/VarNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=6, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.VarNode varNode
         0: .line 422
            aload 1 /* varNode */
            invokevirtual jdk.nashorn.internal.ir.VarNode.getInit:()Ljdk/nashorn/internal/ir/Expression;
            astore 2 /* initNode */
        start local 2 // jdk.nashorn.internal.ir.Expression initNode
         1: .line 423
            aload 2 /* initNode */
            instanceof jdk.nashorn.internal.ir.FunctionNode
            ifeq 7
            aload 2 /* initNode */
            checkcast jdk.nashorn.internal.ir.FunctionNode
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isDeclared:()Z
            ifeq 7
         2: .line 424
            aload 2 /* initNode */
            checkcast jdk.nashorn.internal.ir.FunctionNode
            astore 3 /* funcNode */
        start local 3 // jdk.nashorn.internal.ir.FunctionNode funcNode
         3: .line 426
            aload 0 /* this */
            aload 3 /* funcNode */
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateParameters:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljava/util/List;
            astore 4 /* paramTrees */
        start local 4 // java.util.List paramTrees
         4: .line 427
            aload 0 /* this */
            aload 3 /* funcNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            iconst_1
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateBlock:(Ljdk/nashorn/internal/ir/Block;Z)Ljdk/nashorn/api/tree/StatementTree;
            checkcast jdk.nashorn.api.tree.BlockTree
            astore 5 /* blockTree */
        start local 5 // jdk.nashorn.api.tree.BlockTree blockTree
         5: .line 428
            aload 0 /* this */
            new jdk.nashorn.api.tree.FunctionDeclarationTreeImpl
            dup
            aload 1 /* varNode */
            aload 4 /* paramTrees */
            aload 5 /* blockTree */
            invokespecial jdk.nashorn.api.tree.FunctionDeclarationTreeImpl.<init>:(Ljdk/nashorn/internal/ir/VarNode;Ljava/util/List;Ljdk/nashorn/api/tree/BlockTree;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
        end local 5 // jdk.nashorn.api.tree.BlockTree blockTree
        end local 4 // java.util.List paramTrees
        end local 3 // jdk.nashorn.internal.ir.FunctionNode funcNode
         6: .line 429
            goto 17
      StackMap locals: jdk.nashorn.internal.ir.Expression
      StackMap stack:
         7: aload 2 /* initNode */
            instanceof jdk.nashorn.internal.ir.ClassNode
            ifeq 16
            aload 2 /* initNode */
            checkcast jdk.nashorn.internal.ir.ClassNode
            invokevirtual jdk.nashorn.internal.ir.ClassNode.isStatement:()Z
            ifeq 16
         8: .line 430
            aload 2 /* initNode */
            checkcast jdk.nashorn.internal.ir.ClassNode
            astore 3 /* classNode */
        start local 3 // jdk.nashorn.internal.ir.ClassNode classNode
         9: .line 432
            aload 0 /* this */
            new jdk.nashorn.api.tree.ClassDeclarationTreeImpl
            dup
            aload 1 /* varNode */
        10: .line 433
            aload 3 /* classNode */
            invokevirtual jdk.nashorn.internal.ir.ClassNode.getIdent:()Ljdk/nashorn/internal/ir/IdentNode;
            invokestatic jdk.nashorn.api.tree.IRTranslator.translateIdent:(Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/api/tree/IdentifierTree;
        11: .line 434
            aload 0 /* this */
            aload 3 /* classNode */
            invokevirtual jdk.nashorn.internal.ir.ClassNode.getClassHeritage:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
        12: .line 435
            aload 0 /* this */
            aload 3 /* classNode */
            invokevirtual jdk.nashorn.internal.ir.ClassNode.getConstructor:()Ljdk/nashorn/internal/ir/PropertyNode;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateProperty:(Ljdk/nashorn/internal/ir/PropertyNode;)Ljdk/nashorn/api/tree/PropertyTree;
        13: .line 436
            aload 0 /* this */
            aload 3 /* classNode */
            invokevirtual jdk.nashorn.internal.ir.ClassNode.getClassElements:()Ljava/util/List;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateProperties:(Ljava/util/List;)Ljava/util/List;
            invokespecial jdk.nashorn.api.tree.ClassDeclarationTreeImpl.<init>:(Ljdk/nashorn/internal/ir/VarNode;Ljdk/nashorn/api/tree/IdentifierTree;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/PropertyTree;Ljava/util/List;)V
        14: .line 432
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
        end local 3 // jdk.nashorn.internal.ir.ClassNode classNode
        15: .line 437
            goto 17
        16: .line 438
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new jdk.nashorn.api.tree.VariableTreeImpl
            dup
            aload 1 /* varNode */
            aload 1 /* varNode */
            invokevirtual jdk.nashorn.internal.ir.VarNode.getName:()Ljdk/nashorn/internal/ir/IdentNode;
            invokestatic jdk.nashorn.api.tree.IRTranslator.translateIdent:(Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/api/tree/IdentifierTree;
            aload 0 /* this */
            aload 2 /* initNode */
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            invokespecial jdk.nashorn.api.tree.VariableTreeImpl.<init>:(Ljdk/nashorn/internal/ir/VarNode;Ljdk/nashorn/api/tree/IdentifierTree;Ljdk/nashorn/api/tree/ExpressionTree;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
        17: .line 441
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // jdk.nashorn.internal.ir.Expression initNode
        end local 1 // jdk.nashorn.internal.ir.VarNode varNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Ljdk/nashorn/api/tree/IRTranslator;
            0   18     1     varNode  Ljdk/nashorn/internal/ir/VarNode;
            1   18     2    initNode  Ljdk/nashorn/internal/ir/Expression;
            3    6     3    funcNode  Ljdk/nashorn/internal/ir/FunctionNode;
            4    6     4  paramTrees  Ljava/util/List<+Ljdk/nashorn/api/tree/ExpressionTree;>;
            5    6     5   blockTree  Ljdk/nashorn/api/tree/BlockTree;
            9   15     3   classNode  Ljdk/nashorn/internal/ir/ClassNode;
    MethodParameters:
         Name  Flags
      varNode  final

  public boolean enterWhileNode(jdk.nashorn.internal.ir.WhileNode);
    descriptor: (Ljdk/nashorn/internal/ir/WhileNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.WhileNode whileNode
         0: .line 446
            aload 0 /* this */
            aload 1 /* whileNode */
            invokevirtual jdk.nashorn.internal.ir.WhileNode.getTest:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            astore 2 /* condTree */
        start local 2 // jdk.nashorn.api.tree.ExpressionTree condTree
         1: .line 447
            aload 0 /* this */
            aload 1 /* whileNode */
            invokevirtual jdk.nashorn.internal.ir.WhileNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/api/tree/StatementTree;
            astore 3 /* statTree */
        start local 3 // jdk.nashorn.api.tree.StatementTree statTree
         2: .line 449
            aload 1 /* whileNode */
            invokevirtual jdk.nashorn.internal.ir.WhileNode.isDoWhile:()Z
            ifeq 5
         3: .line 450
            aload 0 /* this */
            new jdk.nashorn.api.tree.DoWhileLoopTreeImpl
            dup
            aload 1 /* whileNode */
            aload 2 /* condTree */
            aload 3 /* statTree */
            invokespecial jdk.nashorn.api.tree.DoWhileLoopTreeImpl.<init>:(Ljdk/nashorn/internal/ir/WhileNode;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/StatementTree;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         4: .line 451
            goto 6
         5: .line 452
      StackMap locals: jdk.nashorn.api.tree.ExpressionTree jdk.nashorn.api.tree.StatementTree
      StackMap stack:
            aload 0 /* this */
            new jdk.nashorn.api.tree.WhileLoopTreeImpl
            dup
            aload 1 /* whileNode */
            aload 2 /* condTree */
            aload 3 /* statTree */
            invokespecial jdk.nashorn.api.tree.WhileLoopTreeImpl.<init>:(Ljdk/nashorn/internal/ir/WhileNode;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/StatementTree;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         6: .line 455
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // jdk.nashorn.api.tree.StatementTree statTree
        end local 2 // jdk.nashorn.api.tree.ExpressionTree condTree
        end local 1 // jdk.nashorn.internal.ir.WhileNode whileNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0    7     1  whileNode  Ljdk/nashorn/internal/ir/WhileNode;
            1    7     2   condTree  Ljdk/nashorn/api/tree/ExpressionTree;
            2    7     3   statTree  Ljdk/nashorn/api/tree/StatementTree;
    MethodParameters:
           Name  Flags
      whileNode  final

  public boolean enterWithNode(jdk.nashorn.internal.ir.WithNode);
    descriptor: (Ljdk/nashorn/internal/ir/WithNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.WithNode withNode
         0: .line 460
            aload 0 /* this */
            new jdk.nashorn.api.tree.WithTreeImpl
            dup
            aload 1 /* withNode */
         1: .line 461
            aload 0 /* this */
            aload 1 /* withNode */
            invokevirtual jdk.nashorn.internal.ir.WithNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         2: .line 462
            aload 0 /* this */
            aload 1 /* withNode */
            invokevirtual jdk.nashorn.internal.ir.WithNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/api/tree/StatementTree;
            invokespecial jdk.nashorn.api.tree.WithTreeImpl.<init>:(Ljdk/nashorn/internal/ir/WithNode;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/StatementTree;)V
         3: .line 460
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         4: .line 464
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.WithNode withNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljdk/nashorn/api/tree/IRTranslator;
            0    5     1  withNode  Ljdk/nashorn/internal/ir/WithNode;
    MethodParameters:
          Name  Flags
      withNode  final

  public boolean enterClassNode(jdk.nashorn.internal.ir.ClassNode);
    descriptor: (Ljdk/nashorn/internal/ir/ClassNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.ClassNode classNode
         0: .line 475
            getstatic jdk.nashorn.api.tree.IRTranslator.$assertionsDisabled:Z
            ifne 1
            aload 1 /* classNode */
            invokevirtual jdk.nashorn.internal.ir.ClassNode.isStatement:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            ldc "should not reach here for class declaration"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 477
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new jdk.nashorn.api.tree.ClassExpressionTreeImpl
            dup
            aload 1 /* classNode */
         2: .line 478
            aload 1 /* classNode */
            invokevirtual jdk.nashorn.internal.ir.ClassNode.getIdent:()Ljdk/nashorn/internal/ir/IdentNode;
            invokestatic jdk.nashorn.api.tree.IRTranslator.translateIdent:(Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/api/tree/IdentifierTree;
         3: .line 479
            aload 0 /* this */
            aload 1 /* classNode */
            invokevirtual jdk.nashorn.internal.ir.ClassNode.getClassHeritage:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         4: .line 480
            aload 0 /* this */
            aload 1 /* classNode */
            invokevirtual jdk.nashorn.internal.ir.ClassNode.getConstructor:()Ljdk/nashorn/internal/ir/PropertyNode;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateProperty:(Ljdk/nashorn/internal/ir/PropertyNode;)Ljdk/nashorn/api/tree/PropertyTree;
         5: .line 481
            aload 0 /* this */
            aload 1 /* classNode */
            invokevirtual jdk.nashorn.internal.ir.ClassNode.getClassElements:()Ljava/util/List;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateProperties:(Ljava/util/List;)Ljava/util/List;
            invokespecial jdk.nashorn.api.tree.ClassExpressionTreeImpl.<init>:(Ljdk/nashorn/internal/ir/ClassNode;Ljdk/nashorn/api/tree/IdentifierTree;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/PropertyTree;Ljava/util/List;)V
         6: .line 477
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         7: .line 483
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.ClassNode classNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0    8     1  classNode  Ljdk/nashorn/internal/ir/ClassNode;
    MethodParameters:
           Name  Flags
      classNode  final

  private jdk.nashorn.api.tree.StatementTree translateBlock(jdk.nashorn.internal.ir.Block);
    descriptor: (Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/api/tree/StatementTree;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.Block blockNode
         0: .line 487
            aload 0 /* this */
            aload 1 /* blockNode */
            iconst_0
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateBlock:(Ljdk/nashorn/internal/ir/Block;Z)Ljdk/nashorn/api/tree/StatementTree;
            areturn
        end local 1 // jdk.nashorn.internal.ir.Block blockNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0    1     1  blockNode  Ljdk/nashorn/internal/ir/Block;
    MethodParameters:
           Name  Flags
      blockNode  final

  private jdk.nashorn.api.tree.StatementTree translateBlock(jdk.nashorn.internal.ir.Block, boolean);
    descriptor: (Ljdk/nashorn/internal/ir/Block;Z)Ljdk/nashorn/api/tree/StatementTree;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.Block blockNode
        start local 2 // boolean sortStats
         0: .line 491
            aload 1 /* blockNode */
            ifnonnull 2
         1: .line 492
            aconst_null
            areturn
         2: .line 494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         3: .line 495
            aload 0 /* this */
            aload 1 /* blockNode */
            iload 2 /* sortStats */
            invokevirtual jdk.nashorn.api.tree.IRTranslator.handleBlock:(Ljdk/nashorn/internal/ir/Block;Z)Z
            pop
         4: .line 496
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
            areturn
        end local 2 // boolean sortStats
        end local 1 // jdk.nashorn.internal.ir.Block blockNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0    5     1  blockNode  Ljdk/nashorn/internal/ir/Block;
            0    5     2  sortStats  Z
    MethodParameters:
           Name  Flags
      blockNode  final
      sortStats  final

  private boolean handleBlock(jdk.nashorn.internal.ir.Block, boolean);
    descriptor: (Ljdk/nashorn/internal/ir/Block;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.Block block
        start local 2 // boolean sortStats
         0: .line 501
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.isSynthetic:()Z
            ifeq 8
         1: .line 502
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.getStatementCount:()I
            istore 3 /* statCount */
        start local 3 // int statCount
         2: .line 503
            iload 3 /* statCount */
            tableswitch { // 0 - 1
                    0: 3
                    1: 6
              default: 8
          }
         3: .line 505
      StackMap locals: int
      StackMap stack:
            new jdk.nashorn.internal.ir.EmptyNode
            dup
            iconst_m1
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.getToken:()J
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.getFinish:()I
            invokespecial jdk.nashorn.internal.ir.EmptyNode.<init>:(IJI)V
            astore 4 /* emptyNode */
        start local 4 // jdk.nashorn.internal.ir.EmptyNode emptyNode
         4: .line 506
            aload 0 /* this */
            new jdk.nashorn.api.tree.EmptyStatementTreeImpl
            dup
            aload 4 /* emptyNode */
            invokespecial jdk.nashorn.api.tree.EmptyStatementTreeImpl.<init>:(Ljdk/nashorn/internal/ir/EmptyNode;)V
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         5: .line 507
            iconst_0
            ireturn
        end local 4 // jdk.nashorn.internal.ir.EmptyNode emptyNode
         6: .line 510
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.getStatements:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Statement
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateStat:(Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/api/tree/StatementTreeImpl;
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         7: .line 511
            iconst_0
            ireturn
        end local 3 // int statCount
         8: .line 520
      StackMap locals:
      StackMap stack:
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.getStatements:()Ljava/util/List;
            astore 3 /* stats */
        start local 3 // java.util.List stats
         9: .line 521
            aload 0 /* this */
        10: new jdk.nashorn.api.tree.BlockTreeImpl
            dup
            aload 1 /* block */
        11: .line 522
            aload 0 /* this */
            iload 2 /* sortStats */
            ifeq 12
            aload 0 /* this */
            aload 3 /* stats */
            invokevirtual jdk.nashorn.api.tree.IRTranslator.getOrderedStatements:(Ljava/util/List;)Ljava/util/List;
            goto 13
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.Block int java.util.List
      StackMap stack: jdk.nashorn.api.tree.IRTranslator new 10 new 10 jdk.nashorn.internal.ir.Block jdk.nashorn.api.tree.IRTranslator
        12: aload 3 /* stats */
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.Block int java.util.List
      StackMap stack: jdk.nashorn.api.tree.IRTranslator new 10 new 10 jdk.nashorn.internal.ir.Block jdk.nashorn.api.tree.IRTranslator java.util.List
        13: invokevirtual jdk.nashorn.api.tree.IRTranslator.translateStats:(Ljava/util/List;)Ljava/util/List;
            invokespecial jdk.nashorn.api.tree.BlockTreeImpl.<init>:(Ljdk/nashorn/internal/ir/Block;Ljava/util/List;)V
        14: .line 521
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
        15: .line 523
            iconst_0
            ireturn
        end local 3 // java.util.List stats
        end local 2 // boolean sortStats
        end local 1 // jdk.nashorn.internal.ir.Block block
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0   16     1      block  Ljdk/nashorn/internal/ir/Block;
            0   16     2  sortStats  Z
            2    8     3  statCount  I
            4    6     4  emptyNode  Ljdk/nashorn/internal/ir/EmptyNode;
            9   16     3      stats  Ljava/util/List<+Ljdk/nashorn/internal/ir/Statement;>;
    MethodParameters:
           Name  Flags
      block      final
      sortStats  final

  private java.util.List<? extends jdk.nashorn.internal.ir.Statement> getOrderedStatements(java.util.List<? extends jdk.nashorn.internal.ir.Statement>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // java.util.List stats
         0: .line 527
            new java.util.ArrayList
            dup
            aload 1 /* stats */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 2 /* statList */
        start local 2 // java.util.List statList
         1: .line 528
            aload 2 /* statList */
            invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)I
                  jdk/nashorn/internal/ir/Node.getSourceOrder()I (5)
                  (Ljdk/nashorn/internal/ir/Statement;)I
            invokestatic java.util.Comparator.comparingInt:(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
            invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
         2: .line 529
            aload 2 /* statList */
            areturn
        end local 2 // java.util.List statList
        end local 1 // java.util.List stats
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/nashorn/api/tree/IRTranslator;
            0    3     1     stats  Ljava/util/List<+Ljdk/nashorn/internal/ir/Statement;>;
            1    3     2  statList  Ljava/util/List<+Ljdk/nashorn/internal/ir/Statement;>;
    Signature: (Ljava/util/List<+Ljdk/nashorn/internal/ir/Statement;>;)Ljava/util/List<+Ljdk/nashorn/internal/ir/Statement;>;
    MethodParameters:
       Name  Flags
      stats  final

  private java.util.List<? extends jdk.nashorn.api.tree.StatementTree> translateStats(java.util.List<? extends jdk.nashorn.internal.ir.Statement>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // java.util.List stats
         0: .line 533
            aload 1 /* stats */
            ifnonnull 2
         1: .line 534
            aconst_null
            areturn
         2: .line 536
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 1 /* stats */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* statTrees */
        start local 2 // java.util.List statTrees
         3: .line 537
            aload 1 /* stats */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: jdk.nashorn.api.tree.IRTranslator java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Statement
            astore 3 /* stat */
        start local 3 // jdk.nashorn.internal.ir.Statement stat
         5: .line 538
            aload 0 /* this */
            aconst_null
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         6: .line 539
            aload 3 /* stat */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Statement.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         7: .line 540
            getstatic jdk.nashorn.api.tree.IRTranslator.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
            ifnonnull 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 541
      StackMap locals: jdk.nashorn.api.tree.IRTranslator java.util.List java.util.List jdk.nashorn.internal.ir.Statement java.util.Iterator
      StackMap stack:
            aload 2 /* statTrees */
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // jdk.nashorn.internal.ir.Statement stat
         9: .line 537
      StackMap locals: jdk.nashorn.api.tree.IRTranslator java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        10: .line 543
            aload 2 /* statTrees */
            areturn
        end local 2 // java.util.List statTrees
        end local 1 // java.util.List stats
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0   11     1      stats  Ljava/util/List<+Ljdk/nashorn/internal/ir/Statement;>;
            3   11     2  statTrees  Ljava/util/List<Ljdk/nashorn/api/tree/StatementTreeImpl;>;
            5    9     3       stat  Ljdk/nashorn/internal/ir/Statement;
    Signature: (Ljava/util/List<+Ljdk/nashorn/internal/ir/Statement;>;)Ljava/util/List<+Ljdk/nashorn/api/tree/StatementTree;>;
    MethodParameters:
       Name  Flags
      stats  final

  private java.util.List<? extends jdk.nashorn.api.tree.ExpressionTree> translateParameters(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode func
         0: .line 547
            aload 1 /* func */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameterExpressions:()Ljava/util/Map;
            astore 2 /* paramExprs */
        start local 2 // java.util.Map paramExprs
         1: .line 548
            aload 2 /* paramExprs */
            ifnull 15
         2: .line 549
            aload 1 /* func */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameters:()Ljava/util/List;
            astore 3 /* params */
        start local 3 // java.util.List params
         3: .line 550
            new java.util.ArrayList
            dup
            aload 3 /* params */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* exprTrees */
        start local 4 // java.util.List exprTrees
         4: .line 551
            aload 3 /* params */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 13
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.FunctionNode java.util.Map java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.IdentNode
            astore 5 /* ident */
        start local 5 // jdk.nashorn.internal.ir.IdentNode ident
         6: .line 552
            aload 2 /* paramExprs */
            aload 5 /* ident */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 7
            aload 2 /* paramExprs */
            aload 5 /* ident */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Expression
            goto 8
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.FunctionNode java.util.Map java.util.List java.util.List jdk.nashorn.internal.ir.IdentNode java.util.Iterator
      StackMap stack:
         7: aload 5 /* ident */
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.ir.Expression
         8: astore 7 /* expr */
        start local 7 // jdk.nashorn.internal.ir.Expression expr
         9: .line 553
            aload 0 /* this */
            aconst_null
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
        10: .line 554
            aload 7 /* expr */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Expression.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        11: .line 555
            getstatic jdk.nashorn.api.tree.IRTranslator.$assertionsDisabled:Z
            ifne 12
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            ifnonnull 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 556
      StackMap locals: jdk.nashorn.internal.ir.Expression
      StackMap stack:
            aload 4 /* exprTrees */
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // jdk.nashorn.internal.ir.Expression expr
        end local 5 // jdk.nashorn.internal.ir.IdentNode ident
        13: .line 551
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.FunctionNode java.util.Map java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        14: .line 558
            aload 4 /* exprTrees */
            areturn
        end local 4 // java.util.List exprTrees
        end local 3 // java.util.List params
        15: .line 560
      StackMap locals: jdk.nashorn.api.tree.IRTranslator jdk.nashorn.internal.ir.FunctionNode java.util.Map
      StackMap stack:
            aload 0 /* this */
            aload 1 /* func */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameters:()Ljava/util/List;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExprs:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 2 // java.util.Map paramExprs
        end local 1 // jdk.nashorn.internal.ir.FunctionNode func
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Ljdk/nashorn/api/tree/IRTranslator;
            0   16     1        func  Ljdk/nashorn/internal/ir/FunctionNode;
            1   16     2  paramExprs  Ljava/util/Map<Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/Expression;>;
            3   15     3      params  Ljava/util/List<Ljdk/nashorn/internal/ir/IdentNode;>;
            4   15     4   exprTrees  Ljava/util/List<Ljdk/nashorn/api/tree/ExpressionTreeImpl;>;
            6   13     5       ident  Ljdk/nashorn/internal/ir/IdentNode;
            9   13     7        expr  Ljdk/nashorn/internal/ir/Expression;
    Signature: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljava/util/List<+Ljdk/nashorn/api/tree/ExpressionTree;>;
    MethodParameters:
      Name  Flags
      func  final

  private java.util.List<? extends jdk.nashorn.api.tree.ExpressionTree> translateExprs(java.util.List<? extends jdk.nashorn.internal.ir.Expression>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // java.util.List exprs
         0: .line 565
            aload 1 /* exprs */
            ifnonnull 2
         1: .line 566
            aconst_null
            areturn
         2: .line 568
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 1 /* exprs */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* exprTrees */
        start local 2 // java.util.List exprTrees
         3: .line 569
            aload 1 /* exprs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: jdk.nashorn.api.tree.IRTranslator java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Expression
            astore 3 /* expr */
        start local 3 // jdk.nashorn.internal.ir.Expression expr
         5: .line 570
            aload 0 /* this */
            aconst_null
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         6: .line 571
            aload 3 /* expr */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Expression.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         7: .line 572
            getstatic jdk.nashorn.api.tree.IRTranslator.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            ifnonnull 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 573
      StackMap locals: jdk.nashorn.api.tree.IRTranslator java.util.List java.util.List jdk.nashorn.internal.ir.Expression java.util.Iterator
      StackMap stack:
            aload 2 /* exprTrees */
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // jdk.nashorn.internal.ir.Expression expr
         9: .line 569
      StackMap locals: jdk.nashorn.api.tree.IRTranslator java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        10: .line 575
            aload 2 /* exprTrees */
            areturn
        end local 2 // java.util.List exprTrees
        end local 1 // java.util.List exprs
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0   11     1      exprs  Ljava/util/List<+Ljdk/nashorn/internal/ir/Expression;>;
            3   11     2  exprTrees  Ljava/util/List<Ljdk/nashorn/api/tree/ExpressionTreeImpl;>;
            5    9     3       expr  Ljdk/nashorn/internal/ir/Expression;
    Signature: (Ljava/util/List<+Ljdk/nashorn/internal/ir/Expression;>;)Ljava/util/List<+Ljdk/nashorn/api/tree/ExpressionTree;>;
    MethodParameters:
       Name  Flags
      exprs  final

  private jdk.nashorn.api.tree.ExpressionTreeImpl translateExpr(jdk.nashorn.internal.ir.Expression);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.Expression expr
         0: .line 579
            aload 1 /* expr */
            ifnonnull 2
         1: .line 580
            aconst_null
            areturn
         2: .line 583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         3: .line 584
            aload 1 /* expr */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Expression.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         4: .line 585
            getstatic jdk.nashorn.api.tree.IRTranslator.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            ifnonnull 5
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "null for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* expr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.IRTranslator.curExpr:Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            areturn
        end local 1 // jdk.nashorn.internal.ir.Expression expr
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/nashorn/api/tree/IRTranslator;
            0    6     1  expr  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
      Name  Flags
      expr  final

  private jdk.nashorn.api.tree.StatementTreeImpl translateStat(jdk.nashorn.internal.ir.Statement);
    descriptor: (Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/api/tree/StatementTreeImpl;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.Statement stat
         0: .line 590
            aload 1 /* stat */
            ifnonnull 2
         1: .line 591
            aconst_null
            areturn
         2: .line 594
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
         3: .line 595
            aload 1 /* stat */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Statement.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         4: .line 596
            getstatic jdk.nashorn.api.tree.IRTranslator.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
            ifnonnull 5
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "null for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* stat */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 597
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.api.tree.IRTranslator.curStat:Ljdk/nashorn/api/tree/StatementTreeImpl;
            areturn
        end local 1 // jdk.nashorn.internal.ir.Statement stat
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/nashorn/api/tree/IRTranslator;
            0    6     1  stat  Ljdk/nashorn/internal/ir/Statement;
    MethodParameters:
      Name  Flags
      stat  final

  private static jdk.nashorn.api.tree.IdentifierTree translateIdent(jdk.nashorn.internal.ir.IdentNode);
    descriptor: (Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/api/tree/IdentifierTree;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.IdentNode ident
         0: .line 601
            new jdk.nashorn.api.tree.IdentifierTreeImpl
            dup
            aload 0 /* ident */
            invokespecial jdk.nashorn.api.tree.IdentifierTreeImpl.<init>:(Ljdk/nashorn/internal/ir/IdentNode;)V
            areturn
        end local 0 // jdk.nashorn.internal.ir.IdentNode ident
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  ident  Ljdk/nashorn/internal/ir/IdentNode;
    MethodParameters:
       Name  Flags
      ident  final

  private java.util.List<? extends jdk.nashorn.api.tree.PropertyTree> translateProperties(java.util.List<jdk.nashorn.internal.ir.PropertyNode>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // java.util.List propNodes
         0: .line 605
            new java.util.ArrayList
            dup
            aload 1 /* propNodes */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* propTrees */
        start local 2 // java.util.List propTrees
         1: .line 606
            aload 1 /* propNodes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: jdk.nashorn.api.tree.IRTranslator java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.PropertyNode
            astore 3 /* propNode */
        start local 3 // jdk.nashorn.internal.ir.PropertyNode propNode
         3: .line 607
            aload 2 /* propTrees */
            aload 0 /* this */
            aload 3 /* propNode */
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateProperty:(Ljdk/nashorn/internal/ir/PropertyNode;)Ljdk/nashorn/api/tree/PropertyTree;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // jdk.nashorn.internal.ir.PropertyNode propNode
         4: .line 606
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 609
            aload 2 /* propTrees */
            areturn
        end local 2 // java.util.List propTrees
        end local 1 // java.util.List propNodes
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Ljdk/nashorn/api/tree/IRTranslator;
            0    6     1  propNodes  Ljava/util/List<Ljdk/nashorn/internal/ir/PropertyNode;>;
            1    6     2  propTrees  Ljava/util/List<Ljdk/nashorn/api/tree/PropertyTree;>;
            3    4     3   propNode  Ljdk/nashorn/internal/ir/PropertyNode;
    Signature: (Ljava/util/List<Ljdk/nashorn/internal/ir/PropertyNode;>;)Ljava/util/List<+Ljdk/nashorn/api/tree/PropertyTree;>;
    MethodParameters:
           Name  Flags
      propNodes  final

  private jdk.nashorn.api.tree.PropertyTree translateProperty(jdk.nashorn.internal.ir.PropertyNode);
    descriptor: (Ljdk/nashorn/internal/ir/PropertyNode;)Ljdk/nashorn/api/tree/PropertyTree;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.PropertyNode propNode
         0: .line 613
            new jdk.nashorn.api.tree.PropertyTreeImpl
            dup
            aload 1 /* propNode */
         1: .line 614
            aload 0 /* this */
            aload 1 /* propNode */
            invokevirtual jdk.nashorn.internal.ir.PropertyNode.getKey:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         2: .line 615
            aload 0 /* this */
            aload 1 /* propNode */
            invokevirtual jdk.nashorn.internal.ir.PropertyNode.getValue:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
         3: .line 616
            aload 0 /* this */
            aload 1 /* propNode */
            invokevirtual jdk.nashorn.internal.ir.PropertyNode.getGetter:()Ljdk/nashorn/internal/ir/FunctionNode;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            checkcast jdk.nashorn.api.tree.FunctionExpressionTree
         4: .line 617
            aload 0 /* this */
            aload 1 /* propNode */
            invokevirtual jdk.nashorn.internal.ir.PropertyNode.getSetter:()Ljdk/nashorn/internal/ir/FunctionNode;
            invokevirtual jdk.nashorn.api.tree.IRTranslator.translateExpr:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/api/tree/ExpressionTreeImpl;
            checkcast jdk.nashorn.api.tree.FunctionExpressionTree
         5: .line 613
            invokespecial jdk.nashorn.api.tree.PropertyTreeImpl.<init>:(Ljdk/nashorn/internal/ir/PropertyNode;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/ExpressionTree;Ljdk/nashorn/api/tree/FunctionExpressionTree;Ljdk/nashorn/api/tree/FunctionExpressionTree;)V
            areturn
        end local 1 // jdk.nashorn.internal.ir.PropertyNode propNode
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Ljdk/nashorn/api/tree/IRTranslator;
            0    6     1  propNode  Ljdk/nashorn/internal/ir/PropertyNode;
    MethodParameters:
          Name  Flags
      propNode  final

  private jdk.nashorn.api.tree.ModuleTree translateModule(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/api/tree/ModuleTree;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.api.tree.IRTranslator this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode func
         0: .line 621
            aload 1 /* func */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getKind:()Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            getstatic jdk.nashorn.internal.ir.FunctionNode$Kind.MODULE:Ljdk/nashorn/internal/ir/FunctionNode$Kind;
            if_acmpne 2
         1: .line 622
            aload 1 /* func */
            invokestatic jdk.nashorn.api.tree.ModuleTreeImpl.create:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/api/tree/ModuleTreeImpl;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
         3: .line 621
      StackMap locals:
      StackMap stack: jdk.nashorn.api.tree.ModuleTreeImpl
            areturn
        end local 1 // jdk.nashorn.internal.ir.FunctionNode func
        end local 0 // jdk.nashorn.api.tree.IRTranslator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/nashorn/api/tree/IRTranslator;
            0    4     1  func  Ljdk/nashorn/internal/ir/FunctionNode;
    MethodParameters:
      Name  Flags
      func  final
}
SourceFile: "IRTranslator.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Kind = jdk.nashorn.internal.ir.FunctionNode$Kind of jdk.nashorn.internal.ir.FunctionNode
  public RegexToken = jdk.nashorn.internal.parser.Lexer$RegexToken of jdk.nashorn.internal.parser.Lexer