final class jdk.nashorn.internal.runtime.regexp.joni.Analyser extends jdk.nashorn.internal.runtime.regexp.joni.Parser
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.internal.runtime.regexp.joni.Analyser
  super_class: jdk.nashorn.internal.runtime.regexp.joni.Parser
{
  private static final int GET_CHAR_LEN_VARLEN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final int GET_CHAR_LEN_TOP_ALT_VARLEN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -2

  private static final int THRESHOLD_CASE_FOLD_ALT_FOR_EXPANSION;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int IN_ALT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int IN_NOT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int IN_REPEAT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int IN_VAR_REPEAT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int EXPAND_STRING_MAX_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 100

  private static final int MAX_NODE_OPT_INFO_REF_COUNT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  protected void <init>(jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment, char[], int, int);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;[CII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment env
        start local 2 // char[] chars
        start local 3 // int p
        start local 4 // int end
         0: .line 52
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* chars */
            iload 3 /* p */
            iload 4 /* end */
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.Parser.<init>:(Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;[CII)V
         1: .line 53
            return
        end local 4 // int end
        end local 3 // int p
        end local 2 // char[] chars
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment env
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0    2     1    env  Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            0    2     2  chars  [C
            0    2     3      p  I
            0    2     4    end  I
    MethodParameters:
       Name  Flags
      env    final
      chars  final
      p      final
      end    final

  protected final void compile();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
         0: .line 61
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.reset:()V
         1: .line 63
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            iconst_0
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numMem:I
         2: .line 64
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            iconst_0
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numRepeat:I
         3: .line 65
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            iconst_0
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numNullCheck:I
         4: .line 67
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aconst_null
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeLo:[I
         5: .line 68
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aconst_null
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.repeatRangeHi:[I
         6: .line 70
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.parse:()Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            pop
         7: .line 77
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.root:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.root:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
         8: .line 86
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.captureHistory:I
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.captureHistory:I
         9: .line 87
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.btMemStart:I
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemStart:I
        10: .line 88
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.btMemEnd:I
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemEnd:I
        11: .line 90
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isFindCondition:(I)Z
            ifeq 14
        12: .line 91
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsAll:()I
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemEnd:I
        13: .line 92
            goto 16
        14: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.btMemEnd:I
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemEnd:I
        15: .line 94
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemEnd:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.captureHistory:I
            ior
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemEnd:I
        16: .line 97
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.clearOptimizeInfo:()V
        17: .line 100
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.root:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setOptimizedInfoFromTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
        18: .line 103
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            aconst_null
            putfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.memNodes:[Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
        19: .line 105
            new jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler
            dup
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.<init>:(Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;)V
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ArrayCompiler.compile:()V
        20: .line 107
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.numRepeat:I
            ifne 21
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemEnd:I
            ifeq 23
        21: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            iconst_2
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.stackPopLevel:I
        22: .line 109
            goto 27
        23: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemStart:I
            ifeq 26
        24: .line 111
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            iconst_1
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.stackPopLevel:I
        25: .line 112
            goto 27
        26: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            iconst_0
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.stackPopLevel:I
        27: .line 125
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   28     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;

  private void swap(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node a
        start local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node b
         0: .line 128
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.swap:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
         1: .line 130
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.root:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            aload 2 /* b */
            if_acmpne 4
         2: .line 131
            aload 0 /* this */
            aload 1 /* a */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.root:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
         3: .line 132
            goto 6
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.root:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            aload 1 /* a */
            if_acmpne 6
         5: .line 133
            aload 0 /* this */
            aload 2 /* b */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.root:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
         6: .line 135
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node b
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node a
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0    7     1     a  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            0    7     2     b  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
    MethodParameters:
      Name  Flags
      a     final
      b     final

  private int quantifiersMemoryInfo(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
         0: .line 139
            iconst_0
            istore 2 /* info */
        start local 2 // int info
         1: .line 141
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            tableswitch { // 0 - 9
                    0: 18
                    1: 18
                    2: 18
                    3: 18
                    4: 18
                    5: 8
                    6: 12
                    7: 18
                    8: 2
                    9: 2
              default: 18
          }
         2: .line 144
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            astore 3 /* can */
        start local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode can
         3: .line 146
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
      StackMap stack:
            aload 0 /* this */
            aload 3 /* can */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.quantifiersMemoryInfo:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 4 /* v */
        start local 4 // int v
         4: .line 147
            iload 4 /* v */
            iload 2 /* info */
            if_icmple 6
         5: .line 148
            iload 4 /* v */
            istore 2 /* info */
        end local 4 // int v
         6: .line 150
      StackMap locals:
      StackMap stack:
            aload 3 /* can */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 3 /* can */
            ifnonnull 3
         7: .line 151
            goto 18
        end local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode can
         8: .line 154
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
            astore 4 /* qn */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
         9: .line 155
            aload 4 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            ifeq 18
        10: .line 156
            aload 0 /* this */
            aload 4 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.quantifiersMemoryInfo:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 2 /* info */
        11: .line 158
            goto 18
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        12: .line 161
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
            astore 5 /* en */
        start local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        13: .line 162
            aload 5 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
            tableswitch { // 1 - 4
                    1: 14
                    2: 15
                    3: 17
                    4: 15
              default: 17
          }
        14: .line 164
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
      StackMap stack:
            iconst_2
            ireturn
        15: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.quantifiersMemoryInfo:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 2 /* info */
        16: .line 169
            goto 18
        17: .line 174
      StackMap locals:
      StackMap stack:
            goto 18
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        18: .line 186
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
            iload 2 /* info */
            ireturn
        end local 2 // int info
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0   19     1  node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            1   19     2  info  I
            3    8     3   can  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            4    6     4     v  I
            9   12     4    qn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
           13   18     5    en  Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
    MethodParameters:
      Name  Flags
      node  final

  private int getMinMatchLength(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
         0: .line 190
            iconst_0
            istore 2 /* min */
        start local 2 // int min
         1: .line 192
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            tableswitch { // 0 - 9
                    0: 23
                    1: 27
                    2: 25
                    3: 27
                    4: 2
                    5: 29
                    6: 34
                    7: 46
                    8: 9
                    9: 13
              default: 46
          }
         2: .line 194
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
            astore 3 /* br */
        start local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode br
         3: .line 195
            aload 3 /* br */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.isRecursion:()Z
            ifeq 5
         4: .line 196
            goto 46
         5: .line 199
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
      StackMap stack:
            aload 3 /* br */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.numMem:I
            if_icmple 7
         6: .line 200
            new jdk.nashorn.internal.runtime.regexp.joni.exception.ValueException
            dup
            ldc "invalid backref number"
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.exception.ValueException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.memNodes:[Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            aload 3 /* br */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
            aaload
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMinMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 2 /* min */
         8: .line 204
            goto 46
        end local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode br
         9: .line 207
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            astore 4 /* can */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode can
        10: .line 209
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
      StackMap stack:
            iload 2 /* min */
            aload 0 /* this */
            aload 4 /* can */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMinMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            iadd
            istore 2 /* min */
        11: .line 210
            aload 4 /* can */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 4 /* can */
            ifnonnull 10
        12: .line 211
            goto 46
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode can
        13: .line 214
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            astore 5 /* y */
        start local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode y
        14: .line 216
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
      StackMap stack:
            aload 5 /* y */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 6 /* x */
        start local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node x
        15: .line 217
            aload 0 /* this */
            aload 6 /* x */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMinMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 7 /* tmin */
        start local 7 // int tmin
        16: .line 218
            aload 5 /* y */
            aload 1 /* node */
            if_acmpne 19
        17: .line 219
            iload 7 /* tmin */
            istore 2 /* min */
        18: .line 220
            goto 21
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
        19: iload 2 /* min */
            iload 7 /* tmin */
            if_icmple 21
        20: .line 221
            iload 7 /* tmin */
            istore 2 /* min */
        end local 7 // int tmin
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node x
        21: .line 223
      StackMap locals:
      StackMap stack:
            aload 5 /* y */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 5 /* y */
            ifnonnull 14
        22: .line 224
            goto 46
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode y
        23: .line 227
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            istore 2 /* min */
        24: .line 228
            goto 46
        25: .line 231
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* min */
        26: .line 232
            goto 46
        27: .line 236
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* min */
        28: .line 237
            goto 46
        29: .line 240
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
            astore 6 /* qn */
        start local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        30: .line 241
            aload 6 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            ifle 46
        31: .line 242
            aload 0 /* this */
            aload 6 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMinMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 2 /* min */
        32: .line 243
            iload 2 /* min */
            aload 6 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.distanceMultiply:(II)I
            istore 2 /* min */
        33: .line 245
            goto 46
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        34: .line 248
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
            astore 7 /* en */
        start local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        35: .line 249
            aload 7 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
            tableswitch { // 1 - 4
                    1: 36
                    2: 43
                    3: 45
                    4: 43
              default: 45
          }
        36: .line 251
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
      StackMap stack:
            aload 7 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isMinFixed:()Z
            ifeq 39
        37: .line 252
            aload 7 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.minLength:I
            istore 2 /* min */
        38: .line 253
            goto 46
        39: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMinMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 2 /* min */
        40: .line 255
            aload 7 /* en */
            iload 2 /* min */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.minLength:I
        41: .line 256
            aload 7 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setMinFixed:()V
        42: .line 258
            goto 46
        43: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMinMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 2 /* min */
        44: .line 263
            goto 46
        45: .line 268
      StackMap locals:
      StackMap stack:
            goto 46
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        46: .line 275
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
            iload 2 /* min */
            ireturn
        end local 2 // int min
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   47     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0   47     1  node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            1   47     2   min  I
            3    9     3    br  Ljdk/nashorn/internal/runtime/regexp/joni/ast/BackRefNode;
           10   13     4   can  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
           14   23     5     y  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
           15   21     6     x  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
           16   21     7  tmin  I
           30   34     6    qn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
           35   46     7    en  Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
    MethodParameters:
      Name  Flags
      node  final

  private int getMaxMatchLength(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
         0: .line 279
            iconst_0
            istore 2 /* max */
        start local 2 // int max
         1: .line 281
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            tableswitch { // 0 - 9
                    0: 13
                    1: 17
                    2: 15
                    3: 17
                    4: 19
                    5: 29
                    6: 38
                    7: 50
                    8: 2
                    9: 7
              default: 50
          }
         2: .line 283
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            astore 3 /* ln */
        start local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode ln
         3: .line 285
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
      StackMap stack:
            aload 0 /* this */
            aload 3 /* ln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMaxMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 4 /* tmax */
        start local 4 // int tmax
         4: .line 286
            iload 2 /* max */
            iload 4 /* tmax */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.distanceAdd:(II)I
            istore 2 /* max */
        end local 4 // int tmax
         5: .line 287
            aload 3 /* ln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 3 /* ln */
            ifnonnull 3
         6: .line 288
            goto 50
        end local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode ln
         7: .line 291
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            astore 4 /* an */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode an
         8: .line 293
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
      StackMap stack:
            aload 0 /* this */
            aload 4 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMaxMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 5 /* tmax */
        start local 5 // int tmax
         9: .line 294
            iload 2 /* max */
            iload 5 /* tmax */
            if_icmpge 11
        10: .line 295
            iload 5 /* tmax */
            istore 2 /* max */
        end local 5 // int tmax
        11: .line 297
      StackMap locals:
      StackMap stack:
            aload 4 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 4 /* an */
            ifnonnull 8
        12: .line 298
            goto 50
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode an
        13: .line 301
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            istore 2 /* max */
        14: .line 302
            goto 50
        15: .line 305
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* max */
        16: .line 306
            goto 50
        17: .line 310
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* max */
        18: .line 311
            goto 50
        19: .line 314
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
            astore 5 /* br */
        start local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode br
        20: .line 315
            aload 5 /* br */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.isRecursion:()Z
            ifeq 23
        21: .line 316
            ldc 2147483647
            istore 2 /* max */
        22: .line 317
            goto 50
        23: .line 320
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
      StackMap stack:
            aload 5 /* br */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.numMem:I
            if_icmple 25
        24: .line 321
            new jdk.nashorn.internal.runtime.regexp.joni.exception.ValueException
            dup
            ldc "invalid backref number"
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.exception.ValueException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.memNodes:[Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            aload 5 /* br */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
            aaload
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMaxMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 6 /* tmax */
        start local 6 // int tmax
        26: .line 324
            iload 2 /* max */
            iload 6 /* tmax */
            if_icmpge 50
        27: .line 325
            iload 6 /* tmax */
            istore 2 /* max */
        28: .line 327
            goto 50
        end local 6 // int tmax
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode br
        29: .line 330
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
            astore 7 /* qn */
        start local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        30: .line 331
            aload 7 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            ifeq 50
        31: .line 332
            aload 0 /* this */
            aload 7 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMaxMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 2 /* max */
        32: .line 333
            iload 2 /* max */
            ifeq 50
        33: .line 334
            aload 7 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifne 36
        34: .line 335
            iload 2 /* max */
            aload 7 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.distanceMultiply:(II)I
            istore 2 /* max */
        35: .line 336
            goto 50
        36: .line 337
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
      StackMap stack:
            ldc 2147483647
            istore 2 /* max */
        37: .line 341
            goto 50
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        38: .line 344
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
            astore 8 /* en */
        start local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        39: .line 345
            aload 8 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
            tableswitch { // 1 - 4
                    1: 40
                    2: 47
                    3: 49
                    4: 47
              default: 49
          }
        40: .line 347
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
      StackMap stack:
            aload 8 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isMaxFixed:()Z
            ifeq 43
        41: .line 348
            aload 8 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.maxLength:I
            istore 2 /* max */
        42: .line 349
            goto 50
        43: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMaxMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 2 /* max */
        44: .line 351
            aload 8 /* en */
            iload 2 /* max */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.maxLength:I
        45: .line 352
            aload 8 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setMaxFixed:()V
        46: .line 354
            goto 50
        47: .line 358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMaxMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 2 /* max */
        48: .line 359
            goto 50
        49: .line 364
      StackMap locals:
      StackMap stack:
            goto 50
        end local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        50: .line 371
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
            iload 2 /* max */
            ireturn
        end local 2 // int max
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   51     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0   51     1  node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            1   51     2   max  I
            3    7     3    ln  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            4    5     4  tmax  I
            8   13     4    an  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            9   11     5  tmax  I
           20   29     5    br  Ljdk/nashorn/internal/runtime/regexp/joni/ast/BackRefNode;
           26   29     6  tmax  I
           30   38     7    qn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
           39   50     8    en  Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
    MethodParameters:
      Name  Flags
      node  final

  protected final int getCharLengthTree(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
         0: .line 377
            aload 0 /* this */
            aload 1 /* node */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)I
            ireturn
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0    1     1  node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
    MethodParameters:
      Name  Flags
      node  final

  private int getCharLengthTree(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, int);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=12, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        start local 2 // int levelp
         0: .line 381
            iload 2 /* levelp */
            iconst_1
            iadd
            istore 3 /* level */
        start local 3 // int level
         1: .line 383
            iconst_0
            istore 4 /* len */
        start local 4 // int len
         2: .line 384
            aload 0 /* this */
            iconst_0
            putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
         3: .line 386
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            tableswitch { // 0 - 9
                    0: 28
                    1: 39
                    2: 39
                    3: 39
                    4: 55
                    5: 31
                    6: 41
                    7: 54
                    8: 4
                    9: 10
              default: 55
          }
         4: .line 388
      StackMap locals: int int
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            astore 5 /* ln */
        start local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode ln
         5: .line 390
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
      StackMap stack:
            aload 0 /* this */
            aload 5 /* ln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 3 /* level */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)I
            istore 6 /* tlen */
        start local 6 // int tlen
         6: .line 391
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
            ifne 8
         7: .line 392
            iload 4 /* len */
            iload 6 /* tlen */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.distanceAdd:(II)I
            istore 4 /* len */
        end local 6 // int tlen
         8: .line 394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
            ifne 56
            aload 5 /* ln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 5 /* ln */
            ifnonnull 5
         9: .line 395
            goto 56
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode ln
        10: .line 398
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            astore 6 /* an */
        start local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode an
        11: .line 399
            iconst_0
            istore 7 /* varLen */
        start local 7 // boolean varLen
        12: .line 401
            aload 0 /* this */
            aload 6 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 3 /* level */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)I
            istore 8 /* tlen */
        start local 8 // int tlen
        13: .line 402
            goto 18
        14: .line 403
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int top jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode int int
      StackMap stack:
            aload 0 /* this */
            aload 6 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 3 /* level */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)I
            istore 9 /* tlen2 */
        start local 9 // int tlen2
        15: .line 404
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
            ifne 18
        16: .line 405
            iload 8 /* tlen */
            iload 9 /* tlen2 */
            if_icmpeq 18
        17: .line 406
            iconst_1
            istore 7 /* varLen */
        end local 9 // int tlen2
        18: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
            ifne 19
            aload 6 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 6 /* an */
            ifnonnull 14
        19: .line 411
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
            ifne 56
        20: .line 412
            iload 7 /* varLen */
            ifeq 26
        21: .line 413
            iload 3 /* level */
            iconst_1
            if_icmpne 24
        22: .line 414
            aload 0 /* this */
            bipush -2
            putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
        23: .line 415
            goto 56
        24: .line 416
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
        25: .line 418
            goto 56
        26: .line 419
      StackMap locals:
      StackMap stack:
            iload 8 /* tlen */
            istore 4 /* len */
        27: .line 422
            goto 56
        end local 8 // int tlen
        end local 7 // boolean varLen
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode an
        28: .line 425
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            astore 9 /* sn */
        start local 9 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        29: .line 426
            aload 9 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            istore 4 /* len */
        30: .line 427
            goto 56
        end local 9 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        31: .line 430
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
            astore 10 /* qn */
        start local 10 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        32: .line 431
            aload 10 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            aload 10 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            if_icmpne 37
        33: .line 432
            aload 0 /* this */
            aload 10 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 3 /* level */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)I
            istore 8 /* tlen */
        start local 8 // int tlen
        34: .line 433
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
            ifne 56
        35: .line 434
            iload 8 /* tlen */
            aload 10 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.distanceMultiply:(II)I
            istore 4 /* len */
        36: .line 436
            goto 56
        end local 8 // int tlen
        37: .line 437
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int top top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
        38: .line 439
            goto 56
        end local 10 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        39: .line 444
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int
      StackMap stack:
            iconst_1
            istore 4 /* len */
        40: .line 445
            goto 56
        41: .line 448
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
            astore 11 /* en */
        start local 11 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        42: .line 449
            aload 11 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
            tableswitch { // 1 - 4
                    1: 43
                    2: 51
                    3: 53
                    4: 51
              default: 53
          }
        43: .line 451
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int top top top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
      StackMap stack:
            aload 11 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isCLenFixed:()Z
            ifeq 46
        44: .line 452
            aload 11 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.charLength:I
            istore 4 /* len */
        45: .line 453
            goto 56
        46: .line 454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 3 /* level */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)I
            istore 4 /* len */
        47: .line 455
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
            ifne 56
        48: .line 456
            aload 11 /* en */
            iload 4 /* len */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.charLength:I
        49: .line 457
            aload 11 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setCLenFixed:()V
        50: .line 460
            goto 56
        51: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 3 /* level */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)I
            istore 4 /* len */
        52: .line 465
            goto 56
        53: .line 470
      StackMap locals:
      StackMap stack:
            goto 56
        end local 11 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        54: .line 473
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int
      StackMap stack:
            goto 56
        55: .line 476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
        56: .line 478
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            ireturn
        end local 4 // int len
        end local 3 // int level
        end local 2 // int levelp
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   57     0    this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0   57     1    node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            0   57     2  levelp  I
            1   57     3   level  I
            2   57     4     len  I
            5   10     5      ln  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            6    8     6    tlen  I
           11   28     6      an  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
           12   28     7  varLen  Z
           13   28     8    tlen  I
           34   37     8    tlen  I
           15   18     9   tlen2  I
           29   31     9      sn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
           32   39    10      qn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
           42   54    11      en  Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
    MethodParameters:
        Name  Flags
      node    final
      levelp  final

  private static boolean isNotIncluded(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=15, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node xn
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node yn
         0: .line 483
            aload 0 /* xn */
            astore 2 /* x */
        start local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node x
         1: .line 484
            aload 1 /* yn */
            astore 3 /* y */
        start local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node y
         2: .line 490
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node
      StackMap stack:
            aload 3 /* y */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            istore 5 /* yType */
        start local 5 // int yType
         3: .line 492
            aload 2 /* x */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            tableswitch { // 0 - 2
                    0: 37
                    1: 14
                    2: 4
              default: 62
          }
         4: .line 494
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node top int
      StackMap stack:
            iload 5 /* yType */
            tableswitch { // 0 - 1
                    0: 9
                    1: 5
              default: 13
          }
         5: .line 498
      StackMap locals:
      StackMap stack:
            aload 2 /* x */
            astore 4 /* tmp */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node tmp
         6: .line 499
            aload 3 /* y */
            astore 2 /* x */
         7: .line 500
            aload 4 /* tmp */
            astore 3 /* y */
         8: .line 502
            goto 2
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node tmp
         9: .line 506
      StackMap locals:
      StackMap stack:
            aload 2 /* x */
            astore 4 /* tmp */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node tmp
        10: .line 507
            aload 3 /* y */
            astore 2 /* x */
        11: .line 508
            aload 4 /* tmp */
            astore 3 /* y */
        12: .line 509
            goto 2
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node tmp
        13: .line 514
      StackMap locals:
      StackMap stack:
            goto 62
        14: .line 517
      StackMap locals:
      StackMap stack:
            aload 2 /* x */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode
            astore 6 /* xc */
        start local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode xc
        15: .line 519
            iload 5 /* yType */
            tableswitch { // 0 - 1
                    0: 32
                    1: 16
              default: 36
          }
        16: .line 522
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode
      StackMap stack:
            aload 3 /* y */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode
            astore 7 /* yc */
        start local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode yc
        17: .line 524
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        18: goto 27
        19: .line 525
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode int
      StackMap stack:
            aload 6 /* xc */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.bs:Ljdk/nashorn/internal/runtime/regexp/joni/BitSet;
            iload 8 /* i */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.BitSet.at:(I)Z
            istore 9 /* v */
        start local 9 // boolean v
        20: .line 526
            iload 9 /* v */
            ifeq 21
            aload 6 /* xc */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
            ifeq 22
      StackMap locals: int
      StackMap stack:
        21: iload 9 /* v */
            ifne 26
            aload 6 /* xc */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
            ifeq 26
        22: .line 527
      StackMap locals:
      StackMap stack:
            aload 7 /* yc */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.bs:Ljdk/nashorn/internal/runtime/regexp/joni/BitSet;
            iload 8 /* i */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.BitSet.at:(I)Z
            istore 9 /* v */
        23: .line 528
            iload 9 /* v */
            ifeq 24
            aload 7 /* yc */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
            ifeq 25
      StackMap locals:
      StackMap stack:
        24: iload 9 /* v */
            ifne 26
            aload 7 /* yc */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
            ifeq 26
        25: .line 529
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 9 // boolean v
        26: .line 524
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 8 /* i */
            sipush 256
            if_icmplt 19
        end local 8 // int i
        28: .line 533
            aload 6 /* xc */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.mbuf:Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
            ifnonnull 29
            aload 6 /* xc */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
            ifeq 30
      StackMap locals:
      StackMap stack:
        29: aload 7 /* yc */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.mbuf:Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
            ifnonnull 31
            aload 7 /* yc */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
            ifne 31
        30: .line 534
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        31: .line 536
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode yc
        32: .line 541
      StackMap locals:
      StackMap stack:
            aload 2 /* x */
            astore 4 /* tmp */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node tmp
        33: .line 542
            aload 3 /* y */
            astore 2 /* x */
        34: .line 543
            aload 4 /* tmp */
            astore 3 /* y */
        35: .line 544
            goto 2
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node tmp
        36: .line 550
      StackMap locals:
      StackMap stack:
            goto 62
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode xc
        37: .line 553
      StackMap locals:
      StackMap stack:
            aload 2 /* x */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            astore 7 /* xs */
        start local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode xs
        38: .line 554
            aload 7 /* xs */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            ifne 40
        39: .line 555
            goto 62
        40: .line 558
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node top int top jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
      StackMap stack:
            iload 5 /* yType */
            tableswitch { // 0 - 1
                    0: 46
                    1: 41
              default: 61
          }
        41: .line 561
      StackMap locals:
      StackMap stack:
            aload 3 /* y */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode
            astore 8 /* cc */
        start local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode cc
        42: .line 562
            aload 7 /* xs */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            aload 7 /* xs */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            caload
            istore 9 /* code */
        start local 9 // int code
        43: .line 563
            aload 8 /* cc */
            iload 9 /* code */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isCodeInCC:(I)Z
            ifeq 44
            iconst_0
            goto 45
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode int
      StackMap stack:
        44: iconst_1
      StackMap locals:
      StackMap stack: int
        45: ireturn
        end local 9 // int code
        end local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode cc
        46: .line 566
      StackMap locals:
      StackMap stack:
            aload 3 /* y */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            astore 10 /* ys */
        start local 10 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode ys
        47: .line 567
            aload 7 /* xs */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            istore 11 /* len */
        start local 11 // int len
        48: .line 568
            iload 11 /* len */
            aload 10 /* ys */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            if_icmple 50
        49: .line 569
            aload 10 /* ys */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            istore 11 /* len */
        50: .line 571
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node top int top jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode top top jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode int
      StackMap stack:
            aload 7 /* xs */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isAmbig:()Z
            ifne 51
            aload 10 /* ys */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isAmbig:()Z
            ifeq 52
        51: .line 573
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        52: .line 575
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        53: aload 10 /* ys */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            istore 13 /* pt */
        start local 13 // int pt
        54: aload 7 /* xs */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            istore 14 /* q */
        start local 14 // int q
        55: goto 59
        56: .line 576
      StackMap locals: int int int
      StackMap stack:
            aload 10 /* ys */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            iload 13 /* pt */
            caload
            aload 7 /* xs */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            iload 14 /* q */
            caload
            if_icmpeq 58
        57: .line 577
            iconst_1
            ireturn
        58: .line 575
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
            iinc 13 /* pt */ 1
            iinc 14 /* q */ 1
      StackMap locals:
      StackMap stack:
        59: iload 12 /* i */
            iload 11 /* len */
            if_icmplt 56
        end local 14 // int q
        end local 13 // int pt
        end local 12 // int i
        60: .line 580
            goto 62
        end local 11 // int len
        end local 10 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode ys
        61: .line 586
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node top int top jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
      StackMap stack:
            goto 62
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode xs
        end local 5 // int yType
        62: .line 594
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node y
        end local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node x
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node yn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node xn
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   63     0     xn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            0   63     1     yn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            1   63     2      x  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            2   63     3      y  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            6    9     4    tmp  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
           10   13     4    tmp  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
           33   36     4    tmp  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            3   62     5  yType  I
           15   37     6     xc  Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;
           17   32     7     yc  Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;
           18   28     8      i  I
           20   26     9      v  Z
           38   62     7     xs  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
           42   46     8     cc  Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;
           43   46     9   code  I
           47   61    10     ys  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
           48   61    11    len  I
           53   60    12      i  I
           54   60    13     pt  I
           55   60    14      q  I
    MethodParameters:
      Name  Flags
      xn    final
      yn    final

  private jdk.nashorn.internal.runtime.regexp.joni.ast.Node getHeadValueNode(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, boolean);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        start local 2 // boolean exact
         0: .line 598
            aconst_null
            astore 3 /* n */
        start local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node n
         1: .line 600
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            tableswitch { // 0 - 9
                    0: 8
                    1: 3
                    2: 3
                    3: 2
                    4: 2
                    5: 14
                    6: 21
                    7: 31
                    8: 6
                    9: 2
              default: 35
          }
         2: .line 604
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node
      StackMap stack:
            goto 35
         3: .line 608
      StackMap locals:
      StackMap stack:
            iload 2 /* exact */
            ifne 35
         4: .line 609
            aload 1 /* node */
            astore 3 /* n */
         5: .line 611
            goto 35
         6: .line 614
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 2 /* exact */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 3 /* n */
         7: .line 615
            goto 35
         8: .line 618
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            astore 4 /* sn */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
         9: .line 619
            aload 4 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            aload 4 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            if_icmpgt 11
        10: .line 621
            goto 35
        11: .line 624
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
      StackMap stack:
            iload 2 /* exact */
            ifeq 12
            aload 4 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isRaw:()Z
            ifne 12
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isIgnoreCase:(I)Z
            ifne 35
        12: .line 627
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            astore 3 /* n */
        13: .line 629
            goto 35
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        14: .line 632
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
            astore 5 /* qn */
        start local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        15: .line 633
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            ifle 35
        16: .line 634
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            ifnull 19
        17: .line 635
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 3 /* n */
        18: .line 636
            goto 35
        19: .line 637
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node top jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
      StackMap stack:
            aload 0 /* this */
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 2 /* exact */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 3 /* n */
        20: .line 640
            goto 35
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        21: .line 643
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
            astore 6 /* en */
        start local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        22: .line 645
            aload 6 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
            tableswitch { // 1 - 4
                    1: 28
                    2: 23
                    3: 30
                    4: 28
              default: 30
          }
        23: .line 647
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node top top jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
            istore 7 /* options */
        start local 7 // int options
        24: .line 648
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 6 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
        25: .line 649
            aload 0 /* this */
            aload 6 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 2 /* exact */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 3 /* n */
        26: .line 650
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            iload 7 /* options */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
        27: .line 651
            goto 35
        end local 7 // int options
        28: .line 655
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 2 /* exact */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 3 /* n */
        29: .line 656
            goto 35
        30: .line 661
      StackMap locals:
      StackMap stack:
            goto 35
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        31: .line 664
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
            astore 7 /* an */
        start local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode an
        32: .line 665
            aload 7 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
            sipush 1024
            if_icmpne 35
        33: .line 666
            aload 0 /* this */
            aload 7 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 2 /* exact */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 3 /* n */
        34: .line 668
            goto 35
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode an
        35: .line 674
      StackMap locals:
      StackMap stack:
            aload 3 /* n */
            areturn
        end local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node n
        end local 2 // boolean exact
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   36     0     this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0   36     1     node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            0   36     2    exact  Z
            1   36     3        n  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            9   14     4       sn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
           15   21     5       qn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
           22   31     6       en  Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
           24   28     7  options  I
           32   35     7       an  Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
    MethodParameters:
       Name  Flags
      node   final
      exact  final

  private boolean checkTypeTree(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, int, int, int);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;III)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        start local 2 // int typeMask
        start local 3 // int encloseMask
        start local 4 // int anchorMask
         0: .line 679
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType2Bit:()I
            iload 2 /* typeMask */
            iand
            ifne 2
         1: .line 680
            iconst_1
            ireturn
         2: .line 683
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* invalid */
        start local 5 // boolean invalid
         3: .line 685
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            tableswitch { // 5 - 9
                    5: 8
                    6: 10
                    7: 15
                    8: 4
                    9: 4
              default: 21
          }
         4: .line 688
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            astore 6 /* can */
        start local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode can
         5: .line 690
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
      StackMap stack:
            aload 0 /* this */
            aload 6 /* can */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 2 /* typeMask */
            iload 3 /* encloseMask */
            iload 4 /* anchorMask */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.checkTypeTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;III)Z
            istore 5 /* invalid */
         6: .line 691
            iload 5 /* invalid */
            ifne 21
            aload 6 /* can */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 6 /* can */
            ifnonnull 5
         7: .line 692
            goto 21
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode can
         8: .line 695
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 2 /* typeMask */
            iload 3 /* encloseMask */
            iload 4 /* anchorMask */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.checkTypeTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;III)Z
            istore 5 /* invalid */
         9: .line 696
            goto 21
        10: .line 699
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
            astore 7 /* en */
        start local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        11: .line 700
            aload 7 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
            iload 3 /* encloseMask */
            iand
            ifne 13
        12: .line 701
            iconst_1
            ireturn
        13: .line 703
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int int top jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
      StackMap stack:
            aload 0 /* this */
            aload 7 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 2 /* typeMask */
            iload 3 /* encloseMask */
            iload 4 /* anchorMask */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.checkTypeTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;III)Z
            istore 5 /* invalid */
        14: .line 704
            goto 21
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        15: .line 707
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int int
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
            astore 8 /* an */
        start local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode an
        16: .line 708
            aload 8 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
            iload 4 /* anchorMask */
            iand
            ifne 18
        17: .line 709
            iconst_1
            ireturn
        18: .line 712
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int int top top jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
      StackMap stack:
            aload 8 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            ifnull 21
        19: .line 713
            aload 0 /* this */
            aload 8 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 2 /* typeMask */
            iload 3 /* encloseMask */
            iload 4 /* anchorMask */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.checkTypeTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;III)Z
            istore 5 /* invalid */
        20: .line 715
            goto 21
        end local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode an
        21: .line 722
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int int int int
      StackMap stack:
            iload 5 /* invalid */
            ireturn
        end local 5 // boolean invalid
        end local 4 // int anchorMask
        end local 3 // int encloseMask
        end local 2 // int typeMask
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0   22     1         node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            0   22     2     typeMask  I
            0   22     3  encloseMask  I
            0   22     4   anchorMask  I
            3   22     5      invalid  Z
            5    8     6          can  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
           11   15     7           en  Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
           16   21     8           an  Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
    MethodParameters:
             Name  Flags
      node         final
      typeMask     final
      encloseMask  final
      anchorMask   final

  private jdk.nashorn.internal.runtime.regexp.joni.ast.Node divideLookBehindAlternatives(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node nodep
         0: .line 730
            aload 1 /* nodep */
            astore 2 /* node */
        start local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
         1: .line 731
            aload 2 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
            astore 3 /* an */
        start local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode an
         2: .line 732
            aload 3 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
            istore 4 /* anchorType */
        start local 4 // int anchorType
         3: .line 733
            aload 3 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 5 /* head */
        start local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node head
         4: .line 734
            aload 5 /* head */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 6 /* np */
        start local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node np
         5: .line 736
            aload 0 /* this */
            aload 2 /* node */
            aload 5 /* head */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.swap:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
         6: .line 738
            aload 2 /* node */
            astore 7 /* tmp */
        start local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node tmp
         7: .line 739
            aload 5 /* head */
            astore 2 /* node */
         8: .line 740
            aload 7 /* tmp */
            astore 5 /* head */
         9: .line 742
            aload 2 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            aload 5 /* head */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.setCar:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            pop
        10: .line 743
            aload 5 /* head */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
            aload 6 /* np */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.setTarget:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
        11: .line 744
            aload 2 /* node */
            astore 6 /* np */
        12: .line 746
            goto 16
        13: .line 747
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode int jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.Node
      StackMap stack:
            new jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
            dup
            iload 4 /* anchorType */
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.<init>:(I)V
            astore 8 /* insert */
        start local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode insert
        14: .line 748
            aload 8 /* insert */
            aload 6 /* np */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.setTarget:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
        15: .line 749
            aload 6 /* np */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            aload 8 /* insert */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.setCar:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            pop
        end local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode insert
        16: .line 746
      StackMap locals:
      StackMap stack:
            aload 6 /* np */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 6 /* np */
            ifnonnull 13
        17: .line 752
            iload 4 /* anchorType */
            sipush 8192
            if_icmpne 21
        18: .line 753
            aload 2 /* node */
            astore 6 /* np */
        19: .line 755
      StackMap locals:
      StackMap stack:
            aload 6 /* np */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.toListNode:()V
        20: .line 756
            aload 6 /* np */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 6 /* np */
            ifnonnull 19
        21: .line 759
      StackMap locals:
      StackMap stack:
            aload 2 /* node */
            areturn
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node tmp
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node np
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node head
        end local 4 // int anchorType
        end local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode an
        end local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node nodep
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0   22     1       nodep  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            1   22     2        node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            2   22     3          an  Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
            3   22     4  anchorType  I
            4   22     5        head  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            5   22     6          np  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            7   22     7         tmp  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
           14   16     8      insert  Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
    MethodParameters:
       Name  Flags
      nodep  final

  private jdk.nashorn.internal.runtime.regexp.joni.ast.Node setupLookBehind(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
         0: .line 763
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
            astore 2 /* an */
        start local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode an
         1: .line 764
            aload 0 /* this */
            aload 2 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getCharLengthTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 3 /* len */
        start local 3 // int len
         2: .line 765
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
            tableswitch { // -2 - 0
                   -2: 6
                   -1: 5
                    0: 3
              default: 9
          }
         3: .line 767
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode int
      StackMap stack:
            aload 2 /* an */
            iload 3 /* len */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.charLength:I
         4: .line 768
            goto 9
         5: .line 770
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.regexp.joni.exception.SyntaxException
            dup
            ldc "invalid pattern in look-behind"
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.exception.SyntaxException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 772
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.syntax:Ljdk/nashorn/internal/runtime/regexp/joni/Syntax;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Syntax.differentLengthAltLookBehind:()Z
            ifeq 8
         7: .line 773
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.divideLookBehindAlternatives:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            areturn
         8: .line 775
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.regexp.joni.exception.SyntaxException
            dup
            ldc "invalid pattern in look-behind"
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.exception.SyntaxException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 779
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            areturn
        end local 3 // int len
        end local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode an
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0   10     1  node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            1   10     2    an  Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
            2   10     3   len  I
    MethodParameters:
      Name  Flags
      node  final

  private void nextSetup(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node nodep
        start local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node nextNode
         0: .line 783
            aload 1 /* nodep */
            astore 3 /* node */
        start local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
         1: .line 788
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node
      StackMap stack:
            aload 3 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            istore 4 /* type */
        start local 4 // int type
         2: .line 789
            iload 4 /* type */
            iconst_5
            if_icmpne 19
         3: .line 790
            aload 3 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
            astore 5 /* qn */
        start local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
         4: .line 791
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
            ifeq 24
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifeq 24
         5: .line 793
            aload 0 /* this */
            aload 2 /* nextNode */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            astore 6 /* n */
        start local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode n
         6: .line 795
            aload 6 /* n */
            ifnull 8
            aload 6 /* n */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            aload 6 /* n */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            caload
            ifeq 8
         7: .line 796
            aload 5 /* qn */
            aload 6 /* n */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.nextHeadExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode n
         8: .line 800
      StackMap locals: int jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
      StackMap stack:
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            iconst_1
            if_icmpgt 24
         9: .line 801
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.isSimple:()Z
            ifeq 24
        10: .line 802
            aload 0 /* this */
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 6 /* x */
        start local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node x
        11: .line 803
            aload 6 /* x */
            ifnull 24
        12: .line 804
            aload 0 /* this */
            aload 2 /* nextNode */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 7 /* y */
        start local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node y
        13: .line 805
            aload 7 /* y */
            ifnull 24
            aload 6 /* x */
            aload 7 /* y */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.Analyser.isNotIncluded:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Z
            ifeq 24
        14: .line 806
            new jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
            dup
            iconst_4
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.<init>:(I)V
            astore 8 /* en */
        start local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        15: .line 807
            aload 8 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setStopBtSimpleRepeat:()V
        16: .line 809
            aload 0 /* this */
            aload 3 /* node */
            aload 8 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.swap:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
        17: .line 811
            aload 8 /* en */
            aload 3 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setTarget:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
        end local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node y
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node x
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        18: .line 817
            goto 24
      StackMap locals:
      StackMap stack:
        19: iload 4 /* type */
            bipush 6
            if_icmpne 24
        20: .line 818
            aload 3 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
            astore 5 /* en */
        start local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        21: .line 819
            aload 5 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isMemory:()Z
            ifeq 24
        22: .line 820
            aload 5 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 3 /* node */
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        end local 4 // int type
        23: .line 786
            goto 1
        24: .line 828
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        end local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node nextNode
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node nodep
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   25     0      this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0   25     1     nodep  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            0   25     2  nextNode  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            1   25     3      node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            2   23     4      type  I
            4   18     5        qn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
            6    8     6         n  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
           11   18     6         x  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
           13   18     7         y  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
           15   18     8        en  Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
           21   23     5        en  Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
    MethodParameters:
          Name  Flags
      nodep     final
      nextNode  final

  private void updateStringNodeCaseFoldMultiByte(jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
         0: .line 831
            aload 1 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            astore 2 /* ch */
        start local 2 // char[] ch
         1: .line 832
            aload 1 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            istore 3 /* end */
        start local 3 // int end
         2: .line 833
            aload 0 /* this */
            aload 1 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
         3: .line 834
            iconst_0
            istore 4 /* sp */
        start local 4 // int sp
         4: .line 837
            goto 22
         5: .line 838
      StackMap locals: char[] int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
            istore 6 /* ovalue */
        start local 6 // int ovalue
         6: .line 839
            aload 2 /* ch */
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
            dup_x1
            iconst_1
            iadd
            putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
            caload
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.toLowerCase:(C)C
            istore 5 /* buf */
        start local 5 // char buf
         7: .line 841
            aload 2 /* ch */
            iload 6 /* ovalue */
            caload
            iload 5 /* buf */
            if_icmpeq 21
         8: .line 843
            aload 1 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            iconst_1
            ishl
            newarray 5
            astore 7 /* sbuf */
        start local 7 // char[] sbuf
         9: .line 844
            aload 2 /* ch */
            aload 1 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            aload 7 /* sbuf */
            iconst_0
            iload 6 /* ovalue */
            aload 1 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 845
            aload 0 /* this */
            iload 6 /* ovalue */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
        11: .line 846
            goto 18
        12: .line 847
      StackMap locals: int int char[]
      StackMap stack:
            aload 2 /* ch */
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
            dup_x1
            iconst_1
            iadd
            putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
            caload
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.toLowerCase:(C)C
            istore 5 /* buf */
        13: .line 848
            iload 4 /* sp */
            aload 7 /* sbuf */
            arraylength
            if_icmplt 17
        14: .line 849
            aload 7 /* sbuf */
            arraylength
            iconst_1
            ishl
            newarray 5
            astore 8 /* tmp */
        start local 8 // char[] tmp
        15: .line 850
            aload 7 /* sbuf */
            iconst_0
            aload 8 /* tmp */
            iconst_0
            aload 7 /* sbuf */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        16: .line 851
            aload 8 /* tmp */
            astore 7 /* sbuf */
        end local 8 // char[] tmp
        17: .line 853
      StackMap locals:
      StackMap stack:
            aload 7 /* sbuf */
            iload 4 /* sp */
            iinc 4 /* sp */ 1
            iload 5 /* buf */
            castore
        18: .line 846
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
            iload 3 /* end */
            if_icmplt 12
        19: .line 855
            aload 1 /* sn */
            aload 7 /* sbuf */
            iconst_0
            iload 4 /* sp */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.set:([CII)V
        20: .line 856
            return
        end local 7 // char[] sbuf
        21: .line 858
      StackMap locals:
      StackMap stack:
            iinc 4 /* sp */ 1
        end local 6 // int ovalue
        end local 5 // char buf
        22: .line 837
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
            iload 3 /* end */
            if_icmplt 5
        23: .line 860
            return
        end local 4 // int sp
        end local 3 // int end
        end local 2 // char[] ch
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0   24     1      sn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
            1   24     2      ch  [C
            2   24     3     end  I
            4   24     4      sp  I
            7   22     5     buf  C
            6   22     6  ovalue  I
            9   21     7    sbuf  [C
           15   17     8     tmp  [C
    MethodParameters:
      Name  Flags
      sn    final

  private void updateStringNodeCaseFold(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
         0: .line 863
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            astore 2 /* sn */
        start local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
         1: .line 864
            aload 0 /* this */
            aload 2 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.updateStringNodeCaseFoldMultiByte:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;)V
         2: .line 865
            return
        end local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0    3     1  node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            1    3     2    sn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
    MethodParameters:
      Name  Flags
      node  final

  private jdk.nashorn.internal.runtime.regexp.joni.ast.Node expandCaseFoldMakeRemString(char[], int, int);
    descriptor: ([CII)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // char[] ch
        start local 2 // int pp
        start local 3 // int end
         0: .line 868
            new jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            dup
            aload 1 /* ch */
            iload 2 /* pp */
            iload 3 /* end */
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.<init>:([CII)V
            astore 4 /* node */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode node
         1: .line 870
            aload 0 /* this */
            aload 4 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.updateStringNodeCaseFold:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
         2: .line 871
            aload 4 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.setAmbig:()V
         3: .line 872
            aload 4 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.setDontGetOptInfo:()V
         4: .line 873
            aload 4 /* node */
            areturn
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode node
        end local 3 // int end
        end local 2 // int pp
        end local 1 // char[] ch
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0    5     1    ch  [C
            0    5     2    pp  I
            0    5     3   end  I
            1    5     4  node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
    MethodParameters:
      Name  Flags
      ch    final
      pp    final
      end   final

  private static boolean expandCaseFoldStringAlt(int, char[], char[], int, int, int, jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr<jdk.nashorn.internal.runtime.regexp.joni.ast.Node>);
    descriptor: (I[C[CIIILjdk/nashorn/internal/runtime/regexp/joni/encoding/ObjPtr;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=11, args_size=7
        start local 0 // int itemNum
        start local 1 // char[] items
        start local 2 // char[] chars
        start local 3 // int p
        start local 4 // int slen
        start local 5 // int end
        start local 6 // jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr node
         0: .line 880
            aload 6 /* node */
            aconst_null
            aconst_null
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.newAltNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 7 /* altNode */
        start local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode altNode
         1: putfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
         2: .line 882
            new jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            dup
            aload 2 /* chars */
            iload 3 /* p */
            iload 3 /* p */
            iload 4 /* slen */
            iadd
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.<init>:([CII)V
            astore 8 /* snode */
        start local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode snode
         3: .line 883
            aload 7 /* altNode */
            aload 8 /* snode */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.setCar:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            pop
         4: .line 885
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         5: goto 13
         6: .line 886
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode int
      StackMap stack:
            new jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            dup
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.<init>:()V
            astore 8 /* snode */
         7: .line 888
            aload 8 /* snode */
            aload 1 /* items */
            iload 9 /* i */
            caload
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.catCode:(I)V
         8: .line 890
            aconst_null
            aconst_null
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.newAltNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            astore 10 /* an */
        start local 10 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode an
         9: .line 891
            aload 10 /* an */
            aload 8 /* snode */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.setCar:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            pop
        10: .line 892
            aload 7 /* altNode */
            aload 10 /* an */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.setCdr:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            pop
        11: .line 893
            aload 10 /* an */
            astore 7 /* altNode */
        end local 10 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode an
        12: .line 885
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 9 /* i */
            iload 0 /* itemNum */
            if_icmplt 6
        end local 9 // int i
        14: .line 895
            iconst_0
            ireturn
        end local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode snode
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode altNode
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr node
        end local 5 // int end
        end local 4 // int slen
        end local 3 // int p
        end local 2 // char[] chars
        end local 1 // char[] items
        end local 0 // int itemNum
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0  itemNum  I
            0   15     1    items  [C
            0   15     2    chars  [C
            0   15     3        p  I
            0   15     4     slen  I
            0   15     5      end  I
            0   15     6     node  Ljdk/nashorn/internal/runtime/regexp/joni/encoding/ObjPtr<Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;>;
            1   15     7  altNode  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            3   15     8    snode  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
            5   14     9        i  I
            9   12    10       an  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
    Signature: (I[C[CIIILjdk/nashorn/internal/runtime/regexp/joni/encoding/ObjPtr<Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;>;)Z
    MethodParameters:
         Name  Flags
      itemNum  final
      items    final
      chars    final
      p        final
      slen     final
      end      final
      node     final

  private jdk.nashorn.internal.runtime.regexp.joni.ast.Node expandCaseFoldString(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=12, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
         0: .line 900
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            astore 2 /* sn */
        start local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
         1: .line 902
            aload 2 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isAmbig:()Z
            ifne 2
            aload 2 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            ifgt 3
         2: .line 903
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
      StackMap stack:
            aload 1 /* node */
            areturn
         3: .line 906
      StackMap locals:
      StackMap stack:
            aload 2 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            astore 3 /* chars1 */
        start local 3 // char[] chars1
         4: .line 907
            aload 2 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            istore 4 /* pt */
        start local 4 // int pt
         5: .line 908
            aload 2 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            istore 5 /* end */
        start local 5 // int end
         6: .line 909
            iconst_1
            istore 6 /* altNum */
        start local 6 // int altNum
         7: .line 911
            aconst_null
            astore 7 /* topRoot */
        start local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode topRoot
         8: aconst_null
            astore 8 /* r */
        start local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode r
         9: .line 913
            new jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr
            dup
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.<init>:()V
            astore 9 /* prevNode */
        start local 9 // jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr prevNode
        10: .line 914
            aconst_null
            astore 10 /* stringNode */
        start local 10 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode stringNode
        11: .line 916
            goto 32
        12: .line 917
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode char[] int int int jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.caseFoldFlag:I
            aload 3 /* chars1 */
            iload 4 /* pt */
            caload
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.EncodingHelper.caseFoldCodesByString:(IC)[C
            astore 11 /* items */
        start local 11 // char[] items
        13: .line 919
            aload 11 /* items */
            arraylength
            ifne 22
        14: .line 920
            aload 10 /* stringNode */
            ifnonnull 20
        15: .line 921
            aload 8 /* r */
            ifnonnull 17
            aload 9 /* prevNode */
            getfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
            ifnull 17
        16: .line 922
            aconst_null
            aload 9 /* prevNode */
            getfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.Node
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.listAdd:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 8 /* r */
            astore 7 /* topRoot */
        17: .line 925
      StackMap locals: char[]
      StackMap stack:
            aload 9 /* prevNode */
            new jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            dup
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.<init>:()V
            dup
            astore 10 /* stringNode */
            putfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
        18: .line 927
            aload 8 /* r */
            ifnull 20
        19: .line 928
            aload 8 /* r */
            aload 10 /* stringNode */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.listAdd:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            pop
        20: .line 933
      StackMap locals:
      StackMap stack:
            aload 10 /* stringNode */
            aload 3 /* chars1 */
            iload 4 /* pt */
            iload 4 /* pt */
            iconst_1
            iadd
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.cat:([CII)V
        21: .line 934
            goto 31
        22: .line 935
      StackMap locals:
      StackMap stack:
            iload 6 /* altNum */
            aload 11 /* items */
            arraylength
            iconst_1
            iadd
            imul
            istore 6 /* altNum */
        23: .line 936
            iload 6 /* altNum */
            bipush 8
            if_icmple 25
        24: .line 937
            goto 33
        25: .line 940
      StackMap locals:
      StackMap stack:
            aload 8 /* r */
            ifnonnull 27
            aload 9 /* prevNode */
            getfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
            ifnull 27
        26: .line 941
            aconst_null
            aload 9 /* prevNode */
            getfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.Node
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.listAdd:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 8 /* r */
            astore 7 /* topRoot */
        27: .line 944
      StackMap locals:
      StackMap stack:
            aload 11 /* items */
            arraylength
            aload 11 /* items */
            aload 3 /* chars1 */
            iload 4 /* pt */
            iconst_1
            iload 5 /* end */
            aload 9 /* prevNode */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.Analyser.expandCaseFoldStringAlt:(I[C[CIIILjdk/nashorn/internal/runtime/regexp/joni/encoding/ObjPtr;)Z
            pop
        28: .line 945
            aload 8 /* r */
            ifnull 30
        29: .line 946
            aload 8 /* r */
            aload 9 /* prevNode */
            getfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.Node
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.listAdd:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            pop
        30: .line 948
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 10 /* stringNode */
        31: .line 950
      StackMap locals:
      StackMap stack:
            iinc 4 /* pt */ 1
        end local 11 // char[] items
        32: .line 916
      StackMap locals:
      StackMap stack:
            iload 4 /* pt */
            iload 5 /* end */
            if_icmplt 12
        33: .line 953
      StackMap locals:
      StackMap stack:
            iload 4 /* pt */
            iload 5 /* end */
            if_icmpge 41
        34: .line 954
            aload 0 /* this */
            aload 3 /* chars1 */
            iload 4 /* pt */
            iload 5 /* end */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.expandCaseFoldMakeRemString:([CII)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 11 /* srem */
        start local 11 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node srem
        35: .line 956
            aload 9 /* prevNode */
            getfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
            ifnull 37
            aload 8 /* r */
            ifnonnull 37
        36: .line 957
            aconst_null
            aload 9 /* prevNode */
            getfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.Node
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.listAdd:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 8 /* r */
            astore 7 /* topRoot */
        37: .line 960
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node
      StackMap stack:
            aload 8 /* r */
            ifnonnull 40
        38: .line 961
            aload 9 /* prevNode */
            aload 11 /* srem */
            putfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
        39: .line 962
            goto 41
        40: .line 963
      StackMap locals:
      StackMap stack:
            aload 8 /* r */
            aload 11 /* srem */
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.listAdd:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            pop
        end local 11 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node srem
        41: .line 967
      StackMap locals:
      StackMap stack:
            aload 7 /* topRoot */
            ifnull 42
            aload 7 /* topRoot */
            goto 43
      StackMap locals:
      StackMap stack:
        42: aload 9 /* prevNode */
            getfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.Node
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.runtime.regexp.joni.ast.Node
        43: astore 11 /* xnode */
        start local 11 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node xnode
        44: .line 969
            aload 0 /* this */
            aload 1 /* node */
            aload 11 /* xnode */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.swap:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
        45: .line 970
            aload 11 /* xnode */
            areturn
        end local 11 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node xnode
        end local 10 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode stringNode
        end local 9 // jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr prevNode
        end local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode r
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode topRoot
        end local 6 // int altNum
        end local 5 // int end
        end local 4 // int pt
        end local 3 // char[] chars1
        end local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   46     0        this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0   46     1        node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            1   46     2          sn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
            4   46     3      chars1  [C
            5   46     4          pt  I
            6   46     5         end  I
            7   46     6      altNum  I
            8   46     7     topRoot  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            9   46     8           r  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
           10   46     9    prevNode  Ljdk/nashorn/internal/runtime/regexp/joni/encoding/ObjPtr<Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;>;
           11   46    10  stringNode  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
           13   32    11       items  [C
           35   41    11        srem  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
           44   46    11       xnode  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
    MethodParameters:
      Name  Flags
      node  final

  protected final jdk.nashorn.internal.runtime.regexp.joni.ast.Node setupTree(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, int);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=16, args_size=3
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node nodep
        start local 2 // int statep
         0: .line 988
            aload 1 /* nodep */
            astore 3 /* node */
        start local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
         1: .line 989
            iload 2 /* statep */
            istore 4 /* state */
        start local 4 // int state
         2: .line 992
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
            aload 3 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            tableswitch { // 0 - 9
                    0: 16
                    1: 15
                    2: 19
                    3: 19
                    4: 20
                    5: 27
                    6: 65
                    7: 84
                    8: 3
                    9: 11
              default: 105
          }
         3: .line 994
      StackMap locals:
      StackMap stack:
            aload 3 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            astore 5 /* lin */
        start local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode lin
         4: .line 995
            aconst_null
            astore 6 /* prev */
        start local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node prev
         5: .line 997
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode jdk.nashorn.internal.runtime.regexp.joni.ast.Node
      StackMap stack:
            aload 0 /* this */
            aload 5 /* lin */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 4 /* state */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            pop
         6: .line 998
            aload 6 /* prev */
            ifnull 8
         7: .line 999
            aload 0 /* this */
            aload 6 /* prev */
            aload 5 /* lin */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.nextSetup:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
         8: .line 1001
      StackMap locals:
      StackMap stack:
            aload 5 /* lin */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 6 /* prev */
         9: .line 1002
            aload 5 /* lin */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 5 /* lin */
            ifnonnull 5
        10: .line 1003
            goto 105
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node prev
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode lin
        11: .line 1006
      StackMap locals:
      StackMap stack:
            aload 3 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            astore 7 /* aln */
        start local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode aln
        12: .line 1008
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
      StackMap stack:
            aload 0 /* this */
            aload 7 /* aln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 4 /* state */
            iconst_1
            ior
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            pop
        13: .line 1009
            aload 7 /* aln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 7 /* aln */
            ifnonnull 12
        14: .line 1010
            goto 105
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode aln
        15: .line 1013
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
            goto 105
        16: .line 1016
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isIgnoreCase:(I)Z
            ifeq 105
            aload 3 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isRaw:()Z
            ifne 105
        17: .line 1017
            aload 0 /* this */
            aload 3 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.expandCaseFoldString:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 3 /* node */
        18: .line 1019
            goto 105
        19: .line 1023
      StackMap locals:
      StackMap stack:
            goto 105
        20: .line 1026
      StackMap locals:
      StackMap stack:
            aload 3 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
            astore 8 /* br */
        start local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode br
        21: .line 1027
            aload 8 /* br */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.numMem:I
            if_icmple 23
        22: .line 1028
            new jdk.nashorn.internal.runtime.regexp.joni.exception.ValueException
            dup
            ldc "invalid backref number"
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.exception.ValueException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 1030
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.backrefedMem:I
            aload 8 /* br */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsOnAt:(II)I
            putfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.backrefedMem:I
        24: .line 1031
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.btMemStart:I
            aload 8 /* br */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsOnAt:(II)I
            putfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.btMemStart:I
        25: .line 1032
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.memNodes:[Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            aload 8 /* br */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
            aaload
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setMemBackrefed:()V
        26: .line 1033
            goto 105
        end local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode br
        27: .line 1036
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
            aload 3 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
            astore 9 /* qn */
        start local 9 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        28: .line 1037
            aload 9 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 10 /* target */
        start local 10 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node target
        29: .line 1039
            iload 4 /* state */
            iconst_4
            iand
            ifeq 31
        30: .line 1040
            aload 9 /* qn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.setInRepeat:()V
        31: .line 1043
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode jdk.nashorn.internal.runtime.regexp.joni.ast.Node
      StackMap stack:
            aload 9 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifne 32
            aload 9 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            iconst_1
            if_icmplt 38
        32: .line 1044
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* target */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMinMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 11 /* d */
        start local 11 // int d
        33: .line 1045
            iload 11 /* d */
            ifne 38
        34: .line 1046
            aload 9 /* qn */
            iconst_1
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.targetEmptyInfo:I
        35: .line 1048
            aload 0 /* this */
            aload 10 /* target */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.quantifiersMemoryInfo:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 12 /* info */
        start local 12 // int info
        36: .line 1049
            iload 12 /* info */
            ifle 38
        37: .line 1050
            aload 9 /* qn */
            iload 12 /* info */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.targetEmptyInfo:I
        end local 12 // int info
        end local 11 // int d
        38: .line 1057
      StackMap locals:
      StackMap stack:
            iload 4 /* state */
            iconst_4
            ior
            istore 4 /* state */
        39: .line 1058
            aload 9 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            aload 9 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            if_icmpeq 41
        40: .line 1059
            iload 4 /* state */
            bipush 8
            ior
            istore 4 /* state */
        41: .line 1062
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* target */
            iload 4 /* state */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 10 /* target */
        42: .line 1065
            aload 10 /* target */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            ifne 56
        43: .line 1066
            aload 9 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifne 56
            aload 9 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            aload 9 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            if_icmpne 56
        44: .line 1067
            aload 9 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            iconst_1
            if_icmple 56
            aload 9 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            bipush 100
            if_icmpgt 56
        45: .line 1068
            aload 10 /* target */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            astore 11 /* sn */
        start local 11 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        46: .line 1069
            aload 11 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            istore 12 /* len */
        start local 12 // int len
        47: .line 1071
            iload 12 /* len */
            aload 9 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            imul
            bipush 100
            if_icmpgt 56
        48: .line 1072
            aload 9 /* qn */
            aload 11 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.flag:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.convertToString:(I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
            astore 13 /* str */
        start local 13 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode str
        49: .line 1073
            aload 9 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            istore 14 /* n */
        start local 14 // int n
        50: .line 1074
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        51: goto 54
        52: .line 1075
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode int jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode int int
      StackMap stack:
            aload 13 /* str */
            aload 11 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            aload 11 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            aload 11 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.cat:([CII)V
        53: .line 1074
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        54: iload 15 /* i */
            iload 14 /* n */
            if_icmplt 52
        end local 15 // int i
        55: .line 1077
            goto 105
        end local 14 // int n
        end local 13 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode str
        end local 12 // int len
        end local 11 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        56: .line 1083
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode jdk.nashorn.internal.runtime.regexp.joni.ast.Node
      StackMap stack:
            aload 9 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
            ifeq 105
            aload 9 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.targetEmptyInfo:I
            ifeq 105
        57: .line 1084
            aload 10 /* target */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            iconst_5
            if_icmpne 63
        58: .line 1085
            aload 10 /* target */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
            astore 11 /* tqn */
        start local 11 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode tqn
        59: .line 1086
            aload 11 /* tqn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            ifnull 105
        60: .line 1087
            aload 9 /* qn */
            aload 11 /* tqn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
        61: .line 1088
            aload 11 /* tqn */
            aconst_null
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
        end local 11 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode tqn
        62: .line 1090
            goto 105
        63: .line 1091
      StackMap locals:
      StackMap stack:
            aload 9 /* qn */
            aload 0 /* this */
            aload 9 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getHeadValueNode:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Z)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.headExact:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
        64: .line 1095
            goto 105
        end local 10 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node target
        end local 9 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        65: .line 1098
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
            aload 3 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
            astore 11 /* en */
        start local 11 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        66: .line 1099
            aload 11 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
            tableswitch { // 1 - 4
                    1: 72
                    2: 67
                    3: 83
                    4: 76
              default: 83
          }
        67: .line 1101
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
            istore 12 /* options */
        start local 12 // int options
        68: .line 1102
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 11 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
        69: .line 1103
            aload 0 /* this */
            aload 11 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 4 /* state */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            pop
        70: .line 1104
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            iload 12 /* options */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
        71: .line 1105
            goto 105
        end local 12 // int options
        72: .line 1108
      StackMap locals:
      StackMap stack:
            iload 4 /* state */
            bipush 11
            iand
            ifeq 74
        73: .line 1109
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.btMemStart:I
            aload 11 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.regNum:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsOnAt:(II)I
            putfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.btMemStart:I
        74: .line 1113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 4 /* state */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            pop
        75: .line 1114
            goto 105
        76: .line 1117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 4 /* state */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            pop
        77: .line 1118
            aload 11 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            iconst_5
            if_icmpne 105
        78: .line 1119
            aload 11 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
            astore 13 /* tqn */
        start local 13 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode tqn
        79: .line 1120
            aload 13 /* tqn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifeq 105
            aload 13 /* tqn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            iconst_1
            if_icmpgt 105
            aload 13 /* tqn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
            ifeq 105
        80: .line 1122
            aload 13 /* tqn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.isSimple:()Z
            ifeq 105
        81: .line 1123
            aload 11 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setStopBtSimpleRepeat:()V
        end local 13 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode tqn
        82: .line 1127
            goto 105
        83: .line 1133
      StackMap locals:
      StackMap stack:
            goto 105
        end local 11 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        84: .line 1136
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
            aload 3 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
            astore 12 /* an */
        start local 12 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode an
        85: .line 1137
            aload 12 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
            lookupswitch { // 4
                 1024: 86
                 2048: 88
                 4096: 90
                 8192: 97
              default: 104
          }
        86: .line 1139
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int top top top top top top top jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
      StackMap stack:
            aload 0 /* this */
            aload 12 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 4 /* state */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            pop
        87: .line 1140
            goto 105
        88: .line 1143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 12 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 4 /* state */
            iconst_2
            ior
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            pop
        89: .line 1144
            goto 105
        90: .line 1147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 12 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            sipush 2031
            iconst_1
            sipush 4135
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.checkTypeTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;III)Z
            ifeq 92
        91: .line 1148
            new jdk.nashorn.internal.runtime.regexp.joni.exception.SyntaxException
            dup
            ldc "invalid pattern in look-behind"
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.exception.SyntaxException.<init>:(Ljava/lang/String;)V
            athrow
        92: .line 1150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupLookBehind:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 3 /* node */
        93: .line 1151
            aload 3 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            bipush 7
            if_icmpeq 95
        94: .line 1152
            goto 2
        95: .line 1154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 4 /* state */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            pop
        96: .line 1155
            goto 105
        97: .line 1158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 12 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            sipush 2031
            iconst_1
            sipush 4135
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.checkTypeTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;III)Z
            ifeq 99
        98: .line 1159
            new jdk.nashorn.internal.runtime.regexp.joni.exception.SyntaxException
            dup
            ldc "invalid pattern in look-behind"
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.exception.SyntaxException.<init>:(Ljava/lang/String;)V
            athrow
        99: .line 1161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupLookBehind:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 3 /* node */
       100: .line 1162
            aload 3 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            bipush 7
            if_icmpeq 102
       101: .line 1163
            goto 2
       102: .line 1165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            iload 4 /* state */
            iconst_2
            ior
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.setupTree:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;I)Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            pop
       103: .line 1166
            goto 105
       104: .line 1172
      StackMap locals:
      StackMap stack:
            goto 105
        end local 12 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode an
       105: .line 1176
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node int jdk.nashorn.internal.runtime.regexp.joni.ast.Node int
      StackMap stack:
            aload 3 /* node */
            areturn
        end local 4 // int state
        end local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        end local 2 // int statep
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node nodep
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0  106     0     this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0  106     1    nodep  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            0  106     2   statep  I
            1  106     3     node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            2  106     4    state  I
            4   11     5      lin  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            5   11     6     prev  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
           12   15     7      aln  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
           21   27     8       br  Ljdk/nashorn/internal/runtime/regexp/joni/ast/BackRefNode;
           28   65     9       qn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
           29   65    10   target  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
           33   38    11        d  I
           36   38    12     info  I
           46   56    11       sn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
           47   56    12      len  I
           49   56    13      str  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
           50   56    14        n  I
           51   55    15        i  I
           59   62    11      tqn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
           66   84    11       en  Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
           68   72    12  options  I
           79   82    13      tqn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
           85  105    12       an  Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
    MethodParameters:
        Name  Flags
      nodep   final
      statep  final

  private void optimizeNodeLeft(jdk.nashorn.internal.runtime.regexp.joni.ast.Node, jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo, jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        start local 2 // jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo opt
        start local 3 // jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment oenv
         0: .line 1182
            aload 2 /* opt */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.clear:()V
         1: .line 1183
            aload 2 /* opt */
            aload 3 /* oenv */
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.mmd:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.setBoundNode:(Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;)V
         2: .line 1185
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            tableswitch { // 0 - 9
                    0: 21
                    1: 41
                    2: 142
                    3: 55
                    4: 74
                    5: 83
                    6: 118
                    7: 57
                    8: 3
                    9: 12
              default: 142
          }
         3: .line 1187
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment
            dup
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.<init>:()V
            astore 4 /* nenv */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment nenv
         4: .line 1188
            new jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo
            dup
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.<init>:()V
            astore 5 /* nopt */
        start local 5 // jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo nopt
         5: .line 1189
            aload 4 /* nenv */
            aload 3 /* oenv */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.copy:(Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
         6: .line 1190
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            astore 6 /* lin */
        start local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode lin
         7: .line 1192
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
      StackMap stack:
            aload 0 /* this */
            aload 6 /* lin */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            aload 5 /* nopt */
            aload 4 /* nenv */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.optimizeNodeLeft:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
         8: .line 1193
            aload 4 /* nenv */
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.mmd:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            aload 5 /* nopt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.add:(Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;)V
         9: .line 1194
            aload 2 /* opt */
            aload 5 /* nopt */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.concatLeftNode:(Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;)V
        10: .line 1195
            aload 6 /* lin */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 6 /* lin */
            ifnonnull 7
        11: .line 1196
            goto 143
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode lin
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo nopt
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment nenv
        12: .line 1200
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo
            dup
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.<init>:()V
            astore 4 /* nopt */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo nopt
        13: .line 1201
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
            astore 5 /* aln */
        start local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode aln
        14: .line 1203
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode
      StackMap stack:
            aload 0 /* this */
            aload 5 /* aln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.car:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            aload 4 /* nopt */
            aload 3 /* oenv */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.optimizeNodeLeft:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
        15: .line 1204
            aload 5 /* aln */
            aload 1 /* node */
            if_acmpne 18
        16: .line 1205
            aload 2 /* opt */
            aload 4 /* nopt */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.copy:(Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;)V
        17: .line 1206
            goto 19
        18: .line 1207
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            aload 4 /* nopt */
            aload 3 /* oenv */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.altMerge:(Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
        19: .line 1209
      StackMap locals:
      StackMap stack:
            aload 5 /* aln */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode.cdr:Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
            dup
            astore 5 /* aln */
            ifnonnull 14
        20: .line 1210
            goto 143
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode aln
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo nopt
        21: .line 1214
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
            astore 4 /* sn */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        22: .line 1216
            aload 4 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            istore 5 /* slen */
        start local 5 // int slen
        23: .line 1218
            aload 4 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isAmbig:()Z
            ifne 29
        24: .line 1219
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            aload 4 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            aload 4 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            aload 4 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            aload 4 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isRaw:()Z
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.concatStr:([CIIZ)V
        25: .line 1221
            iload 5 /* slen */
            ifle 27
        26: .line 1222
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
            aload 4 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            aload 4 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            caload
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.addChar:(I)V
        27: .line 1225
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode int
      StackMap stack:
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            iload 5 /* slen */
            iload 5 /* slen */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
        28: .line 1226
            goto 38
        29: .line 1228
      StackMap locals:
      StackMap stack:
            aload 4 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isDontGetOptInfo:()Z
            ifeq 32
        30: .line 1229
            aload 4 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            istore 6 /* max */
        start local 6 // int max
        31: .line 1230
            goto 37
        end local 6 // int max
        32: .line 1231
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            aload 4 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            aload 4 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            aload 4 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            aload 4 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isRaw:()Z
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.concatStr:([CIIZ)V
        33: .line 1232
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            iconst_1
            putfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.ignoreCase:Z
        34: .line 1234
            iload 5 /* slen */
            ifle 36
        35: .line 1235
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
            aload 4 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            aload 4 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            aload 4 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            aload 3 /* oenv */
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.caseFoldFlag:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.addCharAmb:([CIII)V
        36: .line 1238
      StackMap locals:
      StackMap stack:
            iload 5 /* slen */
            istore 6 /* max */
        start local 6 // int max
        37: .line 1240
      StackMap locals: int
      StackMap stack:
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            iload 5 /* slen */
            iload 6 /* max */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
        end local 6 // int max
        38: .line 1243
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.length:I
            iload 5 /* slen */
            if_icmpne 143
        39: .line 1244
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            iconst_1
            putfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.reachEnd:Z
        40: .line 1246
            goto 143
        end local 5 // int slen
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        41: .line 1250
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode
            astore 4 /* cc */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode cc
        42: .line 1252
            aload 4 /* cc */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.mbuf:Ljdk/nashorn/internal/runtime/regexp/joni/CodeRangeBuffer;
            ifnonnull 43
            aload 4 /* cc */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
            ifeq 45
        43: .line 1253
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode
      StackMap stack:
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            iconst_1
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
        44: .line 1254
            goto 143
        45: .line 1255
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        46: goto 52
        47: .line 1256
      StackMap locals: int
      StackMap stack:
            aload 4 /* cc */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.bs:Ljdk/nashorn/internal/runtime/regexp/joni/BitSet;
            iload 5 /* i */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.BitSet.at:(I)Z
            istore 6 /* z */
        start local 6 // boolean z
        48: .line 1257
            iload 6 /* z */
            ifeq 49
            aload 4 /* cc */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
            ifeq 50
      StackMap locals: int
      StackMap stack:
        49: iload 6 /* z */
            ifne 51
            aload 4 /* cc */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode.isNot:()Z
            ifeq 51
        50: .line 1258
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
            iload 5 /* i */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.addChar:(I)V
        end local 6 // boolean z
        51: .line 1255
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        52: iload 5 /* i */
            sipush 256
            if_icmplt 47
        end local 5 // int i
        53: .line 1261
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            iconst_1
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
        54: .line 1263
            goto 143
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode cc
        55: .line 1267
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            iconst_1
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
        56: .line 1268
            goto 143
        57: .line 1272
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
            astore 4 /* an */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode an
        58: .line 1273
            aload 4 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
            lookupswitch { // 10
                    1: 59
                    2: 59
                    4: 59
                    8: 59
                   16: 59
                   32: 59
                 1024: 61
                 2048: 72
                 4096: 72
                 8192: 72
              default: 73
          }
        59: .line 1280
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode
      StackMap stack:
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
            aload 4 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.add:(I)V
        60: .line 1281
            goto 143
        61: .line 1284
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo
            dup
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.<init>:()V
            astore 5 /* nopt */
        start local 5 // jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo nopt
        62: .line 1285
            aload 0 /* this */
            aload 4 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            aload 5 /* nopt */
            aload 3 /* oenv */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.optimizeNodeLeft:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
        63: .line 1286
            aload 5 /* nopt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.length:I
            ifle 66
        64: .line 1287
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.expr:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            aload 5 /* nopt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.copy:(Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;)V
        65: .line 1288
            goto 68
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo
      StackMap stack:
        66: aload 5 /* nopt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exm:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.length:I
            ifle 68
        67: .line 1289
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.expr:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            aload 5 /* nopt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exm:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.copy:(Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;)V
        68: .line 1291
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.expr:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            iconst_0
            putfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.reachEnd:Z
        69: .line 1292
            aload 5 /* nopt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.value:I
            ifle 143
        70: .line 1293
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
            aload 5 /* nopt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.copy:(Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;)V
        71: .line 1295
            goto 143
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo nopt
        72: .line 1300
      StackMap locals:
      StackMap stack:
            goto 143
        73: .line 1306
      StackMap locals:
      StackMap stack:
            goto 143
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode an
        74: .line 1310
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
            astore 4 /* br */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode br
        75: .line 1312
            aload 4 /* br */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.isRecursion:()Z
            ifeq 78
        76: .line 1313
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            iconst_0
            ldc 2147483647
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
        77: .line 1314
            goto 143
        78: .line 1317
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode
      StackMap stack:
            aload 3 /* oenv */
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.scanEnv:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.memNodes:[Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            astore 5 /* nodes */
        start local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node[] nodes
        79: .line 1319
            aload 0 /* this */
            aload 5 /* nodes */
            aload 4 /* br */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
            aaload
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMinMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 6 /* min */
        start local 6 // int min
        80: .line 1320
            aload 0 /* this */
            aload 5 /* nodes */
            aload 4 /* br */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.backRef:I
            aaload
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.getMaxMatchLength:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)I
            istore 7 /* max */
        start local 7 // int max
        81: .line 1322
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            iload 6 /* min */
            iload 7 /* max */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
        82: .line 1323
            goto 143
        end local 7 // int max
        end local 6 // int min
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node[] nodes
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode br
        83: .line 1328
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo
            dup
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.<init>:()V
            astore 4 /* nopt */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo nopt
        84: .line 1329
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
            astore 5 /* qn */
        start local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        85: .line 1330
            aload 0 /* this */
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            aload 4 /* nopt */
            aload 3 /* oenv */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.optimizeNodeLeft:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
        86: .line 1331
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            ifne 93
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifeq 93
        87: .line 1332
            aload 3 /* oenv */
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.mmd:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            getfield jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.max:I
            ifne 109
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            iconst_3
            if_icmpne 109
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.greedy:Z
            ifeq 109
        88: .line 1333
            aload 3 /* oenv */
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.options:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.Option.isMultiline:(I)Z
            ifeq 91
        89: .line 1334
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
            ldc 32768
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.add:(I)V
        90: .line 1335
            goto 109
        91: .line 1336
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode
      StackMap stack:
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
            sipush 16384
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.add:(I)V
        92: .line 1339
            goto 109
        93: .line 1340
      StackMap locals:
      StackMap stack:
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            ifle 109
        94: .line 1341
            aload 2 /* opt */
            aload 4 /* nopt */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.copy:(Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;)V
        95: .line 1342
            aload 4 /* nopt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.length:I
            ifle 104
        96: .line 1343
            aload 4 /* nopt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.reachEnd:Z
            ifeq 104
        97: .line 1345
            iconst_2
            istore 6 /* i */
        start local 6 // int i
        98: goto 101
        99: .line 1346
      StackMap locals: int
      StackMap stack:
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            aload 4 /* nopt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.concat:(Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;)V
       100: .line 1345
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
       101: iload 6 /* i */
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            if_icmpgt 102
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.isFull:()Z
            ifeq 99
       102: .line 1348
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            if_icmpge 104
       103: .line 1349
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            iconst_0
            putfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.reachEnd:Z
        end local 6 // int i
       104: .line 1353
      StackMap locals:
      StackMap stack:
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            if_icmpeq 107
       105: .line 1354
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            iconst_0
            putfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.reachEnd:Z
       106: .line 1355
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exm:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            iconst_0
            putfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.reachEnd:Z
       107: .line 1357
      StackMap locals:
      StackMap stack:
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            iconst_1
            if_icmple 109
       108: .line 1358
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exm:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            iconst_0
            putfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.reachEnd:Z
       109: .line 1363
      StackMap locals:
      StackMap stack:
            aload 4 /* nopt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            getfield jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.min:I
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.distanceMultiply:(II)I
            istore 6 /* min */
        start local 6 // int min
       110: .line 1365
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifeq 115
       111: .line 1366
            aload 4 /* nopt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            getfield jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.max:I
            ifle 112
            ldc 2147483647
            goto 113
      StackMap locals: int
      StackMap stack:
       112: iconst_0
      StackMap locals:
      StackMap stack: int
       113: istore 7 /* max */
        start local 7 // int max
       114: .line 1367
            goto 116
        end local 7 // int max
       115: .line 1368
      StackMap locals:
      StackMap stack:
            aload 4 /* nopt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            getfield jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.max:I
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.distanceMultiply:(II)I
            istore 7 /* max */
        start local 7 // int max
       116: .line 1370
      StackMap locals: int
      StackMap stack:
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            iload 6 /* min */
            iload 7 /* max */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
       117: .line 1371
            goto 143
        end local 7 // int max
        end local 6 // int min
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo nopt
       118: .line 1375
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment
      StackMap stack:
            aload 1 /* node */
            checkcast jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
            astore 4 /* en */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
       119: .line 1376
            aload 4 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
            tableswitch { // 1 - 4
                    1: 125
                    2: 120
                    3: 141
                    4: 139
              default: 141
          }
       120: .line 1378
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
      StackMap stack:
            aload 3 /* oenv */
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.options:I
            istore 5 /* save */
        start local 5 // int save
       121: .line 1379
            aload 3 /* oenv */
            aload 4 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.option:I
            putfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.options:I
       122: .line 1380
            aload 0 /* this */
            aload 4 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            aload 2 /* opt */
            aload 3 /* oenv */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.optimizeNodeLeft:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
       123: .line 1381
            aload 3 /* oenv */
            iload 5 /* save */
            putfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.options:I
       124: .line 1382
            goto 143
        end local 5 // int save
       125: .line 1385
      StackMap locals:
      StackMap stack:
            aload 4 /* en */
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.optCount:I
            iconst_1
            iadd
            dup_x1
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.optCount:I
            iconst_5
            if_icmple 134
       126: .line 1386
            iconst_0
            istore 6 /* min */
        start local 6 // int min
       127: .line 1387
            ldc 2147483647
            istore 7 /* max */
        start local 7 // int max
       128: .line 1388
            aload 4 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isMinFixed:()Z
            ifeq 130
       129: .line 1389
            aload 4 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.minLength:I
            istore 6 /* min */
       130: .line 1391
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode top int int
      StackMap stack:
            aload 4 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isMaxFixed:()Z
            ifeq 132
       131: .line 1392
            aload 4 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.maxLength:I
            istore 7 /* max */
       132: .line 1394
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            iload 6 /* min */
            iload 7 /* max */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.set:(II)V
        end local 7 // int max
        end local 6 // int min
       133: .line 1395
            goto 143
       134: .line 1396
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.Analyser jdk.nashorn.internal.runtime.regexp.joni.ast.Node jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode
      StackMap stack:
            aload 0 /* this */
            aload 4 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            aload 2 /* opt */
            aload 3 /* oenv */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.optimizeNodeLeft:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
       135: .line 1397
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
            ldc 49152
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.isSet:(I)Z
            ifeq 143
       136: .line 1398
            aload 3 /* oenv */
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.scanEnv:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            getfield jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment.backrefedMem:I
            aload 4 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.regNum:I
            invokestatic jdk.nashorn.internal.runtime.regexp.joni.BitStatus.bsAt:(II)Z
            ifeq 143
       137: .line 1399
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
            ldc 49152
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.remove:(I)V
       138: .line 1403
            goto 143
       139: .line 1406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.target:Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            aload 2 /* opt */
            aload 3 /* oenv */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.optimizeNodeLeft:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
       140: .line 1407
            goto 143
       141: .line 1412
      StackMap locals:
      StackMap stack:
            goto 143
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
       142: .line 1416
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.runtime.regexp.joni.exception.InternalException
            dup
            ldc "internal parser error (bug)"
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.exception.InternalException.<init>:(Ljava/lang/String;)V
            athrow
       143: .line 1418
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment oenv
        end local 2 // jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo opt
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0  144     0   this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0  144     1   node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            0  144     2    opt  Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;
            0  144     3   oenv  Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;
            4   12     4   nenv  Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;
            5   12     5   nopt  Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;
            7   12     6    lin  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
           13   21     4   nopt  Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;
           14   21     5    aln  Ljdk/nashorn/internal/runtime/regexp/joni/ast/ConsAltNode;
           22   41     4     sn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/StringNode;
           23   41     5   slen  I
           31   32     6    max  I
           37   38     6    max  I
           42   55     4     cc  Ljdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode;
           46   53     5      i  I
           48   51     6      z  Z
           58   74     4     an  Ljdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode;
           62   72     5   nopt  Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;
           75   83     4     br  Ljdk/nashorn/internal/runtime/regexp/joni/ast/BackRefNode;
           79   83     5  nodes  [Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
           80   83     6    min  I
           81   83     7    max  I
           84  118     4   nopt  Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;
           85  118     5     qn  Ljdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode;
           98  104     6      i  I
          110  118     6    min  I
          114  115     7    max  I
          116  118     7    max  I
          119  142     4     en  Ljdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode;
          121  125     5   save  I
          127  133     6    min  I
          128  133     7    max  I
    MethodParameters:
      Name  Flags
      node  final
      opt   final
      oenv  final

  protected final void setOptimizedInfoFromTree(jdk.nashorn.internal.runtime.regexp.joni.ast.Node);
    descriptor: (Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
        start local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
         0: .line 1422
            new jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo
            dup
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.<init>:()V
            astore 2 /* opt */
        start local 2 // jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo opt
         1: .line 1423
            new jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment
            dup
            invokespecial jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.<init>:()V
            astore 3 /* oenv */
        start local 3 // jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment oenv
         2: .line 1425
            aload 3 /* oenv */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.options:I
            putfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.options:I
         3: .line 1426
            aload 3 /* oenv */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.caseFoldFlag:I
            putfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.caseFoldFlag:I
         4: .line 1427
            aload 3 /* oenv */
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.env:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
            putfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.scanEnv:Ljdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment;
         5: .line 1428
            aload 3 /* oenv */
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.mmd:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.clear:()V
         6: .line 1430
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* opt */
            aload 3 /* oenv */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Analyser.optimizeNodeLeft:(Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;)V
         7: .line 1432
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.leftAnchor:I
            ldc 49157
            iand
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
         8: .line 1437
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.rightAnchor:I
            bipush 24
            iand
            ior
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
         9: .line 1440
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchor:I
            bipush 24
            iand
            ifeq 12
        10: .line 1441
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            getfield jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.min:I
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchorDmin:I
        11: .line 1442
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            getfield jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.max:I
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.anchorDmax:I
        12: .line 1445
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment
      StackMap stack:
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.length:I
            ifgt 13
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exm:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.length:I
            ifle 21
        13: .line 1446
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exm:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.select:(Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;)V
        14: .line 1447
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.value:I
            ifle 18
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.compare:(Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;)I
            ifle 18
        15: .line 1449
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.setOptimizeMapInfo:(Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;)V
        16: .line 1450
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.setSubAnchor:(Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;)V
        17: .line 1451
            goto 28
        18: .line 1452
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.setExactInfo:(Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;)V
        19: .line 1453
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.exb:Ljdk/nashorn/internal/runtime/regexp/joni/OptExactInfo;
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptExactInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.setSubAnchor:(Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;)V
        20: .line 1455
            goto 28
      StackMap locals:
      StackMap stack:
        21: aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.value:I
            ifle 25
        22: .line 1457
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.setOptimizeMapInfo:(Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;)V
        23: .line 1458
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.map:Ljdk/nashorn/internal/runtime/regexp/joni/OptMapInfo;
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptMapInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.Regex.setSubAnchor:(Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;)V
        24: .line 1459
            goto 28
        25: .line 1460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.leftAnchor:I
            iconst_2
            iand
            ior
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
        26: .line 1461
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.length:Ljdk/nashorn/internal/runtime/regexp/joni/MinMaxLen;
            getfield jdk.nashorn.internal.runtime.regexp.joni.MinMaxLen.max:I
            ifne 28
        27: .line 1462
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.regex:Ljdk/nashorn/internal/runtime/regexp/joni/Regex;
            dup
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
            aload 2 /* opt */
            getfield jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.anchor:Ljdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo;
            getfield jdk.nashorn.internal.runtime.regexp.joni.OptAnchorInfo.rightAnchor:I
            bipush 32
            iand
            ior
            putfield jdk.nashorn.internal.runtime.regexp.joni.Regex.subAnchor:I
        28: .line 1469
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment oenv
        end local 2 // jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo opt
        end local 1 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   29     0  this  Ljdk/nashorn/internal/runtime/regexp/joni/Analyser;
            0   29     1  node  Ljdk/nashorn/internal/runtime/regexp/joni/ast/Node;
            1   29     2   opt  Ljdk/nashorn/internal/runtime/regexp/joni/NodeOptInfo;
            2   29     3  oenv  Ljdk/nashorn/internal/runtime/regexp/joni/OptEnvironment;
    MethodParameters:
      Name  Flags
      node  final
}
SourceFile: "Analyser.java"