public class jdk.nashorn.internal.ir.LexicalContext
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.nashorn.internal.ir.LexicalContext
  super_class: java.lang.Object
{
  private jdk.nashorn.internal.ir.LexicalContextNode[] stack;
    descriptor: [Ljdk/nashorn/internal/ir/LexicalContextNode;
    flags: (0x0002) ACC_PRIVATE

  private int[] flags;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int sp;
    descriptor: I
    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 42
            ldc Ljdk/nashorn/internal/ir/LexicalContext;
            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.internal.ir.LexicalContext.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 51
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 52
            aload 0 /* this */
            bipush 16
            anewarray jdk.nashorn.internal.ir.LexicalContextNode
            putfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
         2: .line 53
            aload 0 /* this */
            bipush 16
            newarray 10
            putfield jdk.nashorn.internal.ir.LexicalContext.flags:[I
         3: .line 54
            return
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/nashorn/internal/ir/LexicalContext;

  public void setFlag(jdk.nashorn.internal.ir.LexicalContextNode, int);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContextNode;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // jdk.nashorn.internal.ir.LexicalContextNode node
        start local 2 // int flag
         0: .line 64
            iload 2 /* flag */
            ifeq 9
         1: .line 66
            getstatic jdk.nashorn.internal.ir.LexicalContext.$assertionsDisabled:Z
            ifne 2
            iload 2 /* flag */
            iconst_1
            if_icmpne 2
            aload 1 /* node */
            instanceof jdk.nashorn.internal.ir.Block
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 68
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 69
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iload 3 /* i */
            aaload
            aload 1 /* node */
            if_acmpne 7
         5: .line 70
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.flags:[I
            iload 3 /* i */
            dup2
            iaload
            iload 2 /* flag */
            ior
            iastore
         6: .line 71
            return
         7: .line 68
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            ifge 4
        end local 3 // int i
         9: .line 75
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.ir.LexicalContext.$assertionsDisabled:Z
            ifne 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 76
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int flag
        end local 1 // jdk.nashorn.internal.ir.LexicalContextNode node
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljdk/nashorn/internal/ir/LexicalContext;
            0   11     1  node  Ljdk/nashorn/internal/ir/LexicalContextNode;
            0   11     2  flag  I
            3    9     3     i  I
    MethodParameters:
      Name  Flags
      node  final
      flag  final

  public void setBlockNeedsScope(jdk.nashorn.internal.ir.Block);
    descriptor: (Ljdk/nashorn/internal/ir/Block;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // jdk.nashorn.internal.ir.Block block
         0: .line 88
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         1: goto 12
         2: .line 89
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iload 2 /* i */
            aaload
            aload 1 /* block */
            if_acmpne 11
         3: .line 90
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.flags:[I
            iload 2 /* i */
            dup2
            iaload
            iconst_1
            ior
            iastore
         4: .line 91
            iload 2 /* i */
            iconst_1
            isub
            istore 3 /* j */
        start local 3 // int j
         5: goto 10
         6: .line 92
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iload 3 /* j */
            aaload
            instanceof jdk.nashorn.internal.ir.FunctionNode
            ifeq 9
         7: .line 93
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.flags:[I
            iload 3 /* j */
            dup2
            iaload
            sipush 128
            ior
            iastore
         8: .line 94
            return
         9: .line 91
      StackMap locals:
      StackMap stack:
            iinc 3 /* j */ -1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* j */
            ifge 6
        end local 3 // int j
        11: .line 88
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
        12: iload 2 /* i */
            ifge 2
        end local 2 // int i
        13: .line 99
            getstatic jdk.nashorn.internal.ir.LexicalContext.$assertionsDisabled:Z
            ifne 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 100
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.nashorn.internal.ir.Block block
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Ljdk/nashorn/internal/ir/LexicalContext;
            0   15     1  block  Ljdk/nashorn/internal/ir/Block;
            1   13     2      i  I
            5   11     3      j  I
    MethodParameters:
       Name  Flags
      block  final

  public int getFlags(jdk.nashorn.internal.ir.LexicalContextNode);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContextNode;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // jdk.nashorn.internal.ir.LexicalContextNode node
         0: .line 110
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 111
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iload 2 /* i */
            aaload
            aload 1 /* node */
            if_acmpne 4
         3: .line 112
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.flags:[I
            iload 2 /* i */
            iaload
            ireturn
         4: .line 110
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            ifge 2
        end local 2 // int i
         6: .line 115
            new java.lang.AssertionError
            dup
            ldc "flag node not on context stack"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 1 // jdk.nashorn.internal.ir.LexicalContextNode node
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/nashorn/internal/ir/LexicalContext;
            0    7     1  node  Ljdk/nashorn/internal/ir/LexicalContextNode;
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      node  final

  public jdk.nashorn.internal.ir.Block getFunctionBody(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
         0: .line 127
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 128
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iload 2 /* i */
            aaload
            aload 1 /* functionNode */
            if_acmpne 4
         3: .line 129
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            checkcast jdk.nashorn.internal.ir.Block
            areturn
         4: .line 127
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            ifge 2
        end local 2 // int i
         6: .line 132
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " not on context stack"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Ljdk/nashorn/internal/ir/LexicalContext;
            0    7     1  functionNode  Ljdk/nashorn/internal/ir/FunctionNode;
            1    6     2             i  I
    MethodParameters:
              Name  Flags
      functionNode  final

  public java.util.Iterator<jdk.nashorn.internal.ir.LexicalContextNode> getAllNodes();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 139
            new jdk.nashorn.internal.ir.LexicalContext$NodeIterator
            dup
            aload 0 /* this */
            ldc Ljdk/nashorn/internal/ir/LexicalContextNode;
            invokespecial jdk.nashorn.internal.ir.LexicalContext$NodeIterator.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/Class;)V
            areturn
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/LexicalContext;
    Signature: ()Ljava/util/Iterator<Ljdk/nashorn/internal/ir/LexicalContextNode;>;

  public jdk.nashorn.internal.ir.FunctionNode getOutermostFunction();
    descriptor: ()Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 149
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iconst_0
            aaload
            checkcast jdk.nashorn.internal.ir.FunctionNode
            areturn
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/LexicalContext;

  public <T extends jdk.nashorn.internal.ir.LexicalContextNode> T push();
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // jdk.nashorn.internal.ir.LexicalContextNode node
         0: .line 162
            getstatic jdk.nashorn.internal.ir.LexicalContext.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.contains:(Ljdk/nashorn/internal/ir/LexicalContextNode;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            arraylength
            if_icmpne 8
         2: .line 164
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_2
            imul
            anewarray jdk.nashorn.internal.ir.LexicalContextNode
            astore 2 /* newStack */
        start local 2 // jdk.nashorn.internal.ir.LexicalContextNode[] newStack
         3: .line 165
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iconst_0
            aload 2 /* newStack */
            iconst_0
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 166
            aload 0 /* this */
            aload 2 /* newStack */
            putfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
         5: .line 168
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_2
            imul
            newarray 10
            astore 3 /* newFlags */
        start local 3 // int[] newFlags
         6: .line 169
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.flags:[I
            iconst_0
            aload 3 /* newFlags */
            iconst_0
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 170
            aload 0 /* this */
            aload 3 /* newFlags */
            putfield jdk.nashorn.internal.ir.LexicalContext.flags:[I
        end local 3 // int[] newFlags
        end local 2 // jdk.nashorn.internal.ir.LexicalContextNode[] newStack
         8: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            aload 1 /* node */
            aastore
         9: .line 174
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.flags:[I
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_0
            iastore
        10: .line 176
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_1
            iadd
            putfield jdk.nashorn.internal.ir.LexicalContext.sp:I
        11: .line 178
            aload 1 /* node */
            areturn
        end local 1 // jdk.nashorn.internal.ir.LexicalContextNode node
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Ljdk/nashorn/internal/ir/LexicalContext;
            0   12     1      node  TT;
            3    8     2  newStack  [Ljdk/nashorn/internal/ir/LexicalContextNode;
            6    8     3  newFlags  [I
    Signature: <T::Ljdk/nashorn/internal/ir/LexicalContextNode;>(TT;)TT;
    MethodParameters:
      Name  Flags
      node  final

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 187
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/ir/LexicalContext;

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 194
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            ireturn
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/LexicalContext;

  public <T extends jdk.nashorn.internal.ir.Node> T pop();
    descriptor: (Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // jdk.nashorn.internal.ir.Node node
         0: .line 209
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_1
            isub
            putfield jdk.nashorn.internal.ir.LexicalContext.sp:I
         1: .line 210
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            aaload
            astore 2 /* popped */
        start local 2 // jdk.nashorn.internal.ir.LexicalContextNode popped
         2: .line 211
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            aconst_null
            aastore
         3: .line 212
            aload 2 /* popped */
            instanceof jdk.nashorn.internal.ir.Flags
            ifeq 5
         4: .line 213
            aload 2 /* popped */
            checkcast jdk.nashorn.internal.ir.Flags
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.flags:[I
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iaload
            invokeinterface jdk.nashorn.internal.ir.Flags.setFlag:(Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/LexicalContextNode;
            checkcast jdk.nashorn.internal.ir.Node
            areturn
         5: .line 216
      StackMap locals: jdk.nashorn.internal.ir.LexicalContextNode
      StackMap stack:
            aload 2 /* popped */
            checkcast jdk.nashorn.internal.ir.Node
            areturn
        end local 2 // jdk.nashorn.internal.ir.LexicalContextNode popped
        end local 1 // jdk.nashorn.internal.ir.Node node
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljdk/nashorn/internal/ir/LexicalContext;
            0    6     1    node  TT;
            2    6     2  popped  Ljdk/nashorn/internal/ir/LexicalContextNode;
    Signature: <T:Ljdk/nashorn/internal/ir/Node;>(TT;)TT;
    MethodParameters:
      Name  Flags
      node  final

  public <T extends jdk.nashorn.internal.ir.LexicalContextNode, jdk.nashorn.internal.ir.Flags<T>> T applyTopFlags();
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // jdk.nashorn.internal.ir.LexicalContextNode node
         0: .line 234
            getstatic jdk.nashorn.internal.ir.LexicalContext.$assertionsDisabled:Z
            ifne 1
            aload 1 /* node */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.peek:()Ljdk/nashorn/internal/ir/LexicalContextNode;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 235
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.ir.Flags
            checkcast jdk.nashorn.internal.ir.Flags
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.flags:[I
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_1
            isub
            iaload
            invokeinterface jdk.nashorn.internal.ir.Flags.setFlag:(Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/LexicalContextNode;
            areturn
        end local 1 // jdk.nashorn.internal.ir.LexicalContextNode node
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/ir/LexicalContext;
            0    2     1  node  TT;
    Signature: <T::Ljdk/nashorn/internal/ir/LexicalContextNode;:Ljdk/nashorn/internal/ir/Flags<TT;>;>(TT;)TT;
    MethodParameters:
      Name  Flags
      node  final

  public jdk.nashorn.internal.ir.LexicalContextNode peek();
    descriptor: ()Ljdk/nashorn/internal/ir/LexicalContextNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 244
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_1
            isub
            aaload
            areturn
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/LexicalContext;

  public boolean contains(jdk.nashorn.internal.ir.LexicalContextNode);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContextNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // jdk.nashorn.internal.ir.LexicalContextNode node
         0: .line 255
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 256
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iload 2 /* i */
            aaload
            aload 1 /* node */
            if_acmpne 4
         3: .line 257
            iconst_1
            ireturn
         4: .line 255
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            if_icmplt 2
        end local 2 // int i
         6: .line 260
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.LexicalContextNode node
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/nashorn/internal/ir/LexicalContext;
            0    7     1  node  Ljdk/nashorn/internal/ir/LexicalContextNode;
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      node  final

  public jdk.nashorn.internal.ir.LexicalContextNode replace(jdk.nashorn.internal.ir.LexicalContextNode, jdk.nashorn.internal.ir.LexicalContextNode);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContextNode;Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // jdk.nashorn.internal.ir.LexicalContextNode oldNode
        start local 2 // jdk.nashorn.internal.ir.LexicalContextNode newNode
         0: .line 273
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         1: goto 7
         2: .line 274
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iload 3 /* i */
            aaload
            aload 1 /* oldNode */
            if_acmpne 6
         3: .line 275
            getstatic jdk.nashorn.internal.ir.LexicalContext.$assertionsDisabled:Z
            ifne 4
            iload 3 /* i */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_1
            isub
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "violation of contract - we always expect to find the replacement node on top of the lexical context stack: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* newNode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " has "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iload 3 /* i */
            iconst_1
            iadd
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " above it"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 276
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iload 3 /* i */
            aload 2 /* newNode */
            aastore
         5: .line 277
            goto 8
         6: .line 273
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            ifge 2
        end local 3 // int i
         8: .line 280
      StackMap locals:
      StackMap stack:
            aload 2 /* newNode */
            areturn
        end local 2 // jdk.nashorn.internal.ir.LexicalContextNode newNode
        end local 1 // jdk.nashorn.internal.ir.LexicalContextNode oldNode
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Ljdk/nashorn/internal/ir/LexicalContext;
            0    9     1  oldNode  Ljdk/nashorn/internal/ir/LexicalContextNode;
            0    9     2  newNode  Ljdk/nashorn/internal/ir/LexicalContextNode;
            1    8     3        i  I
    MethodParameters:
         Name  Flags
      oldNode  final
      newNode  final

  public java.util.Iterator<jdk.nashorn.internal.ir.Block> getBlocks();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 290
            new jdk.nashorn.internal.ir.LexicalContext$NodeIterator
            dup
            aload 0 /* this */
            ldc Ljdk/nashorn/internal/ir/Block;
            invokespecial jdk.nashorn.internal.ir.LexicalContext$NodeIterator.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/Class;)V
            areturn
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/LexicalContext;
    Signature: ()Ljava/util/Iterator<Ljdk/nashorn/internal/ir/Block;>;

  public java.util.Iterator<jdk.nashorn.internal.ir.FunctionNode> getFunctions();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 300
            new jdk.nashorn.internal.ir.LexicalContext$NodeIterator
            dup
            aload 0 /* this */
            ldc Ljdk/nashorn/internal/ir/FunctionNode;
            invokespecial jdk.nashorn.internal.ir.LexicalContext$NodeIterator.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/Class;)V
            areturn
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/LexicalContext;
    Signature: ()Ljava/util/Iterator<Ljdk/nashorn/internal/ir/FunctionNode;>;

  public jdk.nashorn.internal.ir.Block getParentBlock();
    descriptor: ()Ljdk/nashorn/internal/ir/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 309
            new jdk.nashorn.internal.ir.LexicalContext$NodeIterator
            dup
            aload 0 /* this */
            ldc Ljdk/nashorn/internal/ir/Block;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            invokespecial jdk.nashorn.internal.ir.LexicalContext$NodeIterator.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/Class;Ljdk/nashorn/internal/ir/LexicalContextNode;)V
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         1: .line 310
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            pop
         2: .line 311
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 3
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Block
            goto 4
      StackMap locals: java.util.Iterator
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.ir.Block
         4: areturn
        end local 1 // java.util.Iterator iter
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/nashorn/internal/ir/LexicalContext;
            1    5     1  iter  Ljava/util/Iterator<Ljdk/nashorn/internal/ir/Block;>;

  public jdk.nashorn.internal.ir.LabelNode getCurrentBlockLabelNode();
    descriptor: ()Ljdk/nashorn/internal/ir/LabelNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 321
            getstatic jdk.nashorn.internal.ir.LexicalContext.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_1
            isub
            aaload
            instanceof jdk.nashorn.internal.ir.Block
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_2
            if_icmpge 3
         2: .line 323
            aconst_null
            areturn
         3: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_2
            isub
            aaload
            astore 1 /* parent */
        start local 1 // jdk.nashorn.internal.ir.LexicalContextNode parent
         4: .line 326
            aload 1 /* parent */
            instanceof jdk.nashorn.internal.ir.LabelNode
            ifeq 5
            aload 1 /* parent */
            checkcast jdk.nashorn.internal.ir.LabelNode
            goto 6
      StackMap locals: jdk.nashorn.internal.ir.LexicalContextNode
      StackMap stack:
         5: aconst_null
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.ir.LabelNode
         6: areturn
        end local 1 // jdk.nashorn.internal.ir.LexicalContextNode parent
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljdk/nashorn/internal/ir/LexicalContext;
            4    7     1  parent  Ljdk/nashorn/internal/ir/LexicalContextNode;

  public java.util.Iterator<jdk.nashorn.internal.ir.Block> getAncestorBlocks(jdk.nashorn.internal.ir.Block);
    descriptor: (Ljdk/nashorn/internal/ir/Block;)Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // jdk.nashorn.internal.ir.Block block
         0: .line 338
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.getBlocks:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         1: .line 339
            goto 5
         2: .line 340
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Block
            astore 3 /* b */
        start local 3 // jdk.nashorn.internal.ir.Block b
         3: .line 341
            aload 1 /* block */
            aload 3 /* b */
            if_acmpne 5
         4: .line 342
            aload 2 /* iter */
            areturn
        end local 3 // jdk.nashorn.internal.ir.Block b
         5: .line 339
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 345
            new java.lang.AssertionError
            dup
            ldc "Block is not on the current lexical context stack"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // java.util.Iterator iter
        end local 1 // jdk.nashorn.internal.ir.Block block
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljdk/nashorn/internal/ir/LexicalContext;
            0    7     1  block  Ljdk/nashorn/internal/ir/Block;
            1    7     2   iter  Ljava/util/Iterator<Ljdk/nashorn/internal/ir/Block;>;
            3    5     3      b  Ljdk/nashorn/internal/ir/Block;
    Signature: (Ljdk/nashorn/internal/ir/Block;)Ljava/util/Iterator<Ljdk/nashorn/internal/ir/Block;>;
    MethodParameters:
       Name  Flags
      block  final

  public java.util.Iterator<jdk.nashorn.internal.ir.Block> getBlocks(jdk.nashorn.internal.ir.Block);
    descriptor: (Ljdk/nashorn/internal/ir/Block;)Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // jdk.nashorn.internal.ir.Block block
         0: .line 357
            aload 0 /* this */
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.getAncestorBlocks:(Ljdk/nashorn/internal/ir/Block;)Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         1: .line 358
            new jdk.nashorn.internal.ir.LexicalContext$1
            dup
            aload 0 /* this */
            aload 2 /* iter */
            aload 1 /* block */
            invokespecial jdk.nashorn.internal.ir.LexicalContext$1.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/util/Iterator;Ljdk/nashorn/internal/ir/Block;)V
            areturn
        end local 2 // java.util.Iterator iter
        end local 1 // jdk.nashorn.internal.ir.Block block
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/nashorn/internal/ir/LexicalContext;
            0    2     1  block  Ljdk/nashorn/internal/ir/Block;
            1    2     2   iter  Ljava/util/Iterator<Ljdk/nashorn/internal/ir/Block;>;
    Signature: (Ljdk/nashorn/internal/ir/Block;)Ljava/util/Iterator<Ljdk/nashorn/internal/ir/Block;>;
    MethodParameters:
       Name  Flags
      block  final

  public jdk.nashorn.internal.ir.FunctionNode getFunction(jdk.nashorn.internal.ir.Block);
    descriptor: (Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // jdk.nashorn.internal.ir.Block block
         0: .line 387
            new jdk.nashorn.internal.ir.LexicalContext$NodeIterator
            dup
            aload 0 /* this */
            ldc Ljdk/nashorn/internal/ir/LexicalContextNode;
            invokespecial jdk.nashorn.internal.ir.LexicalContext$NodeIterator.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/Class;)V
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         1: .line 388
            goto 9
         2: .line 389
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.LexicalContextNode
            astore 3 /* next */
        start local 3 // jdk.nashorn.internal.ir.LexicalContextNode next
         3: .line 390
            aload 3 /* next */
            aload 1 /* block */
            if_acmpne 9
         4: .line 391
            goto 8
         5: .line 392
      StackMap locals: jdk.nashorn.internal.ir.LexicalContextNode
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.LexicalContextNode
            astore 4 /* next2 */
        start local 4 // jdk.nashorn.internal.ir.LexicalContextNode next2
         6: .line 393
            aload 4 /* next2 */
            instanceof jdk.nashorn.internal.ir.FunctionNode
            ifeq 8
         7: .line 394
            aload 4 /* next2 */
            checkcast jdk.nashorn.internal.ir.FunctionNode
            areturn
        end local 4 // jdk.nashorn.internal.ir.LexicalContextNode next2
         8: .line 391
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 3 // jdk.nashorn.internal.ir.LexicalContextNode next
         9: .line 388
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 399
            getstatic jdk.nashorn.internal.ir.LexicalContext.$assertionsDisabled:Z
            ifne 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 400
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.util.Iterator iter
        end local 1 // jdk.nashorn.internal.ir.Block block
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Ljdk/nashorn/internal/ir/LexicalContext;
            0   12     1  block  Ljdk/nashorn/internal/ir/Block;
            1   12     2   iter  Ljava/util/Iterator<Ljdk/nashorn/internal/ir/LexicalContextNode;>;
            3    9     3   next  Ljdk/nashorn/internal/ir/LexicalContextNode;
            6    8     4  next2  Ljdk/nashorn/internal/ir/LexicalContextNode;
    MethodParameters:
       Name  Flags
      block  final

  public jdk.nashorn.internal.ir.Block getCurrentBlock();
    descriptor: ()Ljdk/nashorn/internal/ir/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 407
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.getBlocks:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Block
            areturn
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/LexicalContext;

  public jdk.nashorn.internal.ir.FunctionNode getCurrentFunction();
    descriptor: ()Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 414
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_1
            isub
            istore 1 /* i */
        start local 1 // int i
         1: goto 5
         2: .line 415
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iload 1 /* i */
            aaload
            instanceof jdk.nashorn.internal.ir.FunctionNode
            ifeq 4
         3: .line 416
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iload 1 /* i */
            aaload
            checkcast jdk.nashorn.internal.ir.FunctionNode
            areturn
         4: .line 414
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ -1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* i */
            ifge 2
        end local 1 // int i
         6: .line 419
            aconst_null
            areturn
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/nashorn/internal/ir/LexicalContext;
            1    6     1     i  I

  public jdk.nashorn.internal.ir.Block getDefiningBlock(jdk.nashorn.internal.ir.Symbol);
    descriptor: (Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // jdk.nashorn.internal.ir.Symbol symbol
         0: .line 431
            aload 1 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 432
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.getBlocks:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         2: goto 6
         3: .line 433
      StackMap locals: java.lang.String java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Block
            astore 4 /* next */
        start local 4 // jdk.nashorn.internal.ir.Block next
         4: .line 434
            aload 4 /* next */
            aload 2 /* name */
            invokevirtual jdk.nashorn.internal.ir.Block.getExistingSymbol:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
            aload 1 /* symbol */
            if_acmpne 6
         5: .line 435
            aload 4 /* next */
            areturn
        end local 4 // jdk.nashorn.internal.ir.Block next
         6: .line 432
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // java.util.Iterator it
         7: .line 438
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Couldn't find symbol "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in the context"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // java.lang.String name
        end local 1 // jdk.nashorn.internal.ir.Symbol symbol
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljdk/nashorn/internal/ir/LexicalContext;
            0    8     1  symbol  Ljdk/nashorn/internal/ir/Symbol;
            1    8     2    name  Ljava/lang/String;
            2    7     3      it  Ljava/util/Iterator<Ljdk/nashorn/internal/ir/Block;>;
            4    6     4    next  Ljdk/nashorn/internal/ir/Block;
    MethodParameters:
        Name  Flags
      symbol  final

  public jdk.nashorn.internal.ir.FunctionNode getDefiningFunction(jdk.nashorn.internal.ir.Symbol);
    descriptor: (Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // jdk.nashorn.internal.ir.Symbol symbol
         0: .line 450
            aload 1 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 451
            new jdk.nashorn.internal.ir.LexicalContext$NodeIterator
            dup
            aload 0 /* this */
            ldc Ljdk/nashorn/internal/ir/LexicalContextNode;
            invokespecial jdk.nashorn.internal.ir.LexicalContext$NodeIterator.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/Class;)V
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         2: goto 11
         3: .line 452
      StackMap locals: java.lang.String java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.LexicalContextNode
            astore 4 /* next */
        start local 4 // jdk.nashorn.internal.ir.LexicalContextNode next
         4: .line 453
            aload 4 /* next */
            instanceof jdk.nashorn.internal.ir.Block
            ifeq 11
            aload 4 /* next */
            checkcast jdk.nashorn.internal.ir.Block
            aload 2 /* name */
            invokevirtual jdk.nashorn.internal.ir.Block.getExistingSymbol:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
            aload 1 /* symbol */
            if_acmpne 11
         5: .line 454
            goto 9
         6: .line 455
      StackMap locals: jdk.nashorn.internal.ir.LexicalContextNode
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.LexicalContextNode
            astore 5 /* next2 */
        start local 5 // jdk.nashorn.internal.ir.LexicalContextNode next2
         7: .line 456
            aload 5 /* next2 */
            instanceof jdk.nashorn.internal.ir.FunctionNode
            ifeq 9
         8: .line 457
            aload 5 /* next2 */
            checkcast jdk.nashorn.internal.ir.FunctionNode
            areturn
        end local 5 // jdk.nashorn.internal.ir.LexicalContextNode next2
         9: .line 454
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 460
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Defining block for symbol "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " has no function in the context"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 4 // jdk.nashorn.internal.ir.LexicalContextNode next
        11: .line 451
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // java.util.Iterator iter
        12: .line 463
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Couldn't find symbol "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in the context"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // java.lang.String name
        end local 1 // jdk.nashorn.internal.ir.Symbol symbol
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Ljdk/nashorn/internal/ir/LexicalContext;
            0   13     1  symbol  Ljdk/nashorn/internal/ir/Symbol;
            1   13     2    name  Ljava/lang/String;
            2   12     3    iter  Ljava/util/Iterator<Ljdk/nashorn/internal/ir/LexicalContextNode;>;
            4   11     4    next  Ljdk/nashorn/internal/ir/LexicalContextNode;
            7    9     5   next2  Ljdk/nashorn/internal/ir/LexicalContextNode;
    MethodParameters:
        Name  Flags
      symbol  final

  public boolean isFunctionBody();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 472
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.getParentBlock:()Ljdk/nashorn/internal/ir/Block;
            ifnonnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/ir/LexicalContext;

  public boolean isSplitBody();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 481
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_2
            if_icmplt 1
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_1
            isub
            aaload
            instanceof jdk.nashorn.internal.ir.Block
            ifeq 1
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            iconst_2
            isub
            aaload
            instanceof jdk.nashorn.internal.ir.SplitNode
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/ir/LexicalContext;

  public jdk.nashorn.internal.ir.FunctionNode getParentFunction(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/FunctionNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
         0: .line 493
            new jdk.nashorn.internal.ir.LexicalContext$NodeIterator
            dup
            aload 0 /* this */
            ldc Ljdk/nashorn/internal/ir/FunctionNode;
            invokespecial jdk.nashorn.internal.ir.LexicalContext$NodeIterator.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/Class;)V
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         1: .line 494
            goto 7
         2: .line 495
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.FunctionNode
            astore 3 /* next */
        start local 3 // jdk.nashorn.internal.ir.FunctionNode next
         3: .line 496
            aload 3 /* next */
            aload 1 /* functionNode */
            if_acmpne 7
         4: .line 497
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 5
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.FunctionNode
            goto 6
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode
      StackMap stack:
         5: aconst_null
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.ir.FunctionNode
         6: areturn
        end local 3 // jdk.nashorn.internal.ir.FunctionNode next
         7: .line 494
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 500
            getstatic jdk.nashorn.internal.ir.LexicalContext.$assertionsDisabled:Z
            ifne 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 501
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.util.Iterator iter
        end local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Ljdk/nashorn/internal/ir/LexicalContext;
            0   10     1  functionNode  Ljdk/nashorn/internal/ir/FunctionNode;
            1   10     2          iter  Ljava/util/Iterator<Ljdk/nashorn/internal/ir/FunctionNode;>;
            3    7     3          next  Ljdk/nashorn/internal/ir/FunctionNode;
    MethodParameters:
              Name  Flags
      functionNode  final

  public int getScopeNestingLevelTo(jdk.nashorn.internal.ir.LexicalContextNode);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContextNode;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // jdk.nashorn.internal.ir.LexicalContextNode until
         0: .line 517
            getstatic jdk.nashorn.internal.ir.LexicalContext.$assertionsDisabled:Z
            ifne 1
            aload 1 /* until */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 519
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* n */
        start local 2 // int n
         2: .line 520
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.getAllNodes:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         3: goto 10
         4: .line 521
      StackMap locals: int java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.LexicalContextNode
            astore 4 /* node */
        start local 4 // jdk.nashorn.internal.ir.LexicalContextNode node
         5: .line 522
            aload 4 /* node */
            aload 1 /* until */
            if_acmpne 7
         6: .line 523
            goto 11
         7: .line 525
      StackMap locals: jdk.nashorn.internal.ir.LexicalContextNode
      StackMap stack:
            getstatic jdk.nashorn.internal.ir.LexicalContext.$assertionsDisabled:Z
            ifne 8
            aload 4 /* node */
            instanceof jdk.nashorn.internal.ir.FunctionNode
            ifeq 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 526
      StackMap locals:
      StackMap stack:
            aload 4 /* node */
            instanceof jdk.nashorn.internal.ir.WithNode
            ifne 9
            aload 4 /* node */
            instanceof jdk.nashorn.internal.ir.Block
            ifeq 10
            aload 4 /* node */
            checkcast jdk.nashorn.internal.ir.Block
            invokevirtual jdk.nashorn.internal.ir.Block.needsScope:()Z
            ifeq 10
         9: .line 527
      StackMap locals:
      StackMap stack:
            iinc 2 /* n */ 1
        end local 4 // jdk.nashorn.internal.ir.LexicalContextNode node
        10: .line 520
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 3 // java.util.Iterator iter
        11: .line 530
      StackMap locals:
      StackMap stack:
            iload 2 /* n */
            ireturn
        end local 2 // int n
        end local 1 // jdk.nashorn.internal.ir.LexicalContextNode until
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Ljdk/nashorn/internal/ir/LexicalContext;
            0   12     1  until  Ljdk/nashorn/internal/ir/LexicalContextNode;
            2   12     2      n  I
            3   11     3   iter  Ljava/util/Iterator<Ljdk/nashorn/internal/ir/LexicalContextNode;>;
            5   10     4   node  Ljdk/nashorn/internal/ir/LexicalContextNode;
    MethodParameters:
       Name  Flags
      until  final

  private jdk.nashorn.internal.ir.BreakableNode getBreakable();
    descriptor: ()Ljdk/nashorn/internal/ir/BreakableNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 534
            new jdk.nashorn.internal.ir.LexicalContext$NodeIterator
            dup
            aload 0 /* this */
            ldc Ljdk/nashorn/internal/ir/BreakableNode;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            invokespecial jdk.nashorn.internal.ir.LexicalContext$NodeIterator.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/Class;Ljdk/nashorn/internal/ir/LexicalContextNode;)V
            astore 1 /* iter */
        start local 1 // jdk.nashorn.internal.ir.LexicalContext$NodeIterator iter
         1: goto 5
         2: .line 535
      StackMap locals: jdk.nashorn.internal.ir.LexicalContext$NodeIterator
      StackMap stack:
            aload 1 /* iter */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext$NodeIterator.next:()Ljdk/nashorn/internal/ir/LexicalContextNode;
            checkcast jdk.nashorn.internal.ir.BreakableNode
            astore 2 /* next */
        start local 2 // jdk.nashorn.internal.ir.BreakableNode next
         3: .line 536
            aload 2 /* next */
            invokeinterface jdk.nashorn.internal.ir.BreakableNode.isBreakableWithoutLabel:()Z
            ifeq 5
         4: .line 537
            aload 2 /* next */
            areturn
        end local 2 // jdk.nashorn.internal.ir.BreakableNode next
         5: .line 534
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext$NodeIterator.hasNext:()Z
            ifne 2
        end local 1 // jdk.nashorn.internal.ir.LexicalContext$NodeIterator iter
         6: .line 540
            aconst_null
            areturn
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/nashorn/internal/ir/LexicalContext;
            1    6     1  iter  Ljdk/nashorn/internal/ir/LexicalContext$NodeIterator<Ljdk/nashorn/internal/ir/BreakableNode;>;
            3    5     2  next  Ljdk/nashorn/internal/ir/BreakableNode;

  public boolean inLoop();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 549
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentLoop:()Ljdk/nashorn/internal/ir/LoopNode;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/ir/LexicalContext;

  public jdk.nashorn.internal.ir.LoopNode getCurrentLoop();
    descriptor: ()Ljdk/nashorn/internal/ir/LoopNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 557
            new jdk.nashorn.internal.ir.LexicalContext$NodeIterator
            dup
            aload 0 /* this */
            ldc Ljdk/nashorn/internal/ir/LoopNode;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            invokespecial jdk.nashorn.internal.ir.LexicalContext$NodeIterator.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/Class;Ljdk/nashorn/internal/ir/LexicalContextNode;)V
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         1: .line 558
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 2
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.LoopNode
            goto 3
      StackMap locals: java.util.Iterator
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.ir.LoopNode
         3: areturn
        end local 1 // java.util.Iterator iter
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/nashorn/internal/ir/LexicalContext;
            1    4     1  iter  Ljava/util/Iterator<Ljdk/nashorn/internal/ir/LoopNode;>;

  public jdk.nashorn.internal.ir.BreakableNode getBreakable(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/ir/BreakableNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // java.lang.String labelName
         0: .line 571
            aload 1 /* labelName */
            ifnull 10
         1: .line 572
            aload 0 /* this */
            aload 1 /* labelName */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.findLabel:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/LabelNode;
            astore 2 /* foundLabel */
        start local 2 // jdk.nashorn.internal.ir.LabelNode foundLabel
         2: .line 573
            aload 2 /* foundLabel */
            ifnull 9
         3: .line 575
            aconst_null
            astore 3 /* breakable */
        start local 3 // jdk.nashorn.internal.ir.BreakableNode breakable
         4: .line 576
            new jdk.nashorn.internal.ir.LexicalContext$NodeIterator
            dup
            aload 0 /* this */
            ldc Ljdk/nashorn/internal/ir/BreakableNode;
            aload 2 /* foundLabel */
            invokespecial jdk.nashorn.internal.ir.LexicalContext$NodeIterator.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/Class;Ljdk/nashorn/internal/ir/LexicalContextNode;)V
            astore 4 /* iter */
        start local 4 // jdk.nashorn.internal.ir.LexicalContext$NodeIterator iter
         5: goto 7
         6: .line 577
      StackMap locals: jdk.nashorn.internal.ir.LabelNode jdk.nashorn.internal.ir.BreakableNode jdk.nashorn.internal.ir.LexicalContext$NodeIterator
      StackMap stack:
            aload 4 /* iter */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext$NodeIterator.next:()Ljdk/nashorn/internal/ir/LexicalContextNode;
            checkcast jdk.nashorn.internal.ir.BreakableNode
            astore 3 /* breakable */
         7: .line 576
      StackMap locals:
      StackMap stack:
            aload 4 /* iter */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext$NodeIterator.hasNext:()Z
            ifne 6
        end local 4 // jdk.nashorn.internal.ir.LexicalContext$NodeIterator iter
         8: .line 579
            aload 3 /* breakable */
            areturn
        end local 3 // jdk.nashorn.internal.ir.BreakableNode breakable
         9: .line 581
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // jdk.nashorn.internal.ir.LabelNode foundLabel
        10: .line 583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.getBreakable:()Ljdk/nashorn/internal/ir/BreakableNode;
            areturn
        end local 1 // java.lang.String labelName
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Ljdk/nashorn/internal/ir/LexicalContext;
            0   11     1   labelName  Ljava/lang/String;
            2   10     2  foundLabel  Ljdk/nashorn/internal/ir/LabelNode;
            4    9     3   breakable  Ljdk/nashorn/internal/ir/BreakableNode;
            5    8     4        iter  Ljdk/nashorn/internal/ir/LexicalContext$NodeIterator<Ljdk/nashorn/internal/ir/BreakableNode;>;
    MethodParameters:
           Name  Flags
      labelName  final

  private jdk.nashorn.internal.ir.LoopNode getContinueTo();
    descriptor: ()Ljdk/nashorn/internal/ir/LoopNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 587
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentLoop:()Ljdk/nashorn/internal/ir/LoopNode;
            areturn
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/ir/LexicalContext;

  public jdk.nashorn.internal.ir.LoopNode getContinueTo(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/ir/LoopNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // java.lang.String labelName
         0: .line 600
            aload 1 /* labelName */
            ifnull 10
         1: .line 601
            aload 0 /* this */
            aload 1 /* labelName */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.findLabel:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/LabelNode;
            astore 2 /* foundLabel */
        start local 2 // jdk.nashorn.internal.ir.LabelNode foundLabel
         2: .line 602
            aload 2 /* foundLabel */
            ifnull 9
         3: .line 604
            aconst_null
            astore 3 /* loop */
        start local 3 // jdk.nashorn.internal.ir.LoopNode loop
         4: .line 605
            new jdk.nashorn.internal.ir.LexicalContext$NodeIterator
            dup
            aload 0 /* this */
            ldc Ljdk/nashorn/internal/ir/LoopNode;
            aload 2 /* foundLabel */
            invokespecial jdk.nashorn.internal.ir.LexicalContext$NodeIterator.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/Class;Ljdk/nashorn/internal/ir/LexicalContextNode;)V
            astore 4 /* iter */
        start local 4 // jdk.nashorn.internal.ir.LexicalContext$NodeIterator iter
         5: goto 7
         6: .line 606
      StackMap locals: jdk.nashorn.internal.ir.LabelNode jdk.nashorn.internal.ir.LoopNode jdk.nashorn.internal.ir.LexicalContext$NodeIterator
      StackMap stack:
            aload 4 /* iter */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext$NodeIterator.next:()Ljdk/nashorn/internal/ir/LexicalContextNode;
            checkcast jdk.nashorn.internal.ir.LoopNode
            astore 3 /* loop */
         7: .line 605
      StackMap locals:
      StackMap stack:
            aload 4 /* iter */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext$NodeIterator.hasNext:()Z
            ifne 6
        end local 4 // jdk.nashorn.internal.ir.LexicalContext$NodeIterator iter
         8: .line 608
            aload 3 /* loop */
            areturn
        end local 3 // jdk.nashorn.internal.ir.LoopNode loop
         9: .line 610
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // jdk.nashorn.internal.ir.LabelNode foundLabel
        10: .line 612
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.getContinueTo:()Ljdk/nashorn/internal/ir/LoopNode;
            areturn
        end local 1 // java.lang.String labelName
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Ljdk/nashorn/internal/ir/LexicalContext;
            0   11     1   labelName  Ljava/lang/String;
            2   10     2  foundLabel  Ljdk/nashorn/internal/ir/LabelNode;
            4    9     3        loop  Ljdk/nashorn/internal/ir/LoopNode;
            5    8     4        iter  Ljdk/nashorn/internal/ir/LexicalContext$NodeIterator<Ljdk/nashorn/internal/ir/LoopNode;>;
    MethodParameters:
           Name  Flags
      labelName  final

  public jdk.nashorn.internal.ir.Block getInlinedFinally(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/ir/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // java.lang.String labelName
         0: .line 623
            new jdk.nashorn.internal.ir.LexicalContext$NodeIterator
            dup
            aload 0 /* this */
            ldc Ljdk/nashorn/internal/ir/TryNode;
            invokespecial jdk.nashorn.internal.ir.LexicalContext$NodeIterator.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/Class;)V
            astore 2 /* iter */
        start local 2 // jdk.nashorn.internal.ir.LexicalContext$NodeIterator iter
         1: goto 5
         2: .line 624
      StackMap locals: jdk.nashorn.internal.ir.LexicalContext$NodeIterator
      StackMap stack:
            aload 2 /* iter */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext$NodeIterator.next:()Ljdk/nashorn/internal/ir/LexicalContextNode;
            checkcast jdk.nashorn.internal.ir.TryNode
            aload 1 /* labelName */
            invokevirtual jdk.nashorn.internal.ir.TryNode.getInlinedFinally:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Block;
            astore 3 /* inlinedFinally */
        start local 3 // jdk.nashorn.internal.ir.Block inlinedFinally
         3: .line 625
            aload 3 /* inlinedFinally */
            ifnull 5
         4: .line 626
            aload 3 /* inlinedFinally */
            areturn
        end local 3 // jdk.nashorn.internal.ir.Block inlinedFinally
         5: .line 623
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext$NodeIterator.hasNext:()Z
            ifne 2
        end local 2 // jdk.nashorn.internal.ir.LexicalContext$NodeIterator iter
         6: .line 629
            aconst_null
            areturn
        end local 1 // java.lang.String labelName
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Ljdk/nashorn/internal/ir/LexicalContext;
            0    7     1       labelName  Ljava/lang/String;
            1    6     2            iter  Ljdk/nashorn/internal/ir/LexicalContext$NodeIterator<Ljdk/nashorn/internal/ir/TryNode;>;
            3    5     3  inlinedFinally  Ljdk/nashorn/internal/ir/Block;
    MethodParameters:
           Name  Flags
      labelName  final

  public jdk.nashorn.internal.ir.TryNode getTryNodeForInlinedFinally(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/ir/TryNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // java.lang.String labelName
         0: .line 640
            new jdk.nashorn.internal.ir.LexicalContext$NodeIterator
            dup
            aload 0 /* this */
            ldc Ljdk/nashorn/internal/ir/TryNode;
            invokespecial jdk.nashorn.internal.ir.LexicalContext$NodeIterator.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/Class;)V
            astore 2 /* iter */
        start local 2 // jdk.nashorn.internal.ir.LexicalContext$NodeIterator iter
         1: goto 5
         2: .line 641
      StackMap locals: jdk.nashorn.internal.ir.LexicalContext$NodeIterator
      StackMap stack:
            aload 2 /* iter */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext$NodeIterator.next:()Ljdk/nashorn/internal/ir/LexicalContextNode;
            checkcast jdk.nashorn.internal.ir.TryNode
            astore 3 /* tryNode */
        start local 3 // jdk.nashorn.internal.ir.TryNode tryNode
         3: .line 642
            aload 3 /* tryNode */
            aload 1 /* labelName */
            invokevirtual jdk.nashorn.internal.ir.TryNode.getInlinedFinally:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Block;
            ifnull 5
         4: .line 643
            aload 3 /* tryNode */
            areturn
        end local 3 // jdk.nashorn.internal.ir.TryNode tryNode
         5: .line 640
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext$NodeIterator.hasNext:()Z
            ifne 2
        end local 2 // jdk.nashorn.internal.ir.LexicalContext$NodeIterator iter
         6: .line 646
            aconst_null
            areturn
        end local 1 // java.lang.String labelName
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Ljdk/nashorn/internal/ir/LexicalContext;
            0    7     1  labelName  Ljava/lang/String;
            1    6     2       iter  Ljdk/nashorn/internal/ir/LexicalContext$NodeIterator<Ljdk/nashorn/internal/ir/TryNode;>;
            3    5     3    tryNode  Ljdk/nashorn/internal/ir/TryNode;
    MethodParameters:
           Name  Flags
      labelName  final

  private jdk.nashorn.internal.ir.LabelNode findLabel(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/ir/LabelNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // java.lang.String name
         0: .line 657
            new jdk.nashorn.internal.ir.LexicalContext$NodeIterator
            dup
            aload 0 /* this */
            ldc Ljdk/nashorn/internal/ir/LabelNode;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.LexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            invokespecial jdk.nashorn.internal.ir.LexicalContext$NodeIterator.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/lang/Class;Ljdk/nashorn/internal/ir/LexicalContextNode;)V
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         1: goto 5
         2: .line 658
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.LabelNode
            astore 3 /* next */
        start local 3 // jdk.nashorn.internal.ir.LabelNode next
         3: .line 659
            aload 3 /* next */
            invokevirtual jdk.nashorn.internal.ir.LabelNode.getLabelName:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 660
            aload 3 /* next */
            areturn
        end local 3 // jdk.nashorn.internal.ir.LabelNode next
         5: .line 657
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        end local 2 // java.util.Iterator iter
         6: .line 663
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/nashorn/internal/ir/LexicalContext;
            0    7     1  name  Ljava/lang/String;
            1    6     2  iter  Ljava/util/Iterator<Ljdk/nashorn/internal/ir/LabelNode;>;
            3    5     3  next  Ljdk/nashorn/internal/ir/LabelNode;
    MethodParameters:
      Name  Flags
      name  final

  public boolean isExternalTarget(jdk.nashorn.internal.ir.SplitNode, jdk.nashorn.internal.ir.BreakableNode);
    descriptor: (Ljdk/nashorn/internal/ir/SplitNode;Ljdk/nashorn/internal/ir/BreakableNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
        start local 1 // jdk.nashorn.internal.ir.SplitNode splitNode
        start local 2 // jdk.nashorn.internal.ir.BreakableNode target
         0: .line 676
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            istore 3 /* i */
        start local 3 // int i
         1: goto 13
         2: .line 677
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iload 3 /* i */
            aaload
            astore 4 /* next */
        start local 4 // jdk.nashorn.internal.ir.LexicalContextNode next
         3: .line 678
            aload 4 /* next */
            aload 1 /* splitNode */
            if_acmpne 5
         4: .line 679
            iconst_1
            ireturn
         5: .line 680
      StackMap locals: jdk.nashorn.internal.ir.LexicalContextNode
      StackMap stack:
            aload 4 /* next */
            aload 2 /* target */
            if_acmpne 7
         6: .line 681
            iconst_0
            ireturn
         7: .line 682
      StackMap locals:
      StackMap stack:
            aload 4 /* next */
            instanceof jdk.nashorn.internal.ir.TryNode
            ifeq 13
         8: .line 683
            aload 4 /* next */
            checkcast jdk.nashorn.internal.ir.TryNode
            invokevirtual jdk.nashorn.internal.ir.TryNode.getInlinedFinallies:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 12
      StackMap locals: jdk.nashorn.internal.ir.LexicalContext jdk.nashorn.internal.ir.SplitNode jdk.nashorn.internal.ir.BreakableNode int jdk.nashorn.internal.ir.LexicalContextNode top java.util.Iterator
      StackMap stack:
         9: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Block
            astore 5 /* inlinedFinally */
        start local 5 // jdk.nashorn.internal.ir.Block inlinedFinally
        10: .line 684
            aload 5 /* inlinedFinally */
            invokestatic jdk.nashorn.internal.ir.TryNode.getLabelledInlinedFinallyBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/Block;
            aload 2 /* target */
            if_acmpne 12
        11: .line 685
            iconst_0
            ireturn
        end local 5 // jdk.nashorn.internal.ir.Block inlinedFinally
        12: .line 683
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 4 // jdk.nashorn.internal.ir.LexicalContextNode next
        13: .line 676
      StackMap locals: jdk.nashorn.internal.ir.LexicalContext jdk.nashorn.internal.ir.SplitNode jdk.nashorn.internal.ir.BreakableNode int
      StackMap stack:
            iload 3 /* i */
            iinc 3 /* i */ -1
            ifgt 2
        end local 3 // int i
        14: .line 690
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 2 /* target */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " was expected in lexical context "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " but wasn't"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 2 // jdk.nashorn.internal.ir.BreakableNode target
        end local 1 // jdk.nashorn.internal.ir.SplitNode splitNode
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Ljdk/nashorn/internal/ir/LexicalContext;
            0   15     1       splitNode  Ljdk/nashorn/internal/ir/SplitNode;
            0   15     2          target  Ljdk/nashorn/internal/ir/BreakableNode;
            1   14     3               i  I
            3   13     4            next  Ljdk/nashorn/internal/ir/LexicalContextNode;
           10   12     5  inlinedFinally  Ljdk/nashorn/internal/ir/Block;
    MethodParameters:
           Name  Flags
      splitNode  final
      target     final

  public boolean inUnprotectedSwitchContext();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 700
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            istore 1 /* i */
        start local 1 // int i
         1: goto 6
         2: .line 701
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iload 1 /* i */
            aaload
            astore 2 /* next */
        start local 2 // jdk.nashorn.internal.ir.LexicalContextNode next
         3: .line 702
            aload 2 /* next */
            instanceof jdk.nashorn.internal.ir.Block
            ifeq 5
         4: .line 703
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iload 1 /* i */
            iconst_1
            isub
            aaload
            instanceof jdk.nashorn.internal.ir.SwitchNode
            ireturn
        end local 2 // jdk.nashorn.internal.ir.LexicalContextNode next
         5: .line 700
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ -1
      StackMap locals:
      StackMap stack:
         6: iload 1 /* i */
            ifgt 2
        end local 1 // int i
         7: .line 706
            iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljdk/nashorn/internal/ir/LexicalContext;
            1    7     1     i  I
            3    5     2  next  Ljdk/nashorn/internal/ir/LexicalContextNode;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // jdk.nashorn.internal.ir.LexicalContext this
         0: .line 711
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         1: .line 712
            aload 1 /* sb */
            ldc "[ "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 713
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 20
         4: .line 714
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.stack:[Ljdk/nashorn/internal/ir/LexicalContextNode;
            iload 2 /* i */
            aaload
            astore 3 /* node */
        start local 3 // java.lang.Object node
         5: .line 715
            aload 1 /* sb */
            aload 3 /* node */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 716
            aload 1 /* sb */
            bipush 64
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 717
            aload 1 /* sb */
            aload 3 /* node */
            invokestatic jdk.nashorn.internal.runtime.Debug.id:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 718
            aload 1 /* sb */
            bipush 58
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         9: .line 719
            aload 3 /* node */
            instanceof jdk.nashorn.internal.ir.FunctionNode
            ifeq 18
        10: .line 720
            aload 3 /* node */
            checkcast jdk.nashorn.internal.ir.FunctionNode
            astore 4 /* fn */
        start local 4 // jdk.nashorn.internal.ir.FunctionNode fn
        11: .line 721
            aload 4 /* fn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getSource:()Ljdk/nashorn/internal/runtime/Source;
            astore 5 /* source */
        start local 5 // jdk.nashorn.internal.runtime.Source source
        12: .line 722
            aload 5 /* source */
            invokevirtual jdk.nashorn.internal.runtime.Source.toString:()Ljava/lang/String;
            astore 6 /* src */
        start local 6 // java.lang.String src
        13: .line 723
            aload 6 /* src */
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 15
        14: .line 724
            aload 6 /* src */
            aload 6 /* src */
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* src */
        15: .line 726
      StackMap locals: jdk.nashorn.internal.ir.LexicalContext java.lang.StringBuffer int java.lang.Object jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.runtime.Source java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 6 /* src */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* src */
        16: .line 727
            new java.lang.StringBuilder
            dup
            aload 6 /* src */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* fn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getLineNumber:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* src */
        17: .line 728
            aload 1 /* sb */
            aload 6 /* src */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 6 // java.lang.String src
        end local 5 // jdk.nashorn.internal.runtime.Source source
        end local 4 // jdk.nashorn.internal.ir.FunctionNode fn
        18: .line 730
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 3 // java.lang.Object node
        19: .line 713
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 2 /* i */
            aload 0 /* this */
            getfield jdk.nashorn.internal.ir.LexicalContext.sp:I
            if_icmplt 4
        end local 2 // int i
        21: .line 732
            aload 1 /* sb */
            ldc " ==> ]"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        22: .line 733
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer sb
        end local 0 // jdk.nashorn.internal.ir.LexicalContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0    this  Ljdk/nashorn/internal/ir/LexicalContext;
            1   23     1      sb  Ljava/lang/StringBuffer;
            3   21     2       i  I
            5   19     3    node  Ljava/lang/Object;
           11   18     4      fn  Ljdk/nashorn/internal/ir/FunctionNode;
           12   18     5  source  Ljdk/nashorn/internal/runtime/Source;
           13   18     6     src  Ljava/lang/String;
}
SourceFile: "LexicalContext.java"
NestMembers:
  jdk.nashorn.internal.ir.LexicalContext$1  jdk.nashorn.internal.ir.LexicalContext$NodeIterator
InnerClasses:
  jdk.nashorn.internal.ir.LexicalContext$1
  private NodeIterator = jdk.nashorn.internal.ir.LexicalContext$NodeIterator of jdk.nashorn.internal.ir.LexicalContext