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
            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 20
            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 22
        20: .line 106
      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
        21: .line 107
            goto 26
        22: .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;
            getfield jdk.nashorn.internal.runtime.regexp.joni.Regex.btMemStart:I
            ifeq 25
        23: .line 109
            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
        24: .line 110
            goto 26
        25: .line 111
      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
        26: .line 123
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.nashorn.internal.runtime.regexp.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   27     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 126
            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 128
            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 129
            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 130
            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 131
            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 133
      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 137
            iconst_0
            istore 2 /* info */
        start local 2 // int info
         1: .line 139
            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 142
      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 144
      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 145
            iload 4 /* v */
            iload 2 /* info */
            if_icmple 6
         5: .line 146
            iload 4 /* v */
            istore 2 /* info */
        end local 4 // int v
         6: .line 148
      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 149
            goto 18
        end local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode can
         8: .line 152
      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 153
            aload 4 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            ifeq 18
        10: .line 154
            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 156
            goto 18
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        12: .line 159
      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 160
            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 162
      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 166
      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 167
            goto 18
        17: .line 172
      StackMap locals:
      StackMap stack:
            goto 18
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        18: .line 184
      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 188
            iconst_0
            istore 2 /* min */
        start local 2 // int min
         1: .line 190
            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 192
      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 193
            aload 3 /* br */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.isRecursion:()Z
            ifeq 5
         4: .line 194
            goto 46
         5: .line 197
      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 198
            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 200
      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 202
            goto 46
        end local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode br
         9: .line 205
      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 207
      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 208
            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 209
            goto 46
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode can
        13: .line 212
      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 214
      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 215
            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 216
            aload 5 /* y */
            aload 1 /* node */
            if_acmpne 19
        17: .line 217
            iload 7 /* tmin */
            istore 2 /* min */
        18: .line 218
            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 219
            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 221
      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 222
            goto 46
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode y
        23: .line 225
      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 226
            goto 46
        25: .line 229
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* min */
        26: .line 230
            goto 46
        27: .line 234
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* min */
        28: .line 235
            goto 46
        29: .line 238
      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 239
            aload 6 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            ifle 46
        31: .line 240
            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 241
            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 243
            goto 46
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        34: .line 246
      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 247
            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 249
      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 250
            aload 7 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.minLength:I
            istore 2 /* min */
        38: .line 251
            goto 46
        39: .line 252
      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 253
            aload 7 /* en */
            iload 2 /* min */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.minLength:I
        41: .line 254
            aload 7 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setMinFixed:()V
        42: .line 256
            goto 46
        43: .line 260
      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 261
            goto 46
        45: .line 266
      StackMap locals:
      StackMap stack:
            goto 46
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        46: .line 273
      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 277
            iconst_0
            istore 2 /* max */
        start local 2 // int max
         1: .line 279
            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 281
      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 283
      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 284
            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 285
            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 286
            goto 50
        end local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode ln
         7: .line 289
      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 291
      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 292
            iload 2 /* max */
            iload 5 /* tmax */
            if_icmpge 11
        10: .line 293
            iload 5 /* tmax */
            istore 2 /* max */
        end local 5 // int tmax
        11: .line 295
      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 296
            goto 50
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode an
        13: .line 299
      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 300
            goto 50
        15: .line 303
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* max */
        16: .line 304
            goto 50
        17: .line 308
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* max */
        18: .line 309
            goto 50
        19: .line 312
      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 313
            aload 5 /* br */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.isRecursion:()Z
            ifeq 23
        21: .line 314
            ldc 2147483647
            istore 2 /* max */
        22: .line 315
            goto 50
        23: .line 318
      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 319
            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 321
      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 322
            iload 2 /* max */
            iload 6 /* tmax */
            if_icmpge 50
        27: .line 323
            iload 6 /* tmax */
            istore 2 /* max */
        28: .line 325
            goto 50
        end local 6 // int tmax
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode br
        29: .line 328
      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 329
            aload 7 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.upper:I
            ifeq 50
        31: .line 330
            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 331
            iload 2 /* max */
            ifeq 50
        33: .line 332
            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 333
            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 334
            goto 50
        36: .line 335
      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 339
            goto 50
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        38: .line 342
      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 343
            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 345
      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 346
            aload 8 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.maxLength:I
            istore 2 /* max */
        42: .line 347
            goto 50
        43: .line 348
      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 349
            aload 8 /* en */
            iload 2 /* max */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.maxLength:I
        45: .line 350
            aload 8 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setMaxFixed:()V
        46: .line 352
            goto 50
        47: .line 356
      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 357
            goto 50
        49: .line 362
      StackMap locals:
      StackMap stack:
            goto 50
        end local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        50: .line 369
      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 375
            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 379
            iload 2 /* levelp */
            iconst_1
            iadd
            istore 3 /* level */
        start local 3 // int level
         1: .line 381
            iconst_0
            istore 4 /* len */
        start local 4 // int len
         2: .line 382
            aload 0 /* this */
            iconst_0
            putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
         3: .line 384
            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 386
      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 388
      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 389
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
            ifne 8
         7: .line 390
            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 392
      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 393
            goto 56
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode ln
        10: .line 396
      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 397
            iconst_0
            istore 7 /* varLen */
        start local 7 // boolean varLen
        12: .line 399
            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 400
            goto 18
        14: .line 401
      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 402
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
            ifne 18
        16: .line 403
            iload 8 /* tlen */
            iload 9 /* tlen2 */
            if_icmpeq 18
        17: .line 404
            iconst_1
            istore 7 /* varLen */
        end local 9 // int tlen2
        18: .line 400
      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 409
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
            ifne 56
        20: .line 410
            iload 7 /* varLen */
            ifeq 26
        21: .line 411
            iload 3 /* level */
            iconst_1
            if_icmpne 24
        22: .line 412
            aload 0 /* this */
            bipush -2
            putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
        23: .line 413
            goto 56
        24: .line 414
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
        25: .line 416
            goto 56
        26: .line 417
      StackMap locals:
      StackMap stack:
            iload 8 /* tlen */
            istore 4 /* len */
        27: .line 420
            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 423
      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 424
            aload 9 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            istore 4 /* len */
        30: .line 425
            goto 56
        end local 9 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        31: .line 428
      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 429
            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 430
            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 431
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
            ifne 56
        35: .line 432
            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 434
            goto 56
        end local 8 // int tlen
        37: .line 435
      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 437
            goto 56
        end local 10 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        39: .line 442
      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 443
            goto 56
        41: .line 446
      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 447
            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 449
      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 450
            aload 11 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.charLength:I
            istore 4 /* len */
        45: .line 451
            goto 56
        46: .line 452
      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 453
            aload 0 /* this */
            getfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
            ifne 56
        48: .line 454
            aload 11 /* en */
            iload 4 /* len */
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.charLength:I
        49: .line 455
            aload 11 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setCLenFixed:()V
        50: .line 458
            goto 56
        51: .line 462
      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 463
            goto 56
        53: .line 468
      StackMap locals:
      StackMap stack:
            goto 56
        end local 11 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        54: .line 471
      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 474
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.returnCode:I
        56: .line 476
      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 481
            aload 0 /* xn */
            astore 2 /* x */
        start local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node x
         1: .line 482
            aload 1 /* yn */
            astore 3 /* y */
        start local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node y
         2: .line 488
      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 490
            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 492
      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 496
      StackMap locals:
      StackMap stack:
            aload 2 /* x */
            astore 4 /* tmp */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node tmp
         6: .line 497
            aload 3 /* y */
            astore 2 /* x */
         7: .line 498
            aload 4 /* tmp */
            astore 3 /* y */
         8: .line 500
            goto 2
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node tmp
         9: .line 504
      StackMap locals:
      StackMap stack:
            aload 2 /* x */
            astore 4 /* tmp */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node tmp
        10: .line 505
            aload 3 /* y */
            astore 2 /* x */
        11: .line 506
            aload 4 /* tmp */
            astore 3 /* y */
        12: .line 507
            goto 2
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node tmp
        13: .line 512
      StackMap locals:
      StackMap stack:
            goto 62
        14: .line 515
      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 517
            iload 5 /* yType */
            tableswitch { // 0 - 1
                    0: 32
                    1: 16
              default: 36
          }
        16: .line 520
      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 522
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        18: goto 27
        19: .line 523
      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 524
            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 525
      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 526
            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 527
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 9 // boolean v
        26: .line 522
      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 531
            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 532
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        31: .line 534
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode yc
        32: .line 539
      StackMap locals:
      StackMap stack:
            aload 2 /* x */
            astore 4 /* tmp */
        start local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node tmp
        33: .line 540
            aload 3 /* y */
            astore 2 /* x */
        34: .line 541
            aload 4 /* tmp */
            astore 3 /* y */
        35: .line 542
            goto 2
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node tmp
        36: .line 548
      StackMap locals:
      StackMap stack:
            goto 62
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode xc
        37: .line 551
      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 552
            aload 7 /* xs */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            ifne 40
        39: .line 553
            goto 62
        40: .line 556
      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 559
      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 560
            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 561
            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 564
      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 565
            aload 7 /* xs */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            istore 11 /* len */
        start local 11 // int len
        48: .line 566
            iload 11 /* len */
            aload 10 /* ys */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            if_icmple 50
        49: .line 567
            aload 10 /* ys */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            istore 11 /* len */
        50: .line 569
      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 571
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        52: .line 573
      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 574
      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 575
            iconst_1
            ireturn
        58: .line 573
      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 578
            goto 62
        end local 11 // int len
        end local 10 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode ys
        61: .line 584
      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 592
      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 596
            aconst_null
            astore 3 /* n */
        start local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node n
         1: .line 598
            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 602
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node
      StackMap stack:
            goto 35
         3: .line 606
      StackMap locals:
      StackMap stack:
            iload 2 /* exact */
            ifne 35
         4: .line 607
            aload 1 /* node */
            astore 3 /* n */
         5: .line 609
            goto 35
         6: .line 612
      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 613
            goto 35
         8: .line 616
      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 617
            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 619
            goto 35
        11: .line 622
      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 625
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            astore 3 /* n */
        13: .line 627
            goto 35
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        14: .line 630
      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 631
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            ifle 35
        16: .line 632
            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 633
            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 634
            goto 35
        19: .line 635
      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 638
            goto 35
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode qn
        21: .line 641
      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 643
            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 645
      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 646
            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 647
            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 648
            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 649
            goto 35
        end local 7 // int options
        28: .line 653
      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 654
            goto 35
        30: .line 659
      StackMap locals:
      StackMap stack:
            goto 35
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        31: .line 662
      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 663
            aload 7 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
            sipush 1024
            if_icmpne 35
        33: .line 664
            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 666
            goto 35
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode an
        35: .line 672
      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 677
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType2Bit:()I
            iload 2 /* typeMask */
            iand
            ifne 2
         1: .line 678
            iconst_1
            ireturn
         2: .line 681
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* invalid */
        start local 5 // boolean invalid
         3: .line 683
            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 686
      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 688
      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 689
            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 690
            goto 21
        end local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode can
         8: .line 693
      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 694
            goto 21
        10: .line 697
      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 698
            aload 7 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.type:I
            iload 3 /* encloseMask */
            iand
            ifne 13
        12: .line 699
            iconst_1
            ireturn
        13: .line 701
      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 702
            goto 21
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        15: .line 705
      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 706
            aload 8 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
            iload 4 /* anchorMask */
            iand
            ifne 18
        17: .line 707
            iconst_1
            ireturn
        18: .line 710
      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 711
            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 713
            goto 21
        end local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode an
        21: .line 720
      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 728
            aload 1 /* nodep */
            astore 2 /* node */
        start local 2 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
         1: .line 729
            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 730
            aload 3 /* an */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode.type:I
            istore 4 /* anchorType */
        start local 4 // int anchorType
         3: .line 731
            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 732
            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 734
            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 736
            aload 2 /* node */
            astore 7 /* tmp */
        start local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node tmp
         7: .line 737
            aload 5 /* head */
            astore 2 /* node */
         8: .line 738
            aload 7 /* tmp */
            astore 5 /* head */
         9: .line 740
            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 741
            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 742
            aload 2 /* node */
            astore 6 /* np */
        12: .line 744
            goto 16
        13: .line 745
      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 746
            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 747
            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 744
      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 750
            iload 4 /* anchorType */
            sipush 8192
            if_icmpne 21
        18: .line 751
            aload 2 /* node */
            astore 6 /* np */
        19: .line 753
      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 754
            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 757
      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 761
            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 762
            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 763
            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 765
      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 766
            goto 9
         5: .line 768
      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 770
      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 771
            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 773
      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 777
      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 781
            aload 1 /* nodep */
            astore 3 /* node */
        start local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
         1: .line 786
      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 787
            iload 4 /* type */
            iconst_5
            if_icmpne 19
         3: .line 788
            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 789
            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 791
            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 793
            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 794
            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 798
      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 799
            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 800
            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 801
            aload 6 /* x */
            ifnull 24
        12: .line 802
            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 803
            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 804
            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 805
            aload 8 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.setStopBtSimpleRepeat:()V
        16: .line 807
            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 809
            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 815
            goto 24
      StackMap locals:
      StackMap stack:
        19: iload 4 /* type */
            bipush 6
            if_icmpne 24
        20: .line 816
            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 817
            aload 5 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isMemory:()Z
            ifeq 24
        22: .line 818
            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 784
            goto 1
        24: .line 826
      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 829
            aload 1 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.chars:[C
            astore 2 /* ch */
        start local 2 // char[] ch
         1: .line 830
            aload 1 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            istore 3 /* end */
        start local 3 // int end
         2: .line 831
            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 832
            iconst_0
            istore 4 /* sp */
        start local 4 // int sp
         4: .line 835
            goto 22
         5: .line 836
      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 837
            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 839
            aload 2 /* ch */
            iload 6 /* ovalue */
            caload
            iload 5 /* buf */
            if_icmpeq 21
         8: .line 841
            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 842
            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 843
            aload 0 /* this */
            iload 6 /* ovalue */
            putfield jdk.nashorn.internal.runtime.regexp.joni.Analyser.value:I
        11: .line 844
            goto 18
        12: .line 845
      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 846
            iload 4 /* sp */
            aload 7 /* sbuf */
            arraylength
            if_icmplt 17
        14: .line 847
            aload 7 /* sbuf */
            arraylength
            iconst_1
            ishl
            newarray 5
            astore 8 /* tmp */
        start local 8 // char[] tmp
        15: .line 848
            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 849
            aload 8 /* tmp */
            astore 7 /* sbuf */
        end local 8 // char[] tmp
        17: .line 851
      StackMap locals:
      StackMap stack:
            aload 7 /* sbuf */
            iload 4 /* sp */
            iinc 4 /* sp */ 1
            iload 5 /* buf */
            castore
        18: .line 844
      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 853
            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 854
            return
        end local 7 // char[] sbuf
        21: .line 856
      StackMap locals:
      StackMap stack:
            iinc 4 /* sp */ 1
        end local 6 // int ovalue
        end local 5 // char buf
        22: .line 835
      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 858
            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 861
            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 862
            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 863
            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 866
            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 868
            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 869
            aload 4 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.setAmbig:()V
         3: .line 870
            aload 4 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.setDontGetOptInfo:()V
         4: .line 871
            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 878
            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 880
            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 881
            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 883
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         5: goto 13
         6: .line 884
      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 886
            aload 8 /* snode */
            aload 1 /* items */
            iload 9 /* i */
            caload
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.catCode:(I)V
         8: .line 888
            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 889
            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 890
            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 891
            aload 10 /* an */
            astore 7 /* altNode */
        end local 10 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode an
        12: .line 883
            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 893
            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 898
            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 900
            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 901
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode
      StackMap stack:
            aload 1 /* node */
            areturn
         3: .line 904
      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 905
            aload 2 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.p:I
            istore 4 /* pt */
        start local 4 // int pt
         5: .line 906
            aload 2 /* sn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.end:I
            istore 5 /* end */
        start local 5 // int end
         6: .line 907
            iconst_1
            istore 6 /* altNum */
        start local 6 // int altNum
         7: .line 909
            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 911
            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 912
            aconst_null
            astore 10 /* stringNode */
        start local 10 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode stringNode
        11: .line 914
            goto 32
        12: .line 915
      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 917
            aload 11 /* items */
            arraylength
            ifne 22
        14: .line 918
            aload 10 /* stringNode */
            ifnonnull 20
        15: .line 919
            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 920
            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 923
      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 925
            aload 8 /* r */
            ifnull 20
        19: .line 926
            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 931
      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 932
            goto 31
        22: .line 933
      StackMap locals:
      StackMap stack:
            iload 6 /* altNum */
            aload 11 /* items */
            arraylength
            iconst_1
            iadd
            imul
            istore 6 /* altNum */
        23: .line 934
            iload 6 /* altNum */
            bipush 8
            if_icmple 25
        24: .line 935
            goto 33
        25: .line 938
      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 939
            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 942
      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 943
            aload 8 /* r */
            ifnull 30
        29: .line 944
            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 946
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 10 /* stringNode */
        31: .line 948
      StackMap locals:
      StackMap stack:
            iinc 4 /* pt */ 1
        end local 11 // char[] items
        32: .line 914
      StackMap locals:
      StackMap stack:
            iload 4 /* pt */
            iload 5 /* end */
            if_icmplt 12
        33: .line 951
      StackMap locals:
      StackMap stack:
            iload 4 /* pt */
            iload 5 /* end */
            if_icmpge 41
        34: .line 952
            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 954
            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 955
            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 958
      StackMap locals: jdk.nashorn.internal.runtime.regexp.joni.ast.Node
      StackMap stack:
            aload 8 /* r */
            ifnonnull 40
        38: .line 959
            aload 9 /* prevNode */
            aload 11 /* srem */
            putfield jdk.nashorn.internal.runtime.regexp.joni.encoding.ObjPtr.p:Ljava/lang/Object;
        39: .line 960
            goto 41
        40: .line 961
      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 965
      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 967
            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 968
            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 986
            aload 1 /* nodep */
            astore 3 /* node */
        start local 3 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node node
         1: .line 987
            iload 2 /* statep */
            istore 4 /* state */
        start local 4 // int state
         2: .line 990
      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 992
      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 993
            aconst_null
            astore 6 /* prev */
        start local 6 // jdk.nashorn.internal.runtime.regexp.joni.ast.Node prev
         5: .line 995
      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 996
            aload 6 /* prev */
            ifnull 8
         7: .line 997
            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 999
      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 1000
            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 1001
            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 1004
      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 1006
      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 1007
            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 1008
            goto 105
        end local 7 // jdk.nashorn.internal.runtime.regexp.joni.ast.ConsAltNode aln
        15: .line 1011
      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 1014
      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 1015
            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 1017
            goto 105
        19: .line 1021
      StackMap locals:
      StackMap stack:
            goto 105
        20: .line 1024
      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 1025
            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 1026
            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 1028
      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 1029
            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 1030
            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 1031
            goto 105
        end local 8 // jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode br
        27: .line 1034
      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 1035
            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 1037
            iload 4 /* state */
            iconst_4
            iand
            ifeq 31
        30: .line 1038
            aload 9 /* qn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.setInRepeat:()V
        31: .line 1041
      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 1042
      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 1043
            iload 11 /* d */
            ifne 38
        34: .line 1044
            aload 9 /* qn */
            iconst_1
            putfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.targetEmptyInfo:I
        35: .line 1046
            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 1047
            iload 12 /* info */
            ifle 38
        37: .line 1048
            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 1055
      StackMap locals:
      StackMap stack:
            iload 4 /* state */
            iconst_4
            ior
            istore 4 /* state */
        39: .line 1056
            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 1057
            iload 4 /* state */
            bipush 8
            ior
            istore 4 /* state */
        41: .line 1060
      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 1063
            aload 10 /* target */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            ifne 56
        43: .line 1064
            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 1065
            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 1066
            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 1067
            aload 11 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            istore 12 /* len */
        start local 12 // int len
        47: .line 1069
            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 1070
            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 1071
            aload 9 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            istore 14 /* n */
        start local 14 // int n
        50: .line 1072
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        51: goto 54
        52: .line 1073
      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 1072
            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 1075
            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 1081
      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 1082
            aload 10 /* target */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            iconst_5
            if_icmpne 63
        58: .line 1083
            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 1084
            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 1085
            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 1086
            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 1088
            goto 105
        63: .line 1089
      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 1093
            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 1096
      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 1097
            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 1099
      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 1100
            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 1101
            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 1102
            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 1103
            goto 105
        end local 12 // int options
        72: .line 1106
      StackMap locals:
      StackMap stack:
            iload 4 /* state */
            bipush 11
            iand
            ifeq 74
        73: .line 1107
            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 1111
      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 1112
            goto 105
        76: .line 1115
      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 1116
            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 1117
            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 1118
            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 1120
            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 1121
            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 1125
            goto 105
        83: .line 1131
      StackMap locals:
      StackMap stack:
            goto 105
        end local 11 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
        84: .line 1134
      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 1135
            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 1137
      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 1138
            goto 105
        88: .line 1141
      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 1142
            goto 105
        90: .line 1145
      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 1146
            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 1148
      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 1149
            aload 3 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            bipush 7
            if_icmpeq 95
        94: .line 1150
            goto 2
        95: .line 1152
      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 1153
            goto 105
        97: .line 1156
      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 1157
            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 1159
      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 1160
            aload 3 /* node */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.Node.getType:()I
            bipush 7
            if_icmpeq 102
       101: .line 1161
            goto 2
       102: .line 1163
      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 1164
            goto 105
       104: .line 1170
      StackMap locals:
      StackMap stack:
            goto 105
        end local 12 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode an
       105: .line 1174
      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 1180
            aload 2 /* opt */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo.clear:()V
         1: .line 1181
            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 1183
            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 1185
      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 1186
            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 1187
            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 1188
            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 1190
      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 1191
            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 1192
            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 1193
            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 1194
            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 1198
      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 1199
            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 1201
      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 1202
            aload 5 /* aln */
            aload 1 /* node */
            if_acmpne 18
        16: .line 1203
            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 1204
            goto 19
        18: .line 1205
      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 1207
      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 1208
            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 1212
      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 1214
            aload 4 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            istore 5 /* slen */
        start local 5 // int slen
        23: .line 1216
            aload 4 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isAmbig:()Z
            ifne 29
        24: .line 1217
            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 1219
            iload 5 /* slen */
            ifle 27
        26: .line 1220
            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 1223
      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 1224
            goto 38
        29: .line 1226
      StackMap locals:
      StackMap stack:
            aload 4 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.isDontGetOptInfo:()Z
            ifeq 32
        30: .line 1227
            aload 4 /* sn */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode.length:()I
            istore 6 /* max */
        start local 6 // int max
        31: .line 1228
            goto 37
        end local 6 // int max
        32: .line 1229
      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 1230
            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 1232
            iload 5 /* slen */
            ifle 36
        35: .line 1233
            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 1236
      StackMap locals:
      StackMap stack:
            iload 5 /* slen */
            istore 6 /* max */
        start local 6 // int max
        37: .line 1238
      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 1241
      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 1242
            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 1244
            goto 143
        end local 5 // int slen
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.StringNode sn
        41: .line 1248
      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 1250
            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 1251
      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 1252
            goto 143
        45: .line 1253
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        46: goto 52
        47: .line 1254
      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 1255
            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 1256
      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 1253
      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 1259
            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 1261
            goto 143
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.CClassNode cc
        55: .line 1265
      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 1266
            goto 143
        57: .line 1270
      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 1271
            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 1278
      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 1279
            goto 143
        61: .line 1282
      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 1283
            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 1284
            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 1285
            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 1286
            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 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.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 1289
      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 1290
            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 1291
            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 1293
            goto 143
        end local 5 // jdk.nashorn.internal.runtime.regexp.joni.NodeOptInfo nopt
        72: .line 1298
      StackMap locals:
      StackMap stack:
            goto 143
        73: .line 1304
      StackMap locals:
      StackMap stack:
            goto 143
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.AnchorNode an
        74: .line 1308
      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 1310
            aload 4 /* br */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.BackRefNode.isRecursion:()Z
            ifeq 78
        76: .line 1311
            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 1312
            goto 143
        78: .line 1315
      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 1317
            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 1318
            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 1320
            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 1321
            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 1326
      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 1327
            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 1328
            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 1329
            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 1330
            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 1331
            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 1332
            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 1333
            goto 109
        91: .line 1334
      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 1337
            goto 109
        93: .line 1338
      StackMap locals:
      StackMap stack:
            aload 5 /* qn */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.QuantifierNode.lower:I
            ifle 109
        94: .line 1339
            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 1340
            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 1341
            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 1343
            iconst_2
            istore 6 /* i */
        start local 6 // int i
        98: goto 101
        99: .line 1344
      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 1343
            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 1346
      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 1347
            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 1351
      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 1352
            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 1353
            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 1355
      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 1356
            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 1361
      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 1363
            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 1364
            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 1365
            goto 116
        end local 7 // int max
       115: .line 1366
      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 1368
      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 1369
            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 1373
      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 1374
            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 1376
      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 1377
            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 1378
            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 1379
            aload 3 /* oenv */
            iload 5 /* save */
            putfield jdk.nashorn.internal.runtime.regexp.joni.OptEnvironment.options:I
       124: .line 1380
            goto 143
        end local 5 // int save
       125: .line 1383
      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 1384
            iconst_0
            istore 6 /* min */
        start local 6 // int min
       127: .line 1385
            ldc 2147483647
            istore 7 /* max */
        start local 7 // int max
       128: .line 1386
            aload 4 /* en */
            invokevirtual jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.isMinFixed:()Z
            ifeq 130
       129: .line 1387
            aload 4 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.minLength:I
            istore 6 /* min */
       130: .line 1389
      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 1390
            aload 4 /* en */
            getfield jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode.maxLength:I
            istore 7 /* max */
       132: .line 1392
      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 1393
            goto 143
       134: .line 1394
      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 1395
            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 1396
            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 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.remove:(I)V
       138: .line 1401
            goto 143
       139: .line 1404
      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 1405
            goto 143
       141: .line 1410
      StackMap locals:
      StackMap stack:
            goto 143
        end local 4 // jdk.nashorn.internal.runtime.regexp.joni.ast.EncloseNode en
       142: .line 1414
      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 1416
      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 1420
            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 1421
            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 1423
            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 1424
            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 1425
            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 1426
            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 1428
            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 1430
            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 1435
            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 1438
            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 1439
            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 1440
            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 1443
      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 1444
      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 1445
            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 1447
            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 1448
            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 1449
            goto 28
        18: .line 1450
      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 1451
            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 1453
            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 1455
            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 1456
            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 1457
            goto 28
        25: .line 1458
      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 1459
            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 1460
            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 1467
      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"