final class org.joni.Analyser extends org.joni.Parser
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.joni.Analyser
  super_class: org.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 RECURSION_EXIST;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

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

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

  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 CEC_THRES_NUM_BIG_REPEAT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 512

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

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

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

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

  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 IN_CALL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

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

  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>(org.joni.Regex, org.joni.Syntax, byte[], int, int, org.joni.WarnCallback);
    descriptor: (Lorg/joni/Regex;Lorg/joni/Syntax;[BIILorg/joni/WarnCallback;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.Regex regex
        start local 2 // org.joni.Syntax syntax
        start local 3 // byte[] bytes
        start local 4 // int p
        start local 5 // int end
        start local 6 // org.joni.WarnCallback warnings
         0: .line 60
            aload 0 /* this */
            aload 1 /* regex */
            aload 2 /* syntax */
            aload 3 /* bytes */
            iload 4 /* p */
            iload 5 /* end */
            aload 6 /* warnings */
            invokespecial org.joni.Parser.<init>:(Lorg/joni/Regex;Lorg/joni/Syntax;[BIILorg/joni/WarnCallback;)V
         1: .line 61
            return
        end local 6 // org.joni.WarnCallback warnings
        end local 5 // int end
        end local 4 // int p
        end local 3 // byte[] bytes
        end local 2 // org.joni.Syntax syntax
        end local 1 // org.joni.Regex regex
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/joni/Analyser;
            0    2     1     regex  Lorg/joni/Regex;
            0    2     2    syntax  Lorg/joni/Syntax;
            0    2     3     bytes  [B
            0    2     4         p  I
            0    2     5       end  I
            0    2     6  warnings  Lorg/joni/WarnCallback;
    MethodParameters:
          Name  Flags
      regex     
      syntax    
      bytes     
      p         
      end       
      warnings  

  protected final void compile();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.joni.Analyser this
         0: .line 65
            aload 0 /* this */
            invokevirtual org.joni.Analyser.reset:()V
         1: .line 67
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            iconst_0
            putfield org.joni.Regex.numMem:I
         2: .line 68
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            iconst_0
            putfield org.joni.Regex.numRepeat:I
         3: .line 69
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            iconst_0
            putfield org.joni.Regex.numNullCheck:I
         4: .line 71
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aconst_null
            putfield org.joni.Regex.repeatRangeLo:[I
         5: .line 72
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aconst_null
            putfield org.joni.Regex.repeatRangeHi:[I
         6: .line 73
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            iconst_0
            putfield org.joni.Regex.numCombExpCheck:I
         7: .line 78
            aload 0 /* this */
            invokevirtual org.joni.Analyser.parseRegexp:()Lorg/joni/ast/Node;
            astore 1 /* root */
        start local 1 // org.joni.ast.Node root
         8: .line 79
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numMem:I
            putfield org.joni.Regex.numMem:I
         9: .line 83
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numNamed:I
            ifle 14
            aload 0 /* this */
            getfield org.joni.Analyser.syntax:Lorg/joni/Syntax;
            invokevirtual org.joni.Syntax.captureOnlyNamedGroup:()Z
            ifeq 14
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            getfield org.joni.Regex.options:I
            invokestatic org.joni.Option.isCaptureGroup:(I)Z
            ifne 14
        10: .line 84
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numNamed:I
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numMem:I
            if_icmpeq 13
        11: .line 85
            aload 0 /* this */
            aload 1 /* root */
            invokevirtual org.joni.Analyser.disableNoNameGroupCapture:(Lorg/joni/ast/Node;)Lorg/joni/ast/Node;
            astore 1 /* root */
        12: .line 86
            goto 14
        13: .line 87
      StackMap locals: org.joni.ast.Node
      StackMap stack:
            aload 0 /* this */
            aload 1 /* root */
            invokevirtual org.joni.Analyser.numberedRefCheck:(Lorg/joni/ast/Node;)V
        14: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numCall:I
            ifle 21
        15: .line 94
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            new org.joni.UnsetAddrList
            dup
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numCall:I
            invokespecial org.joni.UnsetAddrList.<init>:(I)V
            putfield org.joni.ScanEnvironment.unsetAddrList:Lorg/joni/UnsetAddrList;
        16: .line 95
            aload 0 /* this */
            aload 1 /* root */
            invokevirtual org.joni.Analyser.setupSubExpCall:(Lorg/joni/ast/Node;)V
        17: .line 97
            aload 0 /* this */
            aload 1 /* root */
            invokevirtual org.joni.Analyser.subexpRecursiveCheckTrav:(Lorg/joni/ast/Node;)I
            pop
        18: .line 99
            aload 0 /* this */
            aload 1 /* root */
            invokevirtual org.joni.Analyser.subexpInfRecursiveCheckTrav:(Lorg/joni/ast/Node;)I
            pop
        19: .line 101
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numCall:I
            putfield org.joni.Regex.numCall:I
        20: .line 102
            goto 22
        21: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            iconst_0
            putfield org.joni.Regex.numCall:I
        22: .line 109
      StackMap locals:
      StackMap stack:
            aload 1 /* root */
            invokestatic org.joni.ast.Node.newTop:(Lorg/joni/ast/Node;)Lorg/joni/ast/Node$TopNode;
            astore 2 /* top */
        start local 2 // org.joni.ast.Node$TopNode top
        23: .line 110
            aload 0 /* this */
            aload 1 /* root */
            iconst_0
            invokevirtual org.joni.Analyser.setupTree:(Lorg/joni/ast/Node;I)Lorg/joni/ast/Node;
            pop
        24: .line 111
            aload 2 /* top */
            invokevirtual org.joni.ast.Node$TopNode.getRoot:()Lorg/joni/ast/Node;
            astore 1 /* root */
        25: .line 115
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.captureHistory:I
            putfield org.joni.Regex.captureHistory:I
        26: .line 116
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.btMemStart:I
            putfield org.joni.Regex.btMemStart:I
        27: .line 117
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.btMemEnd:I
            putfield org.joni.Regex.btMemEnd:I
        28: .line 119
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            getfield org.joni.Regex.options:I
            invokestatic org.joni.Option.isFindCondition:(I)Z
            ifeq 31
        29: .line 120
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            invokestatic org.joni.BitStatus.bsAll:()I
            putfield org.joni.Regex.btMemEnd:I
        30: .line 121
            goto 33
        31: .line 122
      StackMap locals: org.joni.ast.Node$TopNode
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.btMemEnd:I
            putfield org.joni.Regex.btMemEnd:I
        32: .line 123
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            dup
            getfield org.joni.Regex.btMemEnd:I
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            getfield org.joni.Regex.captureHistory:I
            ior
            putfield org.joni.Regex.btMemEnd:I
        33: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            invokevirtual org.joni.Regex.clearOptimizeInfo:()V
        34: .line 149
            aload 0 /* this */
            aload 1 /* root */
            invokevirtual org.joni.Analyser.setOptimizedInfoFromTree:(Lorg/joni/ast/Node;)V
        35: .line 151
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            aconst_null
            putfield org.joni.ScanEnvironment.memNodes:[Lorg/joni/ast/EncloseNode;
        36: .line 153
            new org.joni.ArrayCompiler
            dup
            aload 0 /* this */
            invokespecial org.joni.ArrayCompiler.<init>:(Lorg/joni/Analyser;)V
            aload 1 /* root */
            invokevirtual org.joni.ArrayCompiler.compile:(Lorg/joni/ast/Node;)V
        37: .line 155
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            getfield org.joni.Regex.numRepeat:I
            ifne 38
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            getfield org.joni.Regex.btMemEnd:I
            ifeq 40
        38: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            iconst_2
            putfield org.joni.Regex.stackPopLevel:I
        39: .line 157
            goto 44
        40: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            getfield org.joni.Regex.btMemStart:I
            ifeq 43
        41: .line 159
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            iconst_1
            putfield org.joni.Regex.stackPopLevel:I
        42: .line 160
            goto 44
        43: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            iconst_0
            putfield org.joni.Regex.stackPopLevel:I
        44: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            dup
            getfield org.joni.Regex.options:I
            aload 0 /* this */
            getfield org.joni.Analyser.syntax:Lorg/joni/Syntax;
            getfield org.joni.Syntax.options:I
            iconst_m1
            ixor
            iand
            putfield org.joni.Regex.options:I
        45: .line 173
            return
        end local 2 // org.joni.ast.Node$TopNode top
        end local 1 // org.joni.ast.Node root
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   46     0  this  Lorg/joni/Analyser;
            8   46     1  root  Lorg/joni/ast/Node;
           23   46     2   top  Lorg/joni/ast/Node$TopNode;

  private java.lang.String encStringToString(byte[], int, int);
    descriptor: ([BII)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // org.joni.Analyser this
        start local 1 // byte[] bytes
        start local 2 // int p
        start local 3 // int end
         0: .line 176
            new java.lang.StringBuilder
            dup
            ldc "\nPATTERN: /"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
         1: .line 178
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.minLength:()I
            iconst_1
            if_icmple 17
         2: .line 179
            iload 2 /* p */
            istore 5 /* p_ */
        start local 5 // int p_
         3: .line 180
            goto 13
         4: .line 181
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            aload 1 /* bytes */
            iload 5 /* p_ */
            iload 3 /* end */
            invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
            istore 6 /* code */
        start local 6 // int code
         5: .line 182
            iload 6 /* code */
            sipush 128
            if_icmplt 11
         6: .line 184
            aload 4 /* sb */
            ldc " 0x%04x "
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 6 /* code */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 185
            goto 12
      StackMap locals: org.joni.Analyser byte[] int int java.lang.StringBuilder int int
      StackMap stack: java.util.IllegalFormatConversionException
         8: pop
         9: .line 186
            aload 4 /* sb */
            iload 6 /* code */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        10: .line 188
            goto 12
        11: .line 189
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            iload 6 /* code */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        12: .line 191
      StackMap locals:
      StackMap stack:
            iload 5 /* p_ */
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            aload 1 /* bytes */
            iload 5 /* p_ */
            iload 3 /* end */
            invokevirtual org.jcodings.Encoding.length:([BII)I
            iadd
            istore 5 /* p_ */
        end local 6 // int code
        13: .line 180
      StackMap locals:
      StackMap stack:
            iload 5 /* p_ */
            iload 3 /* end */
            if_icmplt 4
        end local 5 // int p_
        14: .line 193
            goto 18
        15: .line 195
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            new java.lang.String
            dup
            aload 1 /* bytes */
            iload 2 /* p */
            iconst_1
            invokespecial java.lang.String.<init>:([BII)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 196
            iinc 2 /* p */ 1
        17: .line 194
      StackMap locals:
      StackMap stack:
            iload 2 /* p */
            iload 3 /* end */
            if_icmplt 15
        18: .line 199
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder sb
        end local 3 // int end
        end local 2 // int p
        end local 1 // byte[] bytes
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   19     0   this  Lorg/joni/Analyser;
            0   19     1  bytes  [B
            0   19     2      p  I
            0   19     3    end  I
            1   19     4     sb  Ljava/lang/StringBuilder;
            3   14     5     p_  I
            5   13     6   code  I
      Exception table:
        from    to  target  type
           6     7       8  Class java.util.IllegalFormatConversionException
    MethodParameters:
       Name  Flags
      bytes  
      p      
      end    

  private void noNameDisableMapFor_listAlt(org.joni.ast.Node, int[], org.jcodings.Ptr);
    descriptor: (Lorg/joni/ast/Node;[ILorg/jcodings/Ptr;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
        start local 2 // int[] map
        start local 3 // org.jcodings.Ptr counter
         0: .line 203
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 4 /* can */
        start local 4 // org.joni.ast.ListNode can
         1: .line 205
      StackMap locals: org.joni.ast.ListNode
      StackMap stack:
            aload 4 /* can */
            aload 0 /* this */
            aload 4 /* can */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            aload 2 /* map */
            aload 3 /* counter */
            invokevirtual org.joni.Analyser.noNameDisableMap:(Lorg/joni/ast/Node;[ILorg/jcodings/Ptr;)Lorg/joni/ast/Node;
            invokevirtual org.joni.ast.ListNode.setValue:(Lorg/joni/ast/Node;)V
         2: .line 206
            aload 4 /* can */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 4 /* can */
            ifnonnull 1
         3: .line 207
            return
        end local 4 // org.joni.ast.ListNode can
        end local 3 // org.jcodings.Ptr counter
        end local 2 // int[] map
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/joni/Analyser;
            0    4     1     node  Lorg/joni/ast/Node;
            0    4     2      map  [I
            0    4     3  counter  Lorg/jcodings/Ptr;
            1    4     4      can  Lorg/joni/ast/ListNode;
    MethodParameters:
         Name  Flags
      node     
      map      
      counter  

  private void noNameDisableMapFor_quantifier(org.joni.ast.Node, int[], org.jcodings.Ptr);
    descriptor: (Lorg/joni/ast/Node;[ILorg/jcodings/Ptr;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
        start local 2 // int[] map
        start local 3 // org.jcodings.Ptr counter
         0: .line 210
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            astore 4 /* qn */
        start local 4 // org.joni.ast.QuantifierNode qn
         1: .line 211
            aload 4 /* qn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            astore 5 /* target */
        start local 5 // org.joni.ast.Node target
         2: .line 212
            aload 5 /* target */
            astore 6 /* old */
        start local 6 // org.joni.ast.Node old
         3: .line 213
            aload 0 /* this */
            aload 5 /* target */
            aload 2 /* map */
            aload 3 /* counter */
            invokevirtual org.joni.Analyser.noNameDisableMap:(Lorg/joni/ast/Node;[ILorg/jcodings/Ptr;)Lorg/joni/ast/Node;
            astore 5 /* target */
         4: .line 215
            aload 5 /* target */
            aload 6 /* old */
            if_acmpeq 7
         5: .line 216
            aload 4 /* qn */
            aload 5 /* target */
            invokevirtual org.joni.ast.QuantifierNode.setTarget:(Lorg/joni/ast/Node;)V
         6: .line 217
            aload 5 /* target */
            invokevirtual org.joni.ast.Node.getType:()I
            iconst_5
            if_icmpne 7
            aload 4 /* qn */
            aload 5 /* target */
            checkcast org.joni.ast.QuantifierNode
            invokevirtual org.joni.ast.QuantifierNode.reduceNestedQuantifier:(Lorg/joni/ast/QuantifierNode;)V
         7: .line 219
      StackMap locals: org.joni.ast.QuantifierNode org.joni.ast.Node org.joni.ast.Node
      StackMap stack:
            return
        end local 6 // org.joni.ast.Node old
        end local 5 // org.joni.ast.Node target
        end local 4 // org.joni.ast.QuantifierNode qn
        end local 3 // org.jcodings.Ptr counter
        end local 2 // int[] map
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/joni/Analyser;
            0    8     1     node  Lorg/joni/ast/Node;
            0    8     2      map  [I
            0    8     3  counter  Lorg/jcodings/Ptr;
            1    8     4       qn  Lorg/joni/ast/QuantifierNode;
            2    8     5   target  Lorg/joni/ast/Node;
            3    8     6      old  Lorg/joni/ast/Node;
    MethodParameters:
         Name  Flags
      node     
      map      
      counter  

  private org.joni.ast.Node noNameDisableMapFor_enclose(org.joni.ast.Node, int[], org.jcodings.Ptr);
    descriptor: (Lorg/joni/ast/Node;[ILorg/jcodings/Ptr;)Lorg/joni/ast/Node;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
        start local 2 // int[] map
        start local 3 // org.jcodings.Ptr counter
         0: .line 222
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            astore 4 /* en */
        start local 4 // org.joni.ast.EncloseNode en
         1: .line 223
            aload 4 /* en */
            getfield org.joni.ast.EncloseNode.type:I
            iconst_1
            if_icmpne 12
         2: .line 224
            aload 4 /* en */
            invokevirtual org.joni.ast.EncloseNode.isNamedGroup:()Z
            ifeq 8
         3: .line 225
            aload 3 /* counter */
            dup
            getfield org.jcodings.Ptr.p:I
            iconst_1
            iadd
            putfield org.jcodings.Ptr.p:I
         4: .line 226
            aload 2 /* map */
            aload 4 /* en */
            getfield org.joni.ast.EncloseNode.regNum:I
            aload 3 /* counter */
            getfield org.jcodings.Ptr.p:I
            iastore
         5: .line 227
            aload 4 /* en */
            aload 3 /* counter */
            getfield org.jcodings.Ptr.p:I
            putfield org.joni.ast.EncloseNode.regNum:I
         6: .line 228
            aload 4 /* en */
            aload 0 /* this */
            aload 4 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            aload 2 /* map */
            aload 3 /* counter */
            invokevirtual org.joni.Analyser.noNameDisableMap:(Lorg/joni/ast/Node;[ILorg/jcodings/Ptr;)Lorg/joni/ast/Node;
            invokevirtual org.joni.ast.EncloseNode.setTarget:(Lorg/joni/ast/Node;)V
         7: .line 229
            goto 13
         8: .line 230
      StackMap locals: org.joni.ast.EncloseNode
      StackMap stack:
            aload 4 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            astore 1 /* node */
         9: .line 231
            aload 4 /* en */
            aconst_null
            putfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
        10: .line 232
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* map */
            aload 3 /* counter */
            invokevirtual org.joni.Analyser.noNameDisableMap:(Lorg/joni/ast/Node;[ILorg/jcodings/Ptr;)Lorg/joni/ast/Node;
            astore 1 /* node */
        11: .line 234
            goto 13
        12: .line 235
      StackMap locals:
      StackMap stack:
            aload 4 /* en */
            aload 0 /* this */
            aload 4 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            aload 2 /* map */
            aload 3 /* counter */
            invokevirtual org.joni.Analyser.noNameDisableMap:(Lorg/joni/ast/Node;[ILorg/jcodings/Ptr;)Lorg/joni/ast/Node;
            invokevirtual org.joni.ast.EncloseNode.setTarget:(Lorg/joni/ast/Node;)V
        13: .line 237
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            areturn
        end local 4 // org.joni.ast.EncloseNode en
        end local 3 // org.jcodings.Ptr counter
        end local 2 // int[] map
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/joni/Analyser;
            0   14     1     node  Lorg/joni/ast/Node;
            0   14     2      map  [I
            0   14     3  counter  Lorg/jcodings/Ptr;
            1   14     4       en  Lorg/joni/ast/EncloseNode;
    MethodParameters:
         Name  Flags
      node     
      map      
      counter  

  private void noNameDisableMapFor_anchor(org.joni.ast.Node, int[], org.jcodings.Ptr);
    descriptor: (Lorg/joni/ast/Node;[ILorg/jcodings/Ptr;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
        start local 2 // int[] map
        start local 3 // org.jcodings.Ptr counter
         0: .line 241
            aload 1 /* node */
            checkcast org.joni.ast.AnchorNode
            astore 4 /* an */
        start local 4 // org.joni.ast.AnchorNode an
         1: .line 242
            aload 4 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            ifnull 2
            aload 4 /* an */
            aload 0 /* this */
            aload 4 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            aload 2 /* map */
            aload 3 /* counter */
            invokevirtual org.joni.Analyser.noNameDisableMap:(Lorg/joni/ast/Node;[ILorg/jcodings/Ptr;)Lorg/joni/ast/Node;
            invokevirtual org.joni.ast.AnchorNode.setTarget:(Lorg/joni/ast/Node;)V
         2: .line 243
      StackMap locals: org.joni.ast.AnchorNode
      StackMap stack:
            return
        end local 4 // org.joni.ast.AnchorNode an
        end local 3 // org.jcodings.Ptr counter
        end local 2 // int[] map
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/joni/Analyser;
            0    3     1     node  Lorg/joni/ast/Node;
            0    3     2      map  [I
            0    3     3  counter  Lorg/jcodings/Ptr;
            1    3     4       an  Lorg/joni/ast/AnchorNode;
    MethodParameters:
         Name  Flags
      node     
      map      
      counter  

  private org.joni.ast.Node noNameDisableMap(org.joni.ast.Node, int[], org.jcodings.Ptr);
    descriptor: (Lorg/joni/ast/Node;[ILorg/jcodings/Ptr;)Lorg/joni/ast/Node;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
        start local 2 // int[] map
        start local 3 // org.jcodings.Ptr counter
         0: .line 246
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 5 - 9
                    5: 3
                    6: 5
                    7: 7
                    8: 1
                    9: 1
              default: 8
          }
         1: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* map */
            aload 3 /* counter */
            invokevirtual org.joni.Analyser.noNameDisableMapFor_listAlt:(Lorg/joni/ast/Node;[ILorg/jcodings/Ptr;)V
         2: .line 250
            goto 8
         3: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* map */
            aload 3 /* counter */
            invokevirtual org.joni.Analyser.noNameDisableMapFor_quantifier:(Lorg/joni/ast/Node;[ILorg/jcodings/Ptr;)V
         4: .line 253
            goto 8
         5: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* map */
            aload 3 /* counter */
            invokevirtual org.joni.Analyser.noNameDisableMapFor_enclose:(Lorg/joni/ast/Node;[ILorg/jcodings/Ptr;)Lorg/joni/ast/Node;
            astore 1 /* node */
         6: .line 256
            goto 8
         7: .line 258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* map */
            aload 3 /* counter */
            invokevirtual org.joni.Analyser.noNameDisableMapFor_anchor:(Lorg/joni/ast/Node;[ILorg/jcodings/Ptr;)V
         8: .line 261
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            areturn
        end local 3 // org.jcodings.Ptr counter
        end local 2 // int[] map
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/joni/Analyser;
            0    9     1     node  Lorg/joni/ast/Node;
            0    9     2      map  [I
            0    9     3  counter  Lorg/jcodings/Ptr;
    MethodParameters:
         Name  Flags
      node     
      map      
      counter  

  private void renumberByMap(org.joni.ast.Node, int[]);
    descriptor: (Lorg/joni/ast/Node;[I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
        start local 2 // int[] map
         0: .line 265
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 4 - 9
                    4: 12
                    5: 5
                    6: 7
                    7: 14
                    8: 1
                    9: 1
              default: 16
          }
         1: .line 268
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 3 /* can */
        start local 3 // org.joni.ast.ListNode can
         2: .line 270
      StackMap locals: org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 3 /* can */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            aload 2 /* map */
            invokevirtual org.joni.Analyser.renumberByMap:(Lorg/joni/ast/Node;[I)V
         3: .line 271
            aload 3 /* can */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 3 /* can */
            ifnonnull 2
         4: .line 272
            goto 16
        end local 3 // org.joni.ast.ListNode can
         5: .line 275
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            aload 2 /* map */
            invokevirtual org.joni.Analyser.renumberByMap:(Lorg/joni/ast/Node;[I)V
         6: .line 276
            goto 16
         7: .line 279
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            astore 4 /* en */
        start local 4 // org.joni.ast.EncloseNode en
         8: .line 280
            aload 4 /* en */
            getfield org.joni.ast.EncloseNode.type:I
            bipush 8
            if_icmpne 10
         9: .line 281
            aload 4 /* en */
            aload 2 /* map */
            aload 4 /* en */
            getfield org.joni.ast.EncloseNode.regNum:I
            iaload
            putfield org.joni.ast.EncloseNode.regNum:I
        10: .line 283
      StackMap locals: org.joni.Analyser org.joni.ast.Node int[] top org.joni.ast.EncloseNode
      StackMap stack:
            aload 0 /* this */
            aload 4 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            aload 2 /* map */
            invokevirtual org.joni.Analyser.renumberByMap:(Lorg/joni/ast/Node;[I)V
        11: .line 284
            goto 16
        end local 4 // org.joni.ast.EncloseNode en
        12: .line 287
      StackMap locals: org.joni.Analyser org.joni.ast.Node int[]
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.BackRefNode
            aload 2 /* map */
            invokevirtual org.joni.ast.BackRefNode.renumber:([I)V
        13: .line 288
            goto 16
        14: .line 291
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.AnchorNode
            astore 5 /* an */
        start local 5 // org.joni.ast.AnchorNode an
        15: .line 292
            aload 5 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            ifnull 16
            aload 0 /* this */
            aload 5 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            aload 2 /* map */
            invokevirtual org.joni.Analyser.renumberByMap:(Lorg/joni/ast/Node;[I)V
        end local 5 // org.joni.ast.AnchorNode an
        16: .line 295
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int[] map
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lorg/joni/Analyser;
            0   17     1  node  Lorg/joni/ast/Node;
            0   17     2   map  [I
            2    5     3   can  Lorg/joni/ast/ListNode;
            8   12     4    en  Lorg/joni/ast/EncloseNode;
           15   16     5    an  Lorg/joni/ast/AnchorNode;
    MethodParameters:
      Name  Flags
      node  
      map   

  protected final void numberedRefCheck(org.joni.ast.Node);
    descriptor: (Lorg/joni/ast/Node;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
         0: .line 298
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 4 - 9
                    4: 9
                    5: 5
                    6: 7
                    7: 12
                    8: 1
                    9: 1
              default: 14
          }
         1: .line 301
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 2 /* can */
        start local 2 // org.joni.ast.ListNode can
         2: .line 303
      StackMap locals: org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 2 /* can */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.numberedRefCheck:(Lorg/joni/ast/Node;)V
         3: .line 304
            aload 2 /* can */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 2 /* can */
            ifnonnull 2
         4: .line 305
            goto 14
        end local 2 // org.joni.ast.ListNode can
         5: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.numberedRefCheck:(Lorg/joni/ast/Node;)V
         6: .line 309
            goto 14
         7: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.numberedRefCheck:(Lorg/joni/ast/Node;)V
         8: .line 313
            goto 14
         9: .line 316
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.BackRefNode
            astore 3 /* br */
        start local 3 // org.joni.ast.BackRefNode br
        10: .line 317
            aload 3 /* br */
            invokevirtual org.joni.ast.BackRefNode.isNameRef:()Z
            ifne 14
            aload 0 /* this */
            ldc "numbered backref/call is not allowed. (use name)"
            invokevirtual org.joni.Analyser.newValueException:(Ljava/lang/String;)V
        11: .line 318
            goto 14
        end local 3 // org.joni.ast.BackRefNode br
        12: .line 321
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.AnchorNode
            astore 4 /* an */
        start local 4 // org.joni.ast.AnchorNode an
        13: .line 322
            aload 4 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            ifnull 14
            aload 0 /* this */
            aload 4 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.numberedRefCheck:(Lorg/joni/ast/Node;)V
        end local 4 // org.joni.ast.AnchorNode an
        14: .line 325
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/joni/Analyser;
            0   15     1  node  Lorg/joni/ast/Node;
            2    5     2   can  Lorg/joni/ast/ListNode;
           10   12     3    br  Lorg/joni/ast/BackRefNode;
           13   14     4    an  Lorg/joni/ast/AnchorNode;
    MethodParameters:
      Name  Flags
      node  

  protected final org.joni.ast.Node disableNoNameGroupCapture(org.joni.ast.Node);
    descriptor: (Lorg/joni/ast/Node;)Lorg/joni/ast/Node;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node root
         0: .line 328
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numMem:I
            iconst_1
            iadd
            newarray 10
            astore 2 /* map */
        start local 2 // int[] map
         1: .line 330
            aload 0 /* this */
            aload 1 /* root */
            aload 2 /* map */
            new org.jcodings.Ptr
            dup
            iconst_0
            invokespecial org.jcodings.Ptr.<init>:(I)V
            invokevirtual org.joni.Analyser.noNameDisableMap:(Lorg/joni/ast/Node;[ILorg/jcodings/Ptr;)Lorg/joni/ast/Node;
            astore 1 /* root */
         2: .line 331
            aload 0 /* this */
            aload 1 /* root */
            aload 2 /* map */
            invokevirtual org.joni.Analyser.renumberByMap:(Lorg/joni/ast/Node;[I)V
         3: .line 333
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         4: iconst_1
            istore 4 /* pos */
        start local 4 // int pos
         5: goto 10
         6: .line 334
      StackMap locals: int[] int int
      StackMap stack:
            aload 2 /* map */
            iload 3 /* i */
            iaload
            ifle 9
         7: .line 335
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.memNodes:[Lorg/joni/ast/EncloseNode;
            iload 4 /* pos */
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.memNodes:[Lorg/joni/ast/EncloseNode;
            iload 3 /* i */
            aaload
            aastore
         8: .line 336
            iinc 4 /* pos */ 1
         9: .line 333
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numMem:I
            if_icmple 6
        end local 4 // int pos
        end local 3 // int i
        11: .line 340
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.captureHistory:I
            istore 3 /* loc */
        start local 3 // int loc
        12: .line 341
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            invokestatic org.joni.BitStatus.bsClear:()I
            putfield org.joni.ScanEnvironment.captureHistory:I
        13: .line 343
            iconst_1
            istore 4 /* i */
        start local 4 // int i
        14: goto 18
        15: .line 344
      StackMap locals:
      StackMap stack:
            iload 3 /* loc */
            iload 4 /* i */
            invokestatic org.joni.BitStatus.bsAt:(II)Z
            ifeq 17
        16: .line 345
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.captureHistory:I
            aload 2 /* map */
            iload 4 /* i */
            iaload
            invokestatic org.joni.BitStatus.bsOnAtSimple:(II)I
            putfield org.joni.ScanEnvironment.captureHistory:I
        17: .line 343
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 4 /* i */
            bipush 31
            if_icmple 15
        end local 4 // int i
        19: .line 349
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numNamed:I
            putfield org.joni.ScanEnvironment.numMem:I
        20: .line 350
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numNamed:I
            putfield org.joni.Regex.numMem:I
        21: .line 352
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 2 /* map */
            invokevirtual org.joni.Regex.renumberNameTable:([I)V
        22: .line 354
            aload 1 /* root */
            areturn
        end local 3 // int loc
        end local 2 // int[] map
        end local 1 // org.joni.ast.Node root
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0  this  Lorg/joni/Analyser;
            0   23     1  root  Lorg/joni/ast/Node;
            1   23     2   map  [I
            4   11     3     i  I
            5   11     4   pos  I
           12   23     3   loc  I
           14   19     4     i  I
    MethodParameters:
      Name  Flags
      root  

  private int quantifiersMemoryInfo(org.joni.ast.Node);
    descriptor: (Lorg/joni/ast/Node;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
         0: .line 359
            iconst_0
            istore 2 /* info */
        start local 2 // int info
         1: .line 361
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 0 - 10
                    0: 22
                    1: 22
                    2: 22
                    3: 22
                    4: 22
                    5: 12
                    6: 16
                    7: 22
                    8: 2
                    9: 2
                   10: 7
              default: 22
          }
         2: .line 364
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 3 /* can */
        start local 3 // org.joni.ast.ListNode can
         3: .line 366
      StackMap locals: org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 3 /* can */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.quantifiersMemoryInfo:(Lorg/joni/ast/Node;)I
            istore 4 /* v */
        start local 4 // int v
         4: .line 367
            iload 4 /* v */
            iload 2 /* info */
            if_icmple 5
            iload 4 /* v */
            istore 2 /* info */
        end local 4 // int v
         5: .line 368
      StackMap locals:
      StackMap stack:
            aload 3 /* can */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 3 /* can */
            ifnonnull 3
         6: .line 369
            goto 22
        end local 3 // org.joni.ast.ListNode can
         7: .line 373
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.CallNode
            astore 4 /* cn */
        start local 4 // org.joni.ast.CallNode cn
         8: .line 374
            aload 4 /* cn */
            invokevirtual org.joni.ast.CallNode.isRecursion:()Z
            ifeq 10
         9: .line 375
            iconst_3
            ireturn
        10: .line 377
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top org.joni.ast.CallNode
      StackMap stack:
            aload 0 /* this */
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.target:Lorg/joni/ast/EncloseNode;
            invokevirtual org.joni.Analyser.quantifiersMemoryInfo:(Lorg/joni/ast/Node;)I
            istore 2 /* info */
        end local 4 // org.joni.ast.CallNode cn
        11: .line 380
            goto 22
        12: .line 383
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            astore 4 /* qn */
        start local 4 // org.joni.ast.QuantifierNode qn
        13: .line 384
            aload 4 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            ifeq 22
        14: .line 385
            aload 0 /* this */
            aload 4 /* qn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.quantifiersMemoryInfo:(Lorg/joni/ast/Node;)I
            istore 2 /* info */
        15: .line 387
            goto 22
        end local 4 // org.joni.ast.QuantifierNode qn
        16: .line 390
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            astore 5 /* en */
        start local 5 // org.joni.ast.EncloseNode en
        17: .line 391
            aload 5 /* en */
            getfield org.joni.ast.EncloseNode.type:I
            lookupswitch { // 5
                    1: 18
                    2: 19
                    4: 19
                    8: 19
                   16: 19
              default: 21
          }
        18: .line 393
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top org.joni.ast.EncloseNode
      StackMap stack:
            iconst_2
            ireturn
        19: .line 399
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.quantifiersMemoryInfo:(Lorg/joni/ast/Node;)I
            istore 2 /* info */
        20: .line 400
            goto 22
        21: .line 405
      StackMap locals:
      StackMap stack:
            goto 22
        end local 5 // org.joni.ast.EncloseNode en
        22: .line 417
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            iload 2 /* info */
            ireturn
        end local 2 // int info
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0  this  Lorg/joni/Analyser;
            0   23     1  node  Lorg/joni/ast/Node;
            1   23     2  info  I
            3    7     3   can  Lorg/joni/ast/ListNode;
            4    5     4     v  I
            8   11     4    cn  Lorg/joni/ast/CallNode;
           13   16     4    qn  Lorg/joni/ast/QuantifierNode;
           17   22     5    en  Lorg/joni/ast/EncloseNode;
    MethodParameters:
      Name  Flags
      node  

  private int getMinMatchLength(org.joni.ast.Node);
    descriptor: (Lorg/joni/ast/Node;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
         0: .line 421
            iconst_0
            istore 2 /* min */
        start local 2 // int min
         1: .line 423
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 0 - 10
                    0: 39
                    1: 43
                    2: 41
                    3: 43
                    4: 2
                    5: 45
                    6: 50
                    7: 67
                    8: 25
                    9: 29
                   10: 18
              default: 67
          }
         2: .line 425
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.BackRefNode
            astore 3 /* br */
        start local 3 // org.joni.ast.BackRefNode br
         3: .line 426
            aload 3 /* br */
            invokevirtual org.joni.ast.BackRefNode.isRecursion:()Z
            ifeq 4
            goto 67
         4: .line 428
      StackMap locals: org.joni.ast.BackRefNode
      StackMap stack:
            aload 3 /* br */
            getfield org.joni.ast.BackRefNode.back:[I
            iconst_0
            iaload
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numMem:I
            if_icmple 7
         5: .line 429
            aload 0 /* this */
            getfield org.joni.Analyser.syntax:Lorg/joni/Syntax;
            invokevirtual org.joni.Syntax.op3OptionECMAScript:()Z
            ifne 8
            aload 0 /* this */
            ldc "invalid backref number/name"
            invokevirtual org.joni.Analyser.newValueException:(Ljava/lang/String;)V
         6: .line 430
            goto 8
         7: .line 431
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.memNodes:[Lorg/joni/ast/EncloseNode;
            aload 3 /* br */
            getfield org.joni.ast.BackRefNode.back:[I
            iconst_0
            iaload
            aaload
            invokevirtual org.joni.Analyser.getMinMatchLength:(Lorg/joni/ast/Node;)I
            istore 2 /* min */
         8: .line 434
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         9: goto 16
        10: .line 435
      StackMap locals: int
      StackMap stack:
            aload 3 /* br */
            getfield org.joni.ast.BackRefNode.back:[I
            iload 4 /* i */
            iaload
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numMem:I
            if_icmple 13
        11: .line 436
            aload 0 /* this */
            getfield org.joni.Analyser.syntax:Lorg/joni/Syntax;
            invokevirtual org.joni.Syntax.op3OptionECMAScript:()Z
            ifne 15
            aload 0 /* this */
            ldc "invalid backref number/name"
            invokevirtual org.joni.Analyser.newValueException:(Ljava/lang/String;)V
        12: .line 437
            goto 15
        13: .line 438
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.memNodes:[Lorg/joni/ast/EncloseNode;
            aload 3 /* br */
            getfield org.joni.ast.BackRefNode.back:[I
            iload 4 /* i */
            iaload
            aaload
            invokevirtual org.joni.Analyser.getMinMatchLength:(Lorg/joni/ast/Node;)I
            istore 5 /* tmin */
        start local 5 // int tmin
        14: .line 439
            iload 2 /* min */
            iload 5 /* tmin */
            if_icmple 15
            iload 5 /* tmin */
            istore 2 /* min */
        end local 5 // int tmin
        15: .line 434
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            aload 3 /* br */
            getfield org.joni.ast.BackRefNode.backNum:I
            if_icmplt 10
        end local 4 // int i
        17: .line 442
            goto 67
        end local 3 // org.joni.ast.BackRefNode br
        18: .line 446
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.CallNode
            astore 4 /* cn */
        start local 4 // org.joni.ast.CallNode cn
        19: .line 447
            aload 4 /* cn */
            invokevirtual org.joni.ast.CallNode.isRecursion:()Z
            ifeq 23
        20: .line 448
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.target:Lorg/joni/ast/EncloseNode;
            astore 5 /* en */
        start local 5 // org.joni.ast.EncloseNode en
        21: .line 449
            aload 5 /* en */
            invokevirtual org.joni.ast.EncloseNode.isMinFixed:()Z
            ifeq 67
            aload 5 /* en */
            getfield org.joni.ast.EncloseNode.minLength:I
            istore 2 /* min */
        end local 5 // org.joni.ast.EncloseNode en
        22: .line 450
            goto 67
        23: .line 451
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top org.joni.ast.CallNode
      StackMap stack:
            aload 0 /* this */
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.target:Lorg/joni/ast/EncloseNode;
            invokevirtual org.joni.Analyser.getMinMatchLength:(Lorg/joni/ast/Node;)I
            istore 2 /* min */
        end local 4 // org.joni.ast.CallNode cn
        24: .line 454
            goto 67
        25: .line 457
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 4 /* can */
        start local 4 // org.joni.ast.ListNode can
        26: .line 459
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top org.joni.ast.ListNode
      StackMap stack:
            iload 2 /* min */
            aload 0 /* this */
            aload 4 /* can */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.getMinMatchLength:(Lorg/joni/ast/Node;)I
            iadd
            istore 2 /* min */
        27: .line 460
            aload 4 /* can */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 4 /* can */
            ifnonnull 26
        28: .line 461
            goto 67
        end local 4 // org.joni.ast.ListNode can
        29: .line 464
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 5 /* y */
        start local 5 // org.joni.ast.ListNode y
        30: .line 466
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top org.joni.ast.ListNode
      StackMap stack:
            aload 5 /* y */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            astore 6 /* x */
        start local 6 // org.joni.ast.Node x
        31: .line 467
            aload 0 /* this */
            aload 6 /* x */
            invokevirtual org.joni.Analyser.getMinMatchLength:(Lorg/joni/ast/Node;)I
            istore 7 /* tmin */
        start local 7 // int tmin
        32: .line 468
            aload 5 /* y */
            aload 1 /* node */
            if_acmpne 35
        33: .line 469
            iload 7 /* tmin */
            istore 2 /* min */
        34: .line 470
            goto 37
      StackMap locals: org.joni.ast.Node int
      StackMap stack:
        35: iload 2 /* min */
            iload 7 /* tmin */
            if_icmple 37
        36: .line 471
            iload 7 /* tmin */
            istore 2 /* min */
        end local 7 // int tmin
        end local 6 // org.joni.ast.Node x
        37: .line 473
      StackMap locals:
      StackMap stack:
            aload 5 /* y */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 5 /* y */
            ifnonnull 30
        38: .line 474
            goto 67
        end local 5 // org.joni.ast.ListNode y
        39: .line 477
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.StringNode
            invokevirtual org.joni.ast.StringNode.length:()I
            istore 2 /* min */
        40: .line 478
            goto 67
        41: .line 481
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* min */
        42: .line 482
            goto 67
        43: .line 486
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* min */
        44: .line 487
            goto 67
        45: .line 490
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            astore 6 /* qn */
        start local 6 // org.joni.ast.QuantifierNode qn
        46: .line 491
            aload 6 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            ifle 67
        47: .line 492
            aload 0 /* this */
            aload 6 /* qn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.getMinMatchLength:(Lorg/joni/ast/Node;)I
            istore 2 /* min */
        48: .line 493
            iload 2 /* min */
            aload 6 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            invokestatic org.joni.MinMaxLen.distanceMultiply:(II)I
            istore 2 /* min */
        49: .line 495
            goto 67
        end local 6 // org.joni.ast.QuantifierNode qn
        50: .line 498
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            astore 7 /* en */
        start local 7 // org.joni.ast.EncloseNode en
        51: .line 499
            aload 7 /* en */
            getfield org.joni.ast.EncloseNode.type:I
            lookupswitch { // 5
                    1: 52
                    2: 64
                    4: 64
                    8: 64
                   16: 66
              default: 66
          }
        52: .line 502
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top top top org.joni.ast.EncloseNode
      StackMap stack:
            aload 7 /* en */
            invokevirtual org.joni.ast.EncloseNode.isMinFixed:()Z
            ifeq 55
        53: .line 503
            aload 7 /* en */
            getfield org.joni.ast.EncloseNode.minLength:I
            istore 2 /* min */
        54: .line 504
            goto 67
        55: .line 505
      StackMap locals:
      StackMap stack:
            aload 7 /* en */
            invokevirtual org.joni.ast.EncloseNode.isMark1:()Z
            ifeq 58
        56: .line 506
            iconst_0
            istore 2 /* min */
        57: .line 507
            goto 67
        58: .line 508
      StackMap locals:
      StackMap stack:
            aload 7 /* en */
            invokevirtual org.joni.ast.EncloseNode.setMark1:()V
        59: .line 509
            aload 0 /* this */
            aload 7 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.getMinMatchLength:(Lorg/joni/ast/Node;)I
            istore 2 /* min */
        60: .line 510
            aload 7 /* en */
            invokevirtual org.joni.ast.EncloseNode.clearMark1:()V
        61: .line 511
            aload 7 /* en */
            iload 2 /* min */
            putfield org.joni.ast.EncloseNode.minLength:I
        62: .line 512
            aload 7 /* en */
            invokevirtual org.joni.ast.EncloseNode.setMinFixed:()V
        63: .line 516
            goto 67
        64: .line 521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.getMinMatchLength:(Lorg/joni/ast/Node;)I
            istore 2 /* min */
        65: .line 522
            goto 67
        66: .line 527
      StackMap locals:
      StackMap stack:
            goto 67
        end local 7 // org.joni.ast.EncloseNode en
        67: .line 534
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            iload 2 /* min */
            ireturn
        end local 2 // int min
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   68     0  this  Lorg/joni/Analyser;
            0   68     1  node  Lorg/joni/ast/Node;
            1   68     2   min  I
            3   18     3    br  Lorg/joni/ast/BackRefNode;
            9   17     4     i  I
           14   15     5  tmin  I
           19   24     4    cn  Lorg/joni/ast/CallNode;
           21   22     5    en  Lorg/joni/ast/EncloseNode;
           26   29     4   can  Lorg/joni/ast/ListNode;
           30   39     5     y  Lorg/joni/ast/ListNode;
           31   37     6     x  Lorg/joni/ast/Node;
           32   37     7  tmin  I
           46   50     6    qn  Lorg/joni/ast/QuantifierNode;
           51   67     7    en  Lorg/joni/ast/EncloseNode;
    MethodParameters:
      Name  Flags
      node  

  private int getMaxMatchLength(org.joni.ast.Node);
    descriptor: (Lorg/joni/ast/Node;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
         0: .line 538
            iconst_0
            istore 2 /* max */
        start local 2 // int max
         1: .line 540
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 0 - 10
                    0: 12
                    1: 16
                    2: 14
                    3: 16
                    4: 18
                    5: 38
                    6: 47
                    7: 64
                    8: 2
                    9: 7
                   10: 32
              default: 64
          }
         2: .line 542
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 3 /* ln */
        start local 3 // org.joni.ast.ListNode ln
         3: .line 544
      StackMap locals: org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 3 /* ln */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.getMaxMatchLength:(Lorg/joni/ast/Node;)I
            istore 4 /* tmax */
        start local 4 // int tmax
         4: .line 545
            iload 2 /* max */
            iload 4 /* tmax */
            invokestatic org.joni.MinMaxLen.distanceAdd:(II)I
            istore 2 /* max */
        end local 4 // int tmax
         5: .line 546
            aload 3 /* ln */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 3 /* ln */
            ifnonnull 3
         6: .line 547
            goto 64
        end local 3 // org.joni.ast.ListNode ln
         7: .line 550
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 4 /* an */
        start local 4 // org.joni.ast.ListNode an
         8: .line 552
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 4 /* an */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.getMaxMatchLength:(Lorg/joni/ast/Node;)I
            istore 5 /* tmax */
        start local 5 // int tmax
         9: .line 553
            iload 2 /* max */
            iload 5 /* tmax */
            if_icmpge 10
            iload 5 /* tmax */
            istore 2 /* max */
        end local 5 // int tmax
        10: .line 554
      StackMap locals:
      StackMap stack:
            aload 4 /* an */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 4 /* an */
            ifnonnull 8
        11: .line 555
            goto 64
        end local 4 // org.joni.ast.ListNode an
        12: .line 558
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.StringNode
            invokevirtual org.joni.ast.StringNode.length:()I
            istore 2 /* max */
        13: .line 559
            goto 64
        14: .line 562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.maxLength:()I
            istore 2 /* max */
        15: .line 563
            goto 64
        16: .line 567
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.maxLength:()I
            istore 2 /* max */
        17: .line 568
            goto 64
        18: .line 571
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.BackRefNode
            astore 5 /* br */
        start local 5 // org.joni.ast.BackRefNode br
        19: .line 572
            aload 5 /* br */
            invokevirtual org.joni.ast.BackRefNode.isRecursion:()Z
            ifeq 22
        20: .line 573
            ldc 2147483647
            istore 2 /* max */
        21: .line 574
            goto 64
        22: .line 577
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top org.joni.ast.BackRefNode
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        23: goto 30
        24: .line 578
      StackMap locals: int
      StackMap stack:
            aload 5 /* br */
            getfield org.joni.ast.BackRefNode.back:[I
            iload 6 /* i */
            iaload
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numMem:I
            if_icmple 27
        25: .line 579
            aload 0 /* this */
            getfield org.joni.Analyser.syntax:Lorg/joni/Syntax;
            invokevirtual org.joni.Syntax.op3OptionECMAScript:()Z
            ifne 29
            aload 0 /* this */
            ldc "invalid backref number/name"
            invokevirtual org.joni.Analyser.newValueException:(Ljava/lang/String;)V
        26: .line 580
            goto 29
        27: .line 581
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.memNodes:[Lorg/joni/ast/EncloseNode;
            aload 5 /* br */
            getfield org.joni.ast.BackRefNode.back:[I
            iload 6 /* i */
            iaload
            aaload
            invokevirtual org.joni.Analyser.getMaxMatchLength:(Lorg/joni/ast/Node;)I
            istore 7 /* tmax */
        start local 7 // int tmax
        28: .line 582
            iload 2 /* max */
            iload 7 /* tmax */
            if_icmpge 29
            iload 7 /* tmax */
            istore 2 /* max */
        end local 7 // int tmax
        29: .line 577
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 6 /* i */
            aload 5 /* br */
            getfield org.joni.ast.BackRefNode.backNum:I
            if_icmplt 24
        end local 6 // int i
        31: .line 585
            goto 64
        end local 5 // org.joni.ast.BackRefNode br
        32: .line 589
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.CallNode
            astore 6 /* cn */
        start local 6 // org.joni.ast.CallNode cn
        33: .line 590
            aload 6 /* cn */
            invokevirtual org.joni.ast.CallNode.isRecursion:()Z
            ifne 36
        34: .line 591
            aload 0 /* this */
            aload 6 /* cn */
            getfield org.joni.ast.CallNode.target:Lorg/joni/ast/EncloseNode;
            invokevirtual org.joni.Analyser.getMaxMatchLength:(Lorg/joni/ast/Node;)I
            istore 2 /* max */
        35: .line 592
            goto 64
        36: .line 593
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top top org.joni.ast.CallNode
      StackMap stack:
            ldc 2147483647
            istore 2 /* max */
        end local 6 // org.joni.ast.CallNode cn
        37: .line 596
            goto 64
        38: .line 599
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            astore 6 /* qn */
        start local 6 // org.joni.ast.QuantifierNode qn
        39: .line 600
            aload 6 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            ifeq 64
        40: .line 601
            aload 0 /* this */
            aload 6 /* qn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.getMaxMatchLength:(Lorg/joni/ast/Node;)I
            istore 2 /* max */
        41: .line 602
            iload 2 /* max */
            ifeq 64
        42: .line 603
            aload 6 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            invokestatic org.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifne 45
        43: .line 604
            iload 2 /* max */
            aload 6 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            invokestatic org.joni.MinMaxLen.distanceMultiply:(II)I
            istore 2 /* max */
        44: .line 605
            goto 64
        45: .line 606
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top top org.joni.ast.QuantifierNode
      StackMap stack:
            ldc 2147483647
            istore 2 /* max */
        46: .line 610
            goto 64
        end local 6 // org.joni.ast.QuantifierNode qn
        47: .line 613
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            astore 7 /* en */
        start local 7 // org.joni.ast.EncloseNode en
        48: .line 614
            aload 7 /* en */
            getfield org.joni.ast.EncloseNode.type:I
            lookupswitch { // 5
                    1: 49
                    2: 61
                    4: 61
                    8: 61
                   16: 63
              default: 63
          }
        49: .line 617
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top top top org.joni.ast.EncloseNode
      StackMap stack:
            aload 7 /* en */
            invokevirtual org.joni.ast.EncloseNode.isMaxFixed:()Z
            ifeq 52
        50: .line 618
            aload 7 /* en */
            getfield org.joni.ast.EncloseNode.maxLength:I
            istore 2 /* max */
        51: .line 619
            goto 64
        52: .line 620
      StackMap locals:
      StackMap stack:
            aload 7 /* en */
            invokevirtual org.joni.ast.EncloseNode.isMark1:()Z
            ifeq 55
        53: .line 621
            ldc 2147483647
            istore 2 /* max */
        54: .line 622
            goto 64
        55: .line 623
      StackMap locals:
      StackMap stack:
            aload 7 /* en */
            invokevirtual org.joni.ast.EncloseNode.setMark1:()V
        56: .line 624
            aload 0 /* this */
            aload 7 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.getMaxMatchLength:(Lorg/joni/ast/Node;)I
            istore 2 /* max */
        57: .line 625
            aload 7 /* en */
            invokevirtual org.joni.ast.EncloseNode.clearMark1:()V
        58: .line 626
            aload 7 /* en */
            iload 2 /* max */
            putfield org.joni.ast.EncloseNode.maxLength:I
        59: .line 627
            aload 7 /* en */
            invokevirtual org.joni.ast.EncloseNode.setMaxFixed:()V
        60: .line 631
            goto 64
        61: .line 636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.getMaxMatchLength:(Lorg/joni/ast/Node;)I
            istore 2 /* max */
        62: .line 637
            goto 64
        63: .line 642
      StackMap locals:
      StackMap stack:
            goto 64
        end local 7 // org.joni.ast.EncloseNode en
        64: .line 649
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            iload 2 /* max */
            ireturn
        end local 2 // int max
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   65     0  this  Lorg/joni/Analyser;
            0   65     1  node  Lorg/joni/ast/Node;
            1   65     2   max  I
            3    7     3    ln  Lorg/joni/ast/ListNode;
            4    5     4  tmax  I
            8   12     4    an  Lorg/joni/ast/ListNode;
            9   10     5  tmax  I
           19   32     5    br  Lorg/joni/ast/BackRefNode;
           23   31     6     i  I
           28   29     7  tmax  I
           33   37     6    cn  Lorg/joni/ast/CallNode;
           39   47     6    qn  Lorg/joni/ast/QuantifierNode;
           48   64     7    en  Lorg/joni/ast/EncloseNode;
    MethodParameters:
      Name  Flags
      node  

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

  private int getCharLengthTree(org.joni.ast.Node, int);
    descriptor: (Lorg/joni/ast/Node;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=11, args_size=3
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
        start local 2 // int level
         0: .line 659
            iinc 2 /* level */ 1
         1: .line 661
            iconst_0
            istore 3 /* len */
        start local 3 // int len
         2: .line 662
            aload 0 /* this */
            iconst_0
            putfield org.joni.Analyser.returnCode:I
         3: .line 664
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 0 - 10
                    0: 26
                    1: 43
                    2: 42
                    3: 43
                    4: 59
                    5: 29
                    6: 45
                    7: 58
                    8: 4
                    9: 9
                   10: 36
              default: 59
          }
         4: .line 666
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 4 /* ln */
        start local 4 // org.joni.ast.ListNode ln
         5: .line 668
      StackMap locals: org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 4 /* ln */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            iload 2 /* level */
            invokevirtual org.joni.Analyser.getCharLengthTree:(Lorg/joni/ast/Node;I)I
            istore 5 /* tlen */
        start local 5 // int tlen
         6: .line 669
            aload 0 /* this */
            getfield org.joni.Analyser.returnCode:I
            ifne 7
            iload 3 /* len */
            iload 5 /* tlen */
            invokestatic org.joni.MinMaxLen.distanceAdd:(II)I
            istore 3 /* len */
        end local 5 // int tlen
         7: .line 670
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.returnCode:I
            ifne 60
            aload 4 /* ln */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 4 /* ln */
            ifnonnull 5
         8: .line 671
            goto 60
        end local 4 // org.joni.ast.ListNode ln
         9: .line 674
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 5 /* an */
        start local 5 // org.joni.ast.ListNode an
        10: .line 675
            iconst_0
            istore 6 /* varLen */
        start local 6 // boolean varLen
        11: .line 677
            aload 0 /* this */
            aload 5 /* an */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            iload 2 /* level */
            invokevirtual org.joni.Analyser.getCharLengthTree:(Lorg/joni/ast/Node;I)I
            istore 7 /* tlen */
        start local 7 // int tlen
        12: .line 678
            goto 16
        13: .line 679
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int top org.joni.ast.ListNode int int
      StackMap stack:
            aload 0 /* this */
            aload 5 /* an */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            iload 2 /* level */
            invokevirtual org.joni.Analyser.getCharLengthTree:(Lorg/joni/ast/Node;I)I
            istore 8 /* tlen2 */
        start local 8 // int tlen2
        14: .line 680
            aload 0 /* this */
            getfield org.joni.Analyser.returnCode:I
            ifne 16
        15: .line 681
            iload 7 /* tlen */
            iload 8 /* tlen2 */
            if_icmpeq 16
            iconst_1
            istore 6 /* varLen */
        end local 8 // int tlen2
        16: .line 678
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.returnCode:I
            ifne 17
            aload 5 /* an */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 5 /* an */
            ifnonnull 13
        17: .line 685
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.returnCode:I
            ifne 60
        18: .line 686
            iload 6 /* varLen */
            ifeq 24
        19: .line 687
            iload 2 /* level */
            iconst_1
            if_icmpne 22
        20: .line 688
            aload 0 /* this */
            bipush -2
            putfield org.joni.Analyser.returnCode:I
        21: .line 689
            goto 60
        22: .line 690
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield org.joni.Analyser.returnCode:I
        23: .line 692
            goto 60
        24: .line 693
      StackMap locals:
      StackMap stack:
            iload 7 /* tlen */
            istore 3 /* len */
        25: .line 696
            goto 60
        end local 7 // int tlen
        end local 6 // boolean varLen
        end local 5 // org.joni.ast.ListNode an
        26: .line 699
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.StringNode
            astore 8 /* sn */
        start local 8 // org.joni.ast.StringNode sn
        27: .line 700
            aload 8 /* sn */
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.joni.ast.StringNode.length:(Lorg/jcodings/Encoding;)I
            istore 3 /* len */
        28: .line 701
            goto 60
        end local 8 // org.joni.ast.StringNode sn
        29: .line 704
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            astore 9 /* qn */
        start local 9 // org.joni.ast.QuantifierNode qn
        30: .line 705
            aload 9 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            aload 9 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            if_icmpne 34
        31: .line 706
            aload 0 /* this */
            aload 9 /* qn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            iload 2 /* level */
            invokevirtual org.joni.Analyser.getCharLengthTree:(Lorg/joni/ast/Node;I)I
            istore 7 /* tlen */
        start local 7 // int tlen
        32: .line 707
            aload 0 /* this */
            getfield org.joni.Analyser.returnCode:I
            ifne 60
            iload 7 /* tlen */
            aload 9 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            invokestatic org.joni.MinMaxLen.distanceMultiply:(II)I
            istore 3 /* len */
        33: .line 708
            goto 60
        end local 7 // int tlen
        34: .line 709
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int top top top top top org.joni.ast.QuantifierNode
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield org.joni.Analyser.returnCode:I
        35: .line 711
            goto 60
        end local 9 // org.joni.ast.QuantifierNode qn
        36: .line 715
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.CallNode
            astore 10 /* cn */
        start local 10 // org.joni.ast.CallNode cn
        37: .line 716
            aload 10 /* cn */
            invokevirtual org.joni.ast.CallNode.isRecursion:()Z
            ifne 40
        38: .line 717
            aload 0 /* this */
            aload 10 /* cn */
            getfield org.joni.ast.CallNode.target:Lorg/joni/ast/EncloseNode;
            iload 2 /* level */
            invokevirtual org.joni.Analyser.getCharLengthTree:(Lorg/joni/ast/Node;I)I
            istore 3 /* len */
        39: .line 718
            goto 60
        40: .line 719
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int top top top top top top org.joni.ast.CallNode
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield org.joni.Analyser.returnCode:I
        end local 10 // org.joni.ast.CallNode cn
        41: .line 722
            goto 60
        42: .line 725
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int
      StackMap stack:
            iconst_1
            istore 3 /* len */
        43: .line 729
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* len */
        44: .line 730
            goto 60
        45: .line 733
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            astore 10 /* en */
        start local 10 // org.joni.ast.EncloseNode en
        46: .line 734
            aload 10 /* en */
            getfield org.joni.ast.EncloseNode.type:I
            lookupswitch { // 5
                    1: 47
                    2: 55
                    4: 55
                    8: 55
                   16: 57
              default: 57
          }
        47: .line 737
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int top top top top top top org.joni.ast.EncloseNode
      StackMap stack:
            aload 10 /* en */
            invokevirtual org.joni.ast.EncloseNode.isCLenFixed:()Z
            ifeq 50
        48: .line 738
            aload 10 /* en */
            getfield org.joni.ast.EncloseNode.charLength:I
            istore 3 /* len */
        49: .line 739
            goto 60
        50: .line 740
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            iload 2 /* level */
            invokevirtual org.joni.Analyser.getCharLengthTree:(Lorg/joni/ast/Node;I)I
            istore 3 /* len */
        51: .line 741
            aload 0 /* this */
            getfield org.joni.Analyser.returnCode:I
            ifne 60
        52: .line 742
            aload 10 /* en */
            iload 3 /* len */
            putfield org.joni.ast.EncloseNode.charLength:I
        53: .line 743
            aload 10 /* en */
            invokevirtual org.joni.ast.EncloseNode.setCLenFixed:()V
        54: .line 747
            goto 60
        55: .line 752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            iload 2 /* level */
            invokevirtual org.joni.Analyser.getCharLengthTree:(Lorg/joni/ast/Node;I)I
            istore 3 /* len */
        56: .line 753
            goto 60
        57: .line 758
      StackMap locals:
      StackMap stack:
            goto 60
        end local 10 // org.joni.ast.EncloseNode en
        58: .line 761
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int
      StackMap stack:
            goto 60
        59: .line 764
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield org.joni.Analyser.returnCode:I
        60: .line 766
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            ireturn
        end local 3 // int len
        end local 2 // int level
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   61     0    this  Lorg/joni/Analyser;
            0   61     1    node  Lorg/joni/ast/Node;
            0   61     2   level  I
            2   61     3     len  I
            5    9     4      ln  Lorg/joni/ast/ListNode;
            6    7     5    tlen  I
           10   26     5      an  Lorg/joni/ast/ListNode;
           11   26     6  varLen  Z
           12   26     7    tlen  I
           32   34     7    tlen  I
           14   16     8   tlen2  I
           27   29     8      sn  Lorg/joni/ast/StringNode;
           30   36     9      qn  Lorg/joni/ast/QuantifierNode;
           37   41    10      cn  Lorg/joni/ast/CallNode;
           46   58    10      en  Lorg/joni/ast/EncloseNode;
    MethodParameters:
       Name  Flags
      node   
      level  

  private boolean isNotIncluded(org.joni.ast.Node, org.joni.ast.Node);
    descriptor: (Lorg/joni/ast/Node;Lorg/joni/ast/Node;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=3
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node x
        start local 2 // org.joni.ast.Node y
         0: .line 774
      StackMap locals:
      StackMap stack:
            aload 2 /* y */
            invokevirtual org.joni.ast.Node.getType:()I
            istore 4 /* yType */
        start local 4 // int yType
         1: .line 776
            aload 1 /* x */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 0 - 2
                    0: 68
                    1: 16
                    2: 2
              default: 103
          }
         2: .line 778
      StackMap locals: org.joni.Analyser org.joni.ast.Node org.joni.ast.Node top int
      StackMap stack:
            iload 4 /* yType */
            tableswitch { // 0 - 2
                    0: 11
                    1: 7
                    2: 3
              default: 15
          }
         3: .line 781
      StackMap locals:
      StackMap stack:
            aload 2 /* y */
            checkcast org.joni.ast.CTypeNode
            astore 5 /* cny */
        start local 5 // org.joni.ast.CTypeNode cny
         4: .line 782
            aload 1 /* x */
            checkcast org.joni.ast.CTypeNode
            astore 6 /* cnx */
        start local 6 // org.joni.ast.CTypeNode cnx
         5: .line 783
            aload 5 /* cny */
            getfield org.joni.ast.CTypeNode.ctype:I
            aload 6 /* cnx */
            getfield org.joni.ast.CTypeNode.ctype:I
            if_icmpne 6
            aload 5 /* cny */
            getfield org.joni.ast.CTypeNode.not:Z
            aload 6 /* cnx */
            getfield org.joni.ast.CTypeNode.not:Z
            if_icmpeq 6
            aload 5 /* cny */
            getfield org.joni.ast.CTypeNode.asciiRange:Z
            aload 6 /* cnx */
            getfield org.joni.ast.CTypeNode.asciiRange:Z
            if_icmpne 6
            iconst_1
            ireturn
      StackMap locals: org.joni.ast.CTypeNode org.joni.ast.CTypeNode
      StackMap stack:
         6: iconst_0
            ireturn
        end local 6 // org.joni.ast.CTypeNode cnx
        end local 5 // org.joni.ast.CTypeNode cny
         7: .line 787
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            astore 3 /* tmp */
        start local 3 // org.joni.ast.Node tmp
         8: .line 788
            aload 2 /* y */
            astore 1 /* x */
         9: .line 789
            aload 3 /* tmp */
            astore 2 /* y */
        10: .line 791
            goto 0
        end local 3 // org.joni.ast.Node tmp
        11: .line 795
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            astore 3 /* tmp */
        start local 3 // org.joni.ast.Node tmp
        12: .line 796
            aload 2 /* y */
            astore 1 /* x */
        13: .line 797
            aload 3 /* tmp */
            astore 2 /* y */
        14: .line 798
            goto 0
        end local 3 // org.joni.ast.Node tmp
        15: .line 803
      StackMap locals:
      StackMap stack:
            goto 103
        16: .line 806
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            checkcast org.joni.ast.CClassNode
            astore 5 /* xc */
        start local 5 // org.joni.ast.CClassNode xc
        17: .line 808
            iload 4 /* yType */
            tableswitch { // 0 - 2
                    0: 63
                    1: 47
                    2: 18
              default: 67
          }
        18: .line 811
      StackMap locals: org.joni.ast.CClassNode
      StackMap stack:
            aload 2 /* y */
            checkcast org.joni.ast.CTypeNode
            astore 6 /* yc */
        start local 6 // org.joni.ast.CTypeNode yc
        19: .line 812
            aload 6 /* yc */
            getfield org.joni.ast.CTypeNode.ctype:I
            tableswitch { // 12 - 12
                   12: 20
              default: 46
          }
        20: .line 814
      StackMap locals: org.joni.ast.CTypeNode
      StackMap stack:
            aload 6 /* yc */
            getfield org.joni.ast.CTypeNode.not:Z
            ifne 32
        21: .line 815
            aload 5 /* xc */
            getfield org.joni.ast.CClassNode.mbuf:Lorg/joni/CodeRangeBuffer;
            ifnonnull 31
            aload 5 /* xc */
            invokevirtual org.joni.ast.CClassNode.isNot:()Z
            ifne 31
        22: .line 816
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        23: goto 29
        24: .line 817
      StackMap locals: int
      StackMap stack:
            aload 5 /* xc */
            getfield org.joni.ast.CClassNode.bs:Lorg/joni/BitSet;
            iload 7 /* i */
            invokevirtual org.joni.BitSet.at:(I)Z
            ifeq 28
        25: .line 818
            aload 6 /* yc */
            getfield org.joni.ast.CTypeNode.asciiRange:Z
            ifeq 27
        26: .line 819
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            iload 7 /* i */
            invokevirtual org.jcodings.Encoding.isSbWord:(I)Z
            ifeq 28
            iconst_0
            ireturn
        27: .line 821
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            iload 7 /* i */
            invokevirtual org.jcodings.Encoding.isWord:(I)Z
            ifeq 28
            iconst_0
            ireturn
        28: .line 816
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 7 /* i */
            sipush 256
            if_icmplt 24
        end local 7 // int i
        30: .line 825
            iconst_1
            ireturn
        31: .line 827
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        32: .line 829
      StackMap locals:
      StackMap stack:
            aload 5 /* xc */
            getfield org.joni.ast.CClassNode.mbuf:Lorg/joni/CodeRangeBuffer;
            ifnull 33
            iconst_0
            ireturn
        33: .line 830
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        34: goto 44
        35: .line 832
      StackMap locals: int
      StackMap stack:
            aload 6 /* yc */
            getfield org.joni.ast.CTypeNode.asciiRange:Z
            ifeq 38
        36: .line 833
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            iload 7 /* i */
            invokevirtual org.jcodings.Encoding.isSbWord:(I)Z
            istore 8 /* isWord */
        start local 8 // boolean isWord
        37: .line 834
            goto 39
        end local 8 // boolean isWord
        38: .line 835
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            iload 7 /* i */
            invokevirtual org.jcodings.Encoding.isWord:(I)Z
            istore 8 /* isWord */
        start local 8 // boolean isWord
        39: .line 838
      StackMap locals: int
      StackMap stack:
            iload 8 /* isWord */
            ifne 43
        40: .line 839
            aload 5 /* xc */
            invokevirtual org.joni.ast.CClassNode.isNot:()Z
            ifne 42
        41: .line 840
            aload 5 /* xc */
            getfield org.joni.ast.CClassNode.bs:Lorg/joni/BitSet;
            iload 7 /* i */
            invokevirtual org.joni.BitSet.at:(I)Z
            ifeq 43
            iconst_0
            ireturn
        42: .line 842
      StackMap locals:
      StackMap stack:
            aload 5 /* xc */
            getfield org.joni.ast.CClassNode.bs:Lorg/joni/BitSet;
            iload 7 /* i */
            invokevirtual org.joni.BitSet.at:(I)Z
            ifne 43
            iconst_0
            ireturn
        end local 8 // boolean isWord
        43: .line 830
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 7 /* i */
            sipush 256
            if_icmplt 35
        end local 7 // int i
        45: .line 846
            iconst_1
            ireturn
        46: .line 852
      StackMap locals:
      StackMap stack:
            goto 103
        end local 6 // org.joni.ast.CTypeNode yc
        47: .line 857
      StackMap locals:
      StackMap stack:
            aload 2 /* y */
            checkcast org.joni.ast.CClassNode
            astore 6 /* yc */
        start local 6 // org.joni.ast.CClassNode yc
        48: .line 859
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        49: goto 58
        50: .line 860
      StackMap locals: org.joni.ast.CClassNode int
      StackMap stack:
            aload 5 /* xc */
            getfield org.joni.ast.CClassNode.bs:Lorg/joni/BitSet;
            iload 7 /* i */
            invokevirtual org.joni.BitSet.at:(I)Z
            istore 8 /* v */
        start local 8 // boolean v
        51: .line 861
            iload 8 /* v */
            ifeq 52
            aload 5 /* xc */
            invokevirtual org.joni.ast.CClassNode.isNot:()Z
            ifeq 53
      StackMap locals: int
      StackMap stack:
        52: iload 8 /* v */
            ifne 57
            aload 5 /* xc */
            invokevirtual org.joni.ast.CClassNode.isNot:()Z
            ifeq 57
        53: .line 862
      StackMap locals:
      StackMap stack:
            aload 6 /* yc */
            getfield org.joni.ast.CClassNode.bs:Lorg/joni/BitSet;
            iload 7 /* i */
            invokevirtual org.joni.BitSet.at:(I)Z
            istore 8 /* v */
        54: .line 863
            iload 8 /* v */
            ifeq 55
            aload 6 /* yc */
            invokevirtual org.joni.ast.CClassNode.isNot:()Z
            ifeq 56
      StackMap locals:
      StackMap stack:
        55: iload 8 /* v */
            ifne 57
            aload 6 /* yc */
            invokevirtual org.joni.ast.CClassNode.isNot:()Z
            ifeq 57
      StackMap locals:
      StackMap stack:
        56: iconst_0
            ireturn
        end local 8 // boolean v
        57: .line 859
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        58: iload 7 /* i */
            sipush 256
            if_icmplt 50
        end local 7 // int i
        59: .line 866
            aload 5 /* xc */
            getfield org.joni.ast.CClassNode.mbuf:Lorg/joni/CodeRangeBuffer;
            ifnonnull 60
            aload 5 /* xc */
            invokevirtual org.joni.ast.CClassNode.isNot:()Z
            ifeq 61
      StackMap locals:
      StackMap stack:
        60: aload 6 /* yc */
            getfield org.joni.ast.CClassNode.mbuf:Lorg/joni/CodeRangeBuffer;
            ifnonnull 62
            aload 6 /* yc */
            invokevirtual org.joni.ast.CClassNode.isNot:()Z
            ifne 62
      StackMap locals:
      StackMap stack:
        61: iconst_1
            ireturn
        62: .line 867
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // org.joni.ast.CClassNode yc
        63: .line 873
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            astore 3 /* tmp */
        start local 3 // org.joni.ast.Node tmp
        64: .line 874
            aload 2 /* y */
            astore 1 /* x */
        65: .line 875
            aload 3 /* tmp */
            astore 2 /* y */
        66: .line 876
            goto 0
        end local 3 // org.joni.ast.Node tmp
        67: .line 882
      StackMap locals:
      StackMap stack:
            goto 103
        end local 5 // org.joni.ast.CClassNode xc
        68: .line 886
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            checkcast org.joni.ast.StringNode
            astore 6 /* xs */
        start local 6 // org.joni.ast.StringNode xs
        69: .line 887
            aload 6 /* xs */
            invokevirtual org.joni.ast.StringNode.length:()I
            ifne 70
            goto 103
        70: .line 889
      StackMap locals: org.joni.Analyser org.joni.ast.Node org.joni.ast.Node top int top org.joni.ast.StringNode
      StackMap stack:
            iload 4 /* yType */
            tableswitch { // 0 - 2
                    0: 90
                    1: 85
                    2: 71
              default: 103
          }
        71: .line 891
      StackMap locals:
      StackMap stack:
            aload 2 /* y */
            checkcast org.joni.ast.CTypeNode
            astore 7 /* cy */
        start local 7 // org.joni.ast.CTypeNode cy
        72: .line 892
            aload 7 /* cy */
            getfield org.joni.ast.CTypeNode.ctype:I
            tableswitch { // 12 - 12
                   12: 73
              default: 84
          }
        73: .line 894
      StackMap locals: org.joni.ast.CTypeNode
      StackMap stack:
            aload 7 /* cy */
            getfield org.joni.ast.CTypeNode.asciiRange:Z
            ifeq 79
        74: .line 895
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            aload 6 /* xs */
            getfield org.joni.ast.StringNode.bytes:[B
            aload 6 /* xs */
            getfield org.joni.ast.StringNode.p:I
            aload 6 /* xs */
            getfield org.joni.ast.StringNode.end:I
            invokestatic org.joni.Matcher.isMbcAsciiWord:(Lorg/jcodings/Encoding;[BII)Z
            ifeq 76
        75: .line 896
            aload 7 /* cy */
            getfield org.joni.ast.CTypeNode.not:Z
            ireturn
        76: .line 898
      StackMap locals:
      StackMap stack:
            aload 7 /* cy */
            getfield org.joni.ast.CTypeNode.not:Z
            ifeq 77
            iconst_0
            goto 78
      StackMap locals:
      StackMap stack:
        77: iconst_1
      StackMap locals:
      StackMap stack: int
        78: ireturn
        79: .line 901
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            aload 6 /* xs */
            getfield org.joni.ast.StringNode.bytes:[B
            aload 6 /* xs */
            getfield org.joni.ast.StringNode.p:I
            aload 6 /* xs */
            getfield org.joni.ast.StringNode.end:I
            invokevirtual org.jcodings.Encoding.isMbcWord:([BII)Z
            ifeq 81
        80: .line 902
            aload 7 /* cy */
            getfield org.joni.ast.CTypeNode.not:Z
            ireturn
        81: .line 904
      StackMap locals:
      StackMap stack:
            aload 7 /* cy */
            getfield org.joni.ast.CTypeNode.not:Z
            ifeq 82
            iconst_0
            goto 83
      StackMap locals:
      StackMap stack:
        82: iconst_1
      StackMap locals:
      StackMap stack: int
        83: ireturn
        84: .line 912
      StackMap locals:
      StackMap stack:
            goto 103
        end local 7 // org.joni.ast.CTypeNode cy
        85: .line 915
      StackMap locals:
      StackMap stack:
            aload 2 /* y */
            checkcast org.joni.ast.CClassNode
            astore 8 /* cc */
        start local 8 // org.joni.ast.CClassNode cc
        86: .line 916
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            aload 6 /* xs */
            getfield org.joni.ast.StringNode.bytes:[B
            aload 6 /* xs */
            getfield org.joni.ast.StringNode.p:I
            aload 6 /* xs */
            getfield org.joni.ast.StringNode.p:I
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.maxLength:()I
            iadd
            invokevirtual org.jcodings.Encoding.mbcToCode:([BII)I
            istore 9 /* code */
        start local 9 // int code
        87: .line 917
            aload 8 /* cc */
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            iload 9 /* code */
            invokevirtual org.joni.ast.CClassNode.isCodeInCC:(Lorg/jcodings/Encoding;I)Z
            ifeq 88
            iconst_0
            goto 89
      StackMap locals: org.joni.Analyser org.joni.ast.Node org.joni.ast.Node top int top org.joni.ast.StringNode top org.joni.ast.CClassNode int
      StackMap stack:
        88: iconst_1
      StackMap locals:
      StackMap stack: int
        89: ireturn
        end local 9 // int code
        end local 8 // org.joni.ast.CClassNode cc
        90: .line 920
      StackMap locals: org.joni.Analyser org.joni.ast.Node org.joni.ast.Node top int top org.joni.ast.StringNode
      StackMap stack:
            aload 2 /* y */
            checkcast org.joni.ast.StringNode
            astore 10 /* ys */
        start local 10 // org.joni.ast.StringNode ys
        91: .line 921
            aload 6 /* xs */
            invokevirtual org.joni.ast.StringNode.length:()I
            istore 11 /* len */
        start local 11 // int len
        92: .line 922
            iload 11 /* len */
            aload 10 /* ys */
            invokevirtual org.joni.ast.StringNode.length:()I
            if_icmple 93
            aload 10 /* ys */
            invokevirtual org.joni.ast.StringNode.length:()I
            istore 11 /* len */
        93: .line 923
      StackMap locals: org.joni.Analyser org.joni.ast.Node org.joni.ast.Node top int top org.joni.ast.StringNode top top top org.joni.ast.StringNode int
      StackMap stack:
            aload 6 /* xs */
            invokevirtual org.joni.ast.StringNode.isAmbig:()Z
            ifne 94
            aload 10 /* ys */
            invokevirtual org.joni.ast.StringNode.isAmbig:()Z
            ifeq 95
        94: .line 925
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        95: .line 927
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        96: aload 10 /* ys */
            getfield org.joni.ast.StringNode.p:I
            istore 13 /* p */
        start local 13 // int p
        97: aload 6 /* xs */
            getfield org.joni.ast.StringNode.p:I
            istore 14 /* q */
        start local 14 // int q
        98: goto 101
        99: .line 928
      StackMap locals: int int int
      StackMap stack:
            aload 10 /* ys */
            getfield org.joni.ast.StringNode.bytes:[B
            iload 13 /* p */
            baload
            aload 6 /* xs */
            getfield org.joni.ast.StringNode.bytes:[B
            iload 14 /* q */
            baload
            if_icmpeq 100
            iconst_1
            ireturn
       100: .line 927
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
            iinc 13 /* p */ 1
            iinc 14 /* q */ 1
      StackMap locals:
      StackMap stack:
       101: iload 12 /* i */
            iload 11 /* len */
            if_icmplt 99
        end local 14 // int q
        end local 13 // int p
        end local 12 // int i
       102: .line 931
            goto 103
        end local 11 // int len
        end local 10 // org.joni.ast.StringNode ys
        end local 6 // org.joni.ast.StringNode xs
        end local 4 // int yType
       103: .line 943
      StackMap locals: org.joni.Analyser org.joni.ast.Node org.joni.ast.Node
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.joni.ast.Node y
        end local 1 // org.joni.ast.Node x
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0  104     0    this  Lorg/joni/Analyser;
            0  104     1       x  Lorg/joni/ast/Node;
            0  104     2       y  Lorg/joni/ast/Node;
            8   11     3     tmp  Lorg/joni/ast/Node;
           12   15     3     tmp  Lorg/joni/ast/Node;
           64   67     3     tmp  Lorg/joni/ast/Node;
            1  103     4   yType  I
            4    7     5     cny  Lorg/joni/ast/CTypeNode;
            5    7     6     cnx  Lorg/joni/ast/CTypeNode;
           17   68     5      xc  Lorg/joni/ast/CClassNode;
           19   47     6      yc  Lorg/joni/ast/CTypeNode;
           23   30     7       i  I
           34   45     7       i  I
           37   38     8  isWord  Z
           39   43     8  isWord  Z
           48   63     6      yc  Lorg/joni/ast/CClassNode;
           49   59     7       i  I
           51   57     8       v  Z
           69  103     6      xs  Lorg/joni/ast/StringNode;
           72   85     7      cy  Lorg/joni/ast/CTypeNode;
           86   90     8      cc  Lorg/joni/ast/CClassNode;
           87   90     9    code  I
           91  103    10      ys  Lorg/joni/ast/StringNode;
           92  103    11     len  I
           96  102    12       i  I
           97  102    13       p  I
           98  102    14       q  I
    MethodParameters:
      Name  Flags
      x     
      y     

  private org.joni.ast.Node getHeadValueNode(org.joni.ast.Node, boolean);
    descriptor: (Lorg/joni/ast/Node;Z)Lorg/joni/ast/Node;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
        start local 2 // boolean exact
         0: .line 947
            aconst_null
            astore 3 /* n */
        start local 3 // org.joni.ast.Node n
         1: .line 949
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 0 - 10
                    0: 8
                    1: 4
                    2: 4
                    3: 2
                    4: 2
                    5: 13
                    6: 20
                    7: 30
                    8: 6
                    9: 2
                   10: 3
              default: 33
          }
         2: .line 953
      StackMap locals: org.joni.ast.Node
      StackMap stack:
            goto 33
         3: .line 956
      StackMap locals:
      StackMap stack:
            goto 33
         4: .line 960
      StackMap locals:
      StackMap stack:
            iload 2 /* exact */
            ifne 33
            aload 1 /* node */
            astore 3 /* n */
         5: .line 961
            goto 33
         6: .line 964
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            iload 2 /* exact */
            invokevirtual org.joni.Analyser.getHeadValueNode:(Lorg/joni/ast/Node;Z)Lorg/joni/ast/Node;
            astore 3 /* n */
         7: .line 965
            goto 33
         8: .line 968
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.StringNode
            astore 4 /* sn */
        start local 4 // org.joni.ast.StringNode sn
         9: .line 969
            aload 4 /* sn */
            getfield org.joni.ast.StringNode.end:I
            aload 4 /* sn */
            getfield org.joni.ast.StringNode.p:I
            if_icmpgt 10
            goto 33
        10: .line 971
      StackMap locals: org.joni.ast.StringNode
      StackMap stack:
            iload 2 /* exact */
            ifeq 11
            aload 4 /* sn */
            invokevirtual org.joni.ast.StringNode.isRaw:()Z
            ifne 11
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            getfield org.joni.Regex.options:I
            invokestatic org.joni.Option.isIgnoreCase:(I)Z
            ifne 33
        11: .line 974
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            astore 3 /* n */
        12: .line 976
            goto 33
        end local 4 // org.joni.ast.StringNode sn
        13: .line 979
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            astore 5 /* qn */
        start local 5 // org.joni.ast.QuantifierNode qn
        14: .line 980
            aload 5 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            ifle 33
        15: .line 981
            aload 5 /* qn */
            getfield org.joni.ast.QuantifierNode.headExact:Lorg/joni/ast/Node;
            ifnull 18
        16: .line 982
            aload 5 /* qn */
            getfield org.joni.ast.QuantifierNode.headExact:Lorg/joni/ast/Node;
            astore 3 /* n */
        17: .line 983
            goto 33
        18: .line 984
      StackMap locals: org.joni.Analyser org.joni.ast.Node int org.joni.ast.Node top org.joni.ast.QuantifierNode
      StackMap stack:
            aload 0 /* this */
            aload 5 /* qn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            iload 2 /* exact */
            invokevirtual org.joni.Analyser.getHeadValueNode:(Lorg/joni/ast/Node;Z)Lorg/joni/ast/Node;
            astore 3 /* n */
        19: .line 987
            goto 33
        end local 5 // org.joni.ast.QuantifierNode qn
        20: .line 990
      StackMap locals: org.joni.Analyser org.joni.ast.Node int org.joni.ast.Node
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            astore 6 /* en */
        start local 6 // org.joni.ast.EncloseNode en
        21: .line 992
            aload 6 /* en */
            getfield org.joni.ast.EncloseNode.type:I
            lookupswitch { // 5
                    1: 27
                    2: 22
                    4: 27
                    8: 27
                   16: 29
              default: 29
          }
        22: .line 994
      StackMap locals: org.joni.Analyser org.joni.ast.Node int org.joni.ast.Node top top org.joni.ast.EncloseNode
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            getfield org.joni.Regex.options:I
            istore 7 /* options */
        start local 7 // int options
        23: .line 995
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 6 /* en */
            getfield org.joni.ast.EncloseNode.option:I
            putfield org.joni.Regex.options:I
        24: .line 996
            aload 0 /* this */
            aload 6 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            iload 2 /* exact */
            invokevirtual org.joni.Analyser.getHeadValueNode:(Lorg/joni/ast/Node;Z)Lorg/joni/ast/Node;
            astore 3 /* n */
        25: .line 997
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            iload 7 /* options */
            putfield org.joni.Regex.options:I
        26: .line 998
            goto 33
        end local 7 // int options
        27: .line 1003
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            iload 2 /* exact */
            invokevirtual org.joni.Analyser.getHeadValueNode:(Lorg/joni/ast/Node;Z)Lorg/joni/ast/Node;
            astore 3 /* n */
        28: .line 1004
            goto 33
        29: .line 1009
      StackMap locals:
      StackMap stack:
            goto 33
        end local 6 // org.joni.ast.EncloseNode en
        30: .line 1012
      StackMap locals: org.joni.Analyser org.joni.ast.Node int org.joni.ast.Node
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.AnchorNode
            astore 7 /* an */
        start local 7 // org.joni.ast.AnchorNode an
        31: .line 1013
            aload 7 /* an */
            getfield org.joni.ast.AnchorNode.type:I
            sipush 1024
            if_icmpne 33
            aload 0 /* this */
            aload 7 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            iload 2 /* exact */
            invokevirtual org.joni.Analyser.getHeadValueNode:(Lorg/joni/ast/Node;Z)Lorg/joni/ast/Node;
            astore 3 /* n */
        32: .line 1014
            goto 33
        end local 7 // org.joni.ast.AnchorNode an
        33: .line 1020
      StackMap locals:
      StackMap stack:
            aload 3 /* n */
            areturn
        end local 3 // org.joni.ast.Node n
        end local 2 // boolean exact
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   34     0     this  Lorg/joni/Analyser;
            0   34     1     node  Lorg/joni/ast/Node;
            0   34     2    exact  Z
            1   34     3        n  Lorg/joni/ast/Node;
            9   13     4       sn  Lorg/joni/ast/StringNode;
           14   20     5       qn  Lorg/joni/ast/QuantifierNode;
           21   30     6       en  Lorg/joni/ast/EncloseNode;
           23   27     7  options  I
           31   33     7       an  Lorg/joni/ast/AnchorNode;
    MethodParameters:
       Name  Flags
      node   
      exact  

  private boolean checkTypeTree(org.joni.ast.Node, int, int, int);
    descriptor: (Lorg/joni/ast/Node;III)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
        start local 2 // int typeMask
        start local 3 // int encloseMask
        start local 4 // int anchorMask
         0: .line 1025
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType2Bit:()I
            iload 2 /* typeMask */
            iand
            ifne 1
            iconst_1
            ireturn
         1: .line 1027
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* invalid */
        start local 5 // boolean invalid
         2: .line 1029
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 5 - 9
                    5: 7
                    6: 9
                    7: 13
                    8: 3
                    9: 3
              default: 17
          }
         3: .line 1032
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 6 /* can */
        start local 6 // org.joni.ast.ListNode can
         4: .line 1034
      StackMap locals: org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 6 /* can */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            iload 2 /* typeMask */
            iload 3 /* encloseMask */
            iload 4 /* anchorMask */
            invokevirtual org.joni.Analyser.checkTypeTree:(Lorg/joni/ast/Node;III)Z
            istore 5 /* invalid */
         5: .line 1035
            iload 5 /* invalid */
            ifne 17
            aload 6 /* can */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 6 /* can */
            ifnonnull 4
         6: .line 1036
            goto 17
        end local 6 // org.joni.ast.ListNode can
         7: .line 1039
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            iload 2 /* typeMask */
            iload 3 /* encloseMask */
            iload 4 /* anchorMask */
            invokevirtual org.joni.Analyser.checkTypeTree:(Lorg/joni/ast/Node;III)Z
            istore 5 /* invalid */
         8: .line 1040
            goto 17
         9: .line 1043
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            astore 7 /* en */
        start local 7 // org.joni.ast.EncloseNode en
        10: .line 1044
            aload 7 /* en */
            getfield org.joni.ast.EncloseNode.type:I
            iload 3 /* encloseMask */
            iand
            ifne 11
            iconst_1
            ireturn
        11: .line 1045
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int int int top org.joni.ast.EncloseNode
      StackMap stack:
            aload 0 /* this */
            aload 7 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            iload 2 /* typeMask */
            iload 3 /* encloseMask */
            iload 4 /* anchorMask */
            invokevirtual org.joni.Analyser.checkTypeTree:(Lorg/joni/ast/Node;III)Z
            istore 5 /* invalid */
        12: .line 1046
            goto 17
        end local 7 // org.joni.ast.EncloseNode en
        13: .line 1049
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int int int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.AnchorNode
            astore 8 /* an */
        start local 8 // org.joni.ast.AnchorNode an
        14: .line 1050
            aload 8 /* an */
            getfield org.joni.ast.AnchorNode.type:I
            iload 4 /* anchorMask */
            iand
            ifne 15
            iconst_1
            ireturn
        15: .line 1052
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int int int top top org.joni.ast.AnchorNode
      StackMap stack:
            aload 8 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            ifnull 17
            aload 0 /* this */
            aload 8 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            iload 2 /* typeMask */
            iload 3 /* encloseMask */
            iload 4 /* anchorMask */
            invokevirtual org.joni.Analyser.checkTypeTree:(Lorg/joni/ast/Node;III)Z
            istore 5 /* invalid */
        16: .line 1053
            goto 17
        end local 8 // org.joni.ast.AnchorNode an
        17: .line 1060
      StackMap locals: org.joni.Analyser org.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 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lorg/joni/Analyser;
            0   18     1         node  Lorg/joni/ast/Node;
            0   18     2     typeMask  I
            0   18     3  encloseMask  I
            0   18     4   anchorMask  I
            2   18     5      invalid  Z
            4    7     6          can  Lorg/joni/ast/ListNode;
           10   13     7           en  Lorg/joni/ast/EncloseNode;
           14   17     8           an  Lorg/joni/ast/AnchorNode;
    MethodParameters:
             Name  Flags
      node         
      typeMask     
      encloseMask  
      anchorMask   

  private int subexpInfRecursiveCheck(org.joni.ast.Node, boolean);
    descriptor: (Lorg/joni/ast/Node;Z)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
        start local 2 // boolean head
         0: .line 1066
            iconst_0
            istore 3 /* r */
        start local 3 // int r
         1: .line 1068
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 5 - 10
                    5: 18
                    6: 29
                    7: 23
                    8: 2
                    9: 11
                   10: 27
              default: 40
          }
         2: .line 1071
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 5 /* x */
        start local 5 // org.joni.ast.ListNode x
         3: .line 1073
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int top org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 5 /* x */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            iload 2 /* head */
            invokevirtual org.joni.Analyser.subexpInfRecursiveCheck:(Lorg/joni/ast/Node;Z)I
            istore 6 /* ret */
        start local 6 // int ret
         4: .line 1074
            iload 6 /* ret */
            iconst_2
            if_icmpne 5
            iload 6 /* ret */
            ireturn
         5: .line 1075
      StackMap locals: int
      StackMap stack:
            iload 3 /* r */
            iload 6 /* ret */
            ior
            istore 3 /* r */
         6: .line 1076
            iload 2 /* head */
            ifeq 9
         7: .line 1077
            aload 0 /* this */
            aload 5 /* x */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.getMinMatchLength:(Lorg/joni/ast/Node;)I
            istore 4 /* min */
        start local 4 // int min
         8: .line 1078
            iload 4 /* min */
            ifeq 9
            iconst_0
            istore 2 /* head */
        end local 6 // int ret
        end local 4 // int min
         9: .line 1080
      StackMap locals:
      StackMap stack:
            aload 5 /* x */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 5 /* x */
            ifnonnull 3
        10: .line 1081
            goto 40
        end local 5 // org.joni.ast.ListNode x
        11: .line 1084
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 6 /* can */
        start local 6 // org.joni.ast.ListNode can
        12: .line 1085
            iconst_1
            istore 3 /* r */
        13: .line 1087
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int top top org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 6 /* can */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            iload 2 /* head */
            invokevirtual org.joni.Analyser.subexpInfRecursiveCheck:(Lorg/joni/ast/Node;Z)I
            istore 7 /* ret */
        start local 7 // int ret
        14: .line 1088
            iload 7 /* ret */
            iconst_2
            if_icmpne 15
            iload 7 /* ret */
            ireturn
        15: .line 1089
      StackMap locals: int
      StackMap stack:
            iload 3 /* r */
            iload 7 /* ret */
            iand
            istore 3 /* r */
        end local 7 // int ret
        16: .line 1090
            aload 6 /* can */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 6 /* can */
            ifnonnull 13
        17: .line 1091
            goto 40
        end local 6 // org.joni.ast.ListNode can
        18: .line 1094
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            astore 7 /* qn */
        start local 7 // org.joni.ast.QuantifierNode qn
        19: .line 1095
            aload 0 /* this */
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            iload 2 /* head */
            invokevirtual org.joni.Analyser.subexpInfRecursiveCheck:(Lorg/joni/ast/Node;Z)I
            istore 3 /* r */
        20: .line 1096
            iload 3 /* r */
            iconst_1
            if_icmpne 40
        21: .line 1097
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            ifne 40
            iconst_0
            istore 3 /* r */
        22: .line 1099
            goto 40
        end local 7 // org.joni.ast.QuantifierNode qn
        23: .line 1102
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.AnchorNode
            astore 8 /* an */
        start local 8 // org.joni.ast.AnchorNode an
        24: .line 1103
            aload 8 /* an */
            getfield org.joni.ast.AnchorNode.type:I
            lookupswitch { // 4
                 1024: 25
                 2048: 25
                 4096: 25
                 8192: 25
              default: 26
          }
        25: .line 1108
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int top top top top org.joni.ast.AnchorNode
      StackMap stack:
            aload 0 /* this */
            aload 8 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            iload 2 /* head */
            invokevirtual org.joni.Analyser.subexpInfRecursiveCheck:(Lorg/joni/ast/Node;Z)I
            istore 3 /* r */
        26: .line 1111
      StackMap locals:
      StackMap stack:
            goto 40
        end local 8 // org.joni.ast.AnchorNode an
        27: .line 1114
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.joni.ast.CallNode
            getfield org.joni.ast.CallNode.target:Lorg/joni/ast/EncloseNode;
            iload 2 /* head */
            invokevirtual org.joni.Analyser.subexpInfRecursiveCheck:(Lorg/joni/ast/Node;Z)I
            istore 3 /* r */
        28: .line 1115
            goto 40
        29: .line 1118
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            astore 9 /* en */
        start local 9 // org.joni.ast.EncloseNode en
        30: .line 1119
            aload 9 /* en */
            invokevirtual org.joni.ast.EncloseNode.isMark2:()Z
            ifeq 32
        31: .line 1120
            iconst_0
            ireturn
        32: .line 1121
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int top top top top top org.joni.ast.EncloseNode
      StackMap stack:
            aload 9 /* en */
            invokevirtual org.joni.ast.EncloseNode.isMark1:()Z
            ifeq 36
        33: .line 1122
            iload 2 /* head */
            ifne 34
            iconst_1
            goto 35
      StackMap locals:
      StackMap stack:
        34: iconst_2
      StackMap locals:
      StackMap stack: int
        35: ireturn
        36: .line 1125
      StackMap locals:
      StackMap stack:
            aload 9 /* en */
            invokevirtual org.joni.ast.EncloseNode.setMark2:()V
        37: .line 1126
            aload 0 /* this */
            aload 9 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            iload 2 /* head */
            invokevirtual org.joni.Analyser.subexpInfRecursiveCheck:(Lorg/joni/ast/Node;Z)I
            istore 3 /* r */
        38: .line 1127
            aload 9 /* en */
            invokevirtual org.joni.ast.EncloseNode.clearMark2:()V
        39: .line 1129
            goto 40
        end local 9 // org.joni.ast.EncloseNode en
        40: .line 1134
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int
      StackMap stack:
            iload 3 /* r */
            ireturn
        end local 3 // int r
        end local 2 // boolean head
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   41     0  this  Lorg/joni/Analyser;
            0   41     1  node  Lorg/joni/ast/Node;
            0   41     2  head  Z
            1   41     3     r  I
            8    9     4   min  I
            3   11     5     x  Lorg/joni/ast/ListNode;
            4    9     6   ret  I
           12   18     6   can  Lorg/joni/ast/ListNode;
           14   16     7   ret  I
           19   23     7    qn  Lorg/joni/ast/QuantifierNode;
           24   27     8    an  Lorg/joni/ast/AnchorNode;
           30   40     9    en  Lorg/joni/ast/EncloseNode;
    MethodParameters:
      Name  Flags
      node  
      head  

  protected final int subexpInfRecursiveCheckTrav(org.joni.ast.Node);
    descriptor: (Lorg/joni/ast/Node;)I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
         0: .line 1138
            iconst_0
            istore 2 /* r */
        start local 2 // int r
         1: .line 1140
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 5 - 9
                    5: 6
                    6: 12
                    7: 8
                    8: 2
                    9: 2
              default: 20
          }
         2: .line 1143
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 3 /* can */
        start local 3 // org.joni.ast.ListNode can
         3: .line 1145
      StackMap locals: org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 3 /* can */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.subexpInfRecursiveCheckTrav:(Lorg/joni/ast/Node;)I
            istore 2 /* r */
         4: .line 1146
            iload 2 /* r */
            ifne 20
            aload 3 /* can */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 3 /* can */
            ifnonnull 3
         5: .line 1147
            goto 20
        end local 3 // org.joni.ast.ListNode can
         6: .line 1150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.subexpInfRecursiveCheckTrav:(Lorg/joni/ast/Node;)I
            istore 2 /* r */
         7: .line 1151
            goto 20
         8: .line 1154
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.AnchorNode
            astore 4 /* an */
        start local 4 // org.joni.ast.AnchorNode an
         9: .line 1155
            aload 4 /* an */
            getfield org.joni.ast.AnchorNode.type:I
            lookupswitch { // 4
                 1024: 10
                 2048: 10
                 4096: 10
                 8192: 10
              default: 11
          }
        10: .line 1160
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top org.joni.ast.AnchorNode
      StackMap stack:
            aload 0 /* this */
            aload 4 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.subexpInfRecursiveCheckTrav:(Lorg/joni/ast/Node;)I
            istore 2 /* r */
        11: .line 1163
      StackMap locals:
      StackMap stack:
            goto 20
        end local 4 // org.joni.ast.AnchorNode an
        12: .line 1166
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            astore 5 /* en */
        start local 5 // org.joni.ast.EncloseNode en
        13: .line 1167
            aload 5 /* en */
            invokevirtual org.joni.ast.EncloseNode.isRecursion:()Z
            ifeq 18
        14: .line 1168
            aload 5 /* en */
            invokevirtual org.joni.ast.EncloseNode.setMark1:()V
        15: .line 1169
            aload 0 /* this */
            aload 5 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            iconst_1
            invokevirtual org.joni.Analyser.subexpInfRecursiveCheck:(Lorg/joni/ast/Node;Z)I
            istore 2 /* r */
        16: .line 1170
            iload 2 /* r */
            ifle 17
            aload 0 /* this */
            ldc "never ending recursion"
            invokevirtual org.joni.Analyser.newValueException:(Ljava/lang/String;)V
        17: .line 1171
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top org.joni.ast.EncloseNode
      StackMap stack:
            aload 5 /* en */
            invokevirtual org.joni.ast.EncloseNode.clearMark1:()V
        18: .line 1173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.subexpInfRecursiveCheckTrav:(Lorg/joni/ast/Node;)I
            istore 2 /* r */
        19: .line 1174
            goto 20
        end local 5 // org.joni.ast.EncloseNode en
        20: .line 1180
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            iload 2 /* r */
            ireturn
        end local 2 // int r
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Lorg/joni/Analyser;
            0   21     1  node  Lorg/joni/ast/Node;
            1   21     2     r  I
            3    6     3   can  Lorg/joni/ast/ListNode;
            9   12     4    an  Lorg/joni/ast/AnchorNode;
           13   20     5    en  Lorg/joni/ast/EncloseNode;
    MethodParameters:
      Name  Flags
      node  

  private int subexpRecursiveCheck(org.joni.ast.Node);
    descriptor: (Lorg/joni/ast/Node;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
         0: .line 1184
            iconst_0
            istore 2 /* r */
        start local 2 // int r
         1: .line 1186
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 5 - 10
                    5: 6
                    6: 16
                    7: 8
                    8: 2
                    9: 2
                   10: 12
              default: 25
          }
         2: .line 1189
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 3 /* can */
        start local 3 // org.joni.ast.ListNode can
         3: .line 1191
      StackMap locals: org.joni.ast.ListNode
      StackMap stack:
            iload 2 /* r */
            aload 0 /* this */
            aload 3 /* can */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.subexpRecursiveCheck:(Lorg/joni/ast/Node;)I
            ior
            istore 2 /* r */
         4: .line 1192
            aload 3 /* can */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 3 /* can */
            ifnonnull 3
         5: .line 1193
            goto 25
        end local 3 // org.joni.ast.ListNode can
         6: .line 1196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.subexpRecursiveCheck:(Lorg/joni/ast/Node;)I
            istore 2 /* r */
         7: .line 1197
            goto 25
         8: .line 1200
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.AnchorNode
            astore 4 /* an */
        start local 4 // org.joni.ast.AnchorNode an
         9: .line 1201
            aload 4 /* an */
            getfield org.joni.ast.AnchorNode.type:I
            lookupswitch { // 4
                 1024: 10
                 2048: 10
                 4096: 10
                 8192: 10
              default: 11
          }
        10: .line 1206
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top org.joni.ast.AnchorNode
      StackMap stack:
            aload 0 /* this */
            aload 4 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.subexpRecursiveCheck:(Lorg/joni/ast/Node;)I
            istore 2 /* r */
        11: .line 1209
      StackMap locals:
      StackMap stack:
            goto 25
        end local 4 // org.joni.ast.AnchorNode an
        12: .line 1212
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.CallNode
            astore 5 /* cn */
        start local 5 // org.joni.ast.CallNode cn
        13: .line 1213
            aload 0 /* this */
            aload 5 /* cn */
            getfield org.joni.ast.CallNode.target:Lorg/joni/ast/EncloseNode;
            invokevirtual org.joni.Analyser.subexpRecursiveCheck:(Lorg/joni/ast/Node;)I
            istore 2 /* r */
        14: .line 1214
            iload 2 /* r */
            ifeq 25
            aload 5 /* cn */
            invokevirtual org.joni.ast.CallNode.setRecursion:()V
        15: .line 1215
            goto 25
        end local 5 // org.joni.ast.CallNode cn
        16: .line 1218
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            astore 6 /* en */
        start local 6 // org.joni.ast.EncloseNode en
        17: .line 1219
            aload 6 /* en */
            invokevirtual org.joni.ast.EncloseNode.isMark2:()Z
            ifeq 19
        18: .line 1220
            iconst_0
            ireturn
        19: .line 1221
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top top org.joni.ast.EncloseNode
      StackMap stack:
            aload 6 /* en */
            invokevirtual org.joni.ast.EncloseNode.isMark1:()Z
            ifeq 21
        20: .line 1222
            iconst_1
            ireturn
        21: .line 1224
      StackMap locals:
      StackMap stack:
            aload 6 /* en */
            invokevirtual org.joni.ast.EncloseNode.setMark2:()V
        22: .line 1225
            aload 0 /* this */
            aload 6 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.subexpRecursiveCheck:(Lorg/joni/ast/Node;)I
            istore 2 /* r */
        23: .line 1226
            aload 6 /* en */
            invokevirtual org.joni.ast.EncloseNode.clearMark2:()V
        24: .line 1228
            goto 25
        end local 6 // org.joni.ast.EncloseNode en
        25: .line 1234
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            iload 2 /* r */
            ireturn
        end local 2 // int r
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   26     0  this  Lorg/joni/Analyser;
            0   26     1  node  Lorg/joni/ast/Node;
            1   26     2     r  I
            3    6     3   can  Lorg/joni/ast/ListNode;
            9   12     4    an  Lorg/joni/ast/AnchorNode;
           13   16     5    cn  Lorg/joni/ast/CallNode;
           17   25     6    en  Lorg/joni/ast/EncloseNode;
    MethodParameters:
      Name  Flags
      node  

  protected final int subexpRecursiveCheckTrav(org.joni.ast.Node);
    descriptor: (Lorg/joni/ast/Node;)I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
         0: .line 1239
            iconst_0
            istore 2 /* r */
        start local 2 // int r
         1: .line 1241
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 5 - 9
                    5: 8
                    6: 17
                    7: 13
                    8: 2
                    9: 2
              default: 27
          }
         2: .line 1244
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 3 /* can */
        start local 3 // org.joni.ast.ListNode can
         3: .line 1246
      StackMap locals: org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 3 /* can */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.subexpRecursiveCheckTrav:(Lorg/joni/ast/Node;)I
            istore 4 /* ret */
        start local 4 // int ret
         4: .line 1247
            iload 4 /* ret */
            iconst_1
            if_icmpne 6
         5: .line 1248
            iconst_1
            istore 2 /* r */
        end local 4 // int ret
         6: .line 1251
      StackMap locals:
      StackMap stack:
            aload 3 /* can */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 3 /* can */
            ifnonnull 3
         7: .line 1252
            goto 27
        end local 3 // org.joni.ast.ListNode can
         8: .line 1255
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            astore 4 /* qn */
        start local 4 // org.joni.ast.QuantifierNode qn
         9: .line 1256
            aload 0 /* this */
            aload 4 /* qn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.subexpRecursiveCheckTrav:(Lorg/joni/ast/Node;)I
            istore 2 /* r */
        10: .line 1257
            aload 4 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            ifne 27
        11: .line 1258
            iload 2 /* r */
            iconst_1
            if_icmpne 27
            aload 4 /* qn */
            iconst_1
            putfield org.joni.ast.QuantifierNode.isRefered:Z
        12: .line 1260
            goto 27
        end local 4 // org.joni.ast.QuantifierNode qn
        13: .line 1263
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.AnchorNode
            astore 5 /* an */
        start local 5 // org.joni.ast.AnchorNode an
        14: .line 1264
            aload 5 /* an */
            getfield org.joni.ast.AnchorNode.type:I
            lookupswitch { // 4
                 1024: 15
                 2048: 15
                 4096: 15
                 8192: 15
              default: 16
          }
        15: .line 1269
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top org.joni.ast.AnchorNode
      StackMap stack:
            aload 0 /* this */
            aload 5 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.subexpRecursiveCheckTrav:(Lorg/joni/ast/Node;)I
            istore 2 /* r */
        16: .line 1272
      StackMap locals:
      StackMap stack:
            goto 27
        end local 5 // org.joni.ast.AnchorNode an
        17: .line 1275
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            astore 6 /* en */
        start local 6 // org.joni.ast.EncloseNode en
        18: .line 1276
            aload 6 /* en */
            invokevirtual org.joni.ast.EncloseNode.isRecursion:()Z
            ifne 24
        19: .line 1277
            aload 6 /* en */
            invokevirtual org.joni.ast.EncloseNode.isCalled:()Z
            ifeq 24
        20: .line 1278
            aload 6 /* en */
            invokevirtual org.joni.ast.EncloseNode.setMark1:()V
        21: .line 1279
            aload 0 /* this */
            aload 6 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.subexpRecursiveCheck:(Lorg/joni/ast/Node;)I
            istore 2 /* r */
        22: .line 1280
            iload 2 /* r */
            ifeq 23
            aload 6 /* en */
            invokevirtual org.joni.ast.EncloseNode.setRecursion:()V
        23: .line 1281
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top top org.joni.ast.EncloseNode
      StackMap stack:
            aload 6 /* en */
            invokevirtual org.joni.ast.EncloseNode.clearMark1:()V
        24: .line 1284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.subexpRecursiveCheckTrav:(Lorg/joni/ast/Node;)I
            istore 2 /* r */
        25: .line 1285
            aload 6 /* en */
            invokevirtual org.joni.ast.EncloseNode.isCalled:()Z
            ifeq 27
            iload 2 /* r */
            iconst_1
            ior
            istore 2 /* r */
        26: .line 1286
            goto 27
        end local 6 // org.joni.ast.EncloseNode en
        27: .line 1292
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            iload 2 /* r */
            ireturn
        end local 2 // int r
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   28     0  this  Lorg/joni/Analyser;
            0   28     1  node  Lorg/joni/ast/Node;
            1   28     2     r  I
            3    8     3   can  Lorg/joni/ast/ListNode;
            4    6     4   ret  I
            9   13     4    qn  Lorg/joni/ast/QuantifierNode;
           14   17     5    an  Lorg/joni/ast/AnchorNode;
           18   27     6    en  Lorg/joni/ast/EncloseNode;
    MethodParameters:
      Name  Flags
      node  

  private void setCallAttr(org.joni.ast.CallNode);
    descriptor: (Lorg/joni/ast/CallNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.CallNode cn
         0: .line 1296
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.memNodes:[Lorg/joni/ast/EncloseNode;
            aload 1 /* cn */
            getfield org.joni.ast.CallNode.groupNum:I
            aaload
            astore 2 /* en */
        start local 2 // org.joni.ast.EncloseNode en
         1: .line 1297
            aload 2 /* en */
            ifnonnull 2
            aload 0 /* this */
            ldc "undefined name <%n> reference"
            aload 1 /* cn */
            getfield org.joni.ast.CallNode.nameP:I
            aload 1 /* cn */
            getfield org.joni.ast.CallNode.nameEnd:I
            invokevirtual org.joni.Analyser.newValueException:(Ljava/lang/String;II)V
         2: .line 1298
      StackMap locals: org.joni.ast.EncloseNode
      StackMap stack:
            aload 2 /* en */
            invokevirtual org.joni.ast.EncloseNode.setCalled:()V
         3: .line 1299
            aload 1 /* cn */
            aload 2 /* en */
            invokevirtual org.joni.ast.CallNode.setTarget:(Lorg/joni/ast/EncloseNode;)V
         4: .line 1300
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.btMemStart:I
            aload 1 /* cn */
            getfield org.joni.ast.CallNode.groupNum:I
            invokestatic org.joni.BitStatus.bsOnAt:(II)I
            putfield org.joni.ScanEnvironment.btMemStart:I
         5: .line 1301
            aload 1 /* cn */
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.unsetAddrList:Lorg/joni/UnsetAddrList;
            putfield org.joni.ast.CallNode.unsetAddrList:Lorg/joni/UnsetAddrList;
         6: .line 1302
            return
        end local 2 // org.joni.ast.EncloseNode en
        end local 1 // org.joni.ast.CallNode cn
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/joni/Analyser;
            0    7     1    cn  Lorg/joni/ast/CallNode;
            1    7     2    en  Lorg/joni/ast/EncloseNode;
    MethodParameters:
      Name  Flags
      cn    

  protected final void setupSubExpCall(org.joni.ast.Node);
    descriptor: (Lorg/joni/ast/Node;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
         0: .line 1306
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 5 - 10
                    5: 9
                    6: 11
                    7: 34
                    8: 1
                    9: 5
                   10: 13
              default: 37
          }
         1: .line 1308
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 2 /* ln */
        start local 2 // org.joni.ast.ListNode ln
         2: .line 1310
      StackMap locals: org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 2 /* ln */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.setupSubExpCall:(Lorg/joni/ast/Node;)V
         3: .line 1311
            aload 2 /* ln */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 2 /* ln */
            ifnonnull 2
         4: .line 1312
            goto 37
        end local 2 // org.joni.ast.ListNode ln
         5: .line 1315
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 3 /* can */
        start local 3 // org.joni.ast.ListNode can
         6: .line 1317
      StackMap locals: org.joni.Analyser org.joni.ast.Node top org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 3 /* can */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.setupSubExpCall:(Lorg/joni/ast/Node;)V
         7: .line 1318
            aload 3 /* can */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 3 /* can */
            ifnonnull 6
         8: .line 1319
            goto 37
        end local 3 // org.joni.ast.ListNode can
         9: .line 1322
      StackMap locals: org.joni.Analyser org.joni.ast.Node
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.setupSubExpCall:(Lorg/joni/ast/Node;)V
        10: .line 1323
            goto 37
        11: .line 1326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.setupSubExpCall:(Lorg/joni/ast/Node;)V
        12: .line 1327
            goto 37
        13: .line 1330
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.CallNode
            astore 4 /* cn */
        start local 4 // org.joni.ast.CallNode cn
        14: .line 1331
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.groupNum:I
            ifeq 21
        15: .line 1332
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.groupNum:I
            istore 5 /* gNum */
        start local 5 // int gNum
        16: .line 1335
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numNamed:I
            ifle 18
            aload 0 /* this */
            getfield org.joni.Analyser.syntax:Lorg/joni/Syntax;
            invokevirtual org.joni.Syntax.captureOnlyNamedGroup:()Z
            ifeq 18
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.option:I
            invokestatic org.joni.Option.isCaptureGroup:(I)Z
            ifne 18
        17: .line 1336
            aload 0 /* this */
            ldc "numbered backref/call is not allowed. (use name)"
            invokevirtual org.joni.Analyser.newValueException:(Ljava/lang/String;)V
        18: .line 1339
      StackMap locals: org.joni.Analyser org.joni.ast.Node top top org.joni.ast.CallNode int
      StackMap stack:
            iload 5 /* gNum */
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numMem:I
            if_icmple 19
            aload 0 /* this */
            ldc "undefined group <%n> reference"
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.nameP:I
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.nameEnd:I
            invokevirtual org.joni.Analyser.newValueException:(Ljava/lang/String;II)V
        19: .line 1340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* cn */
            invokevirtual org.joni.Analyser.setCallAttr:(Lorg/joni/ast/CallNode;)V
        end local 5 // int gNum
        20: .line 1341
            goto 37
        21: .line 1343
      StackMap locals:
      StackMap stack:
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.nameP:I
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.nameEnd:I
            if_icmpne 24
        22: .line 1344
            aload 0 /* this */
            aload 4 /* cn */
            invokevirtual org.joni.Analyser.setCallAttr:(Lorg/joni/ast/CallNode;)V
        23: .line 1345
            goto 37
        24: .line 1346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.name:[B
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.nameP:I
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.nameEnd:I
            invokevirtual org.joni.Regex.nameToGroupNumbers:([BII)Lorg/joni/NameEntry;
            astore 5 /* ne */
        start local 5 // org.joni.NameEntry ne
        25: .line 1348
            aload 5 /* ne */
            ifnonnull 28
        26: .line 1349
            aload 0 /* this */
            ldc "undefined name <%n> reference"
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.nameP:I
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.nameEnd:I
            invokevirtual org.joni.Analyser.newValueException:(Ljava/lang/String;II)V
        27: .line 1350
            goto 37
      StackMap locals: org.joni.NameEntry
      StackMap stack:
        28: aload 5 /* ne */
            getfield org.joni.NameEntry.backNum:I
            iconst_1
            if_icmple 31
        29: .line 1351
            aload 0 /* this */
            ldc "multiplex definition name <%n> call"
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.nameP:I
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.nameEnd:I
            invokevirtual org.joni.Analyser.newValueException:(Ljava/lang/String;II)V
        30: .line 1352
            goto 37
        31: .line 1353
      StackMap locals:
      StackMap stack:
            aload 4 /* cn */
            aload 5 /* ne */
            getfield org.joni.NameEntry.backRef1:I
            putfield org.joni.ast.CallNode.groupNum:I
        32: .line 1354
            aload 0 /* this */
            aload 4 /* cn */
            invokevirtual org.joni.Analyser.setCallAttr:(Lorg/joni/ast/CallNode;)V
        end local 5 // org.joni.NameEntry ne
        33: .line 1359
            goto 37
        end local 4 // org.joni.ast.CallNode cn
        34: .line 1362
      StackMap locals: org.joni.Analyser org.joni.ast.Node
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.AnchorNode
            astore 5 /* an */
        start local 5 // org.joni.ast.AnchorNode an
        35: .line 1363
            aload 5 /* an */
            getfield org.joni.ast.AnchorNode.type:I
            lookupswitch { // 4
                 1024: 36
                 2048: 36
                 4096: 36
                 8192: 36
              default: 37
          }
        36: .line 1368
      StackMap locals: org.joni.Analyser org.joni.ast.Node top top top org.joni.ast.AnchorNode
      StackMap stack:
            aload 0 /* this */
            aload 5 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.setupSubExpCall:(Lorg/joni/ast/Node;)V
        end local 5 // org.joni.ast.AnchorNode an
        37: .line 1374
      StackMap locals: org.joni.Analyser org.joni.ast.Node
      StackMap stack:
            return
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   38     0  this  Lorg/joni/Analyser;
            0   38     1  node  Lorg/joni/ast/Node;
            2    5     2    ln  Lorg/joni/ast/ListNode;
            6    9     3   can  Lorg/joni/ast/ListNode;
           14   34     4    cn  Lorg/joni/ast/CallNode;
           16   20     5  gNum  I
           25   33     5    ne  Lorg/joni/NameEntry;
           35   37     5    an  Lorg/joni/ast/AnchorNode;
    MethodParameters:
      Name  Flags
      node  

  private org.joni.ast.Node divideLookBehindAlternatives(org.joni.ast.Node);
    descriptor: (Lorg/joni/ast/Node;)Lorg/joni/ast/Node;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
         0: .line 1381
            aload 1 /* node */
            checkcast org.joni.ast.AnchorNode
            astore 2 /* an */
        start local 2 // org.joni.ast.AnchorNode an
         1: .line 1382
            aload 2 /* an */
            getfield org.joni.ast.AnchorNode.type:I
            istore 3 /* anchorType */
        start local 3 // int anchorType
         2: .line 1383
            aload 2 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            astore 4 /* head */
        start local 4 // org.joni.ast.Node head
         3: .line 1384
            aload 4 /* head */
            checkcast org.joni.ast.ListNode
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            astore 5 /* np */
        start local 5 // org.joni.ast.Node np
         4: .line 1386
            aload 1 /* node */
            aload 4 /* head */
            invokevirtual org.joni.ast.Node.replaceWith:(Lorg/joni/ast/Node;)V
         5: .line 1388
            aload 1 /* node */
            astore 6 /* tmp */
        start local 6 // org.joni.ast.Node tmp
         6: .line 1389
            aload 4 /* head */
            astore 1 /* node */
         7: .line 1390
            aload 6 /* tmp */
            astore 4 /* head */
         8: .line 1392
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            aload 4 /* head */
            invokevirtual org.joni.ast.ListNode.setValue:(Lorg/joni/ast/Node;)V
         9: .line 1393
            aload 4 /* head */
            checkcast org.joni.ast.AnchorNode
            aload 5 /* np */
            invokevirtual org.joni.ast.AnchorNode.setTarget:(Lorg/joni/ast/Node;)V
        10: .line 1394
            aload 1 /* node */
            astore 5 /* np */
        11: .line 1396
            goto 15
        12: .line 1397
      StackMap locals: org.joni.Analyser org.joni.ast.Node org.joni.ast.AnchorNode int org.joni.ast.Node org.joni.ast.Node org.joni.ast.Node
      StackMap stack:
            new org.joni.ast.AnchorNode
            dup
            iload 3 /* anchorType */
            invokespecial org.joni.ast.AnchorNode.<init>:(I)V
            astore 7 /* insert */
        start local 7 // org.joni.ast.AnchorNode insert
        13: .line 1398
            aload 7 /* insert */
            aload 5 /* np */
            checkcast org.joni.ast.ListNode
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            invokevirtual org.joni.ast.AnchorNode.setTarget:(Lorg/joni/ast/Node;)V
        14: .line 1399
            aload 5 /* np */
            checkcast org.joni.ast.ListNode
            aload 7 /* insert */
            invokevirtual org.joni.ast.ListNode.setValue:(Lorg/joni/ast/Node;)V
        end local 7 // org.joni.ast.AnchorNode insert
        15: .line 1396
      StackMap locals:
      StackMap stack:
            aload 5 /* np */
            checkcast org.joni.ast.ListNode
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 5 /* np */
            ifnonnull 12
        16: .line 1402
            iload 3 /* anchorType */
            sipush 8192
            if_icmpne 20
        17: .line 1403
            aload 1 /* node */
            astore 5 /* np */
        18: .line 1405
      StackMap locals:
      StackMap stack:
            aload 5 /* np */
            checkcast org.joni.ast.ListNode
            invokevirtual org.joni.ast.ListNode.toListNode:()V
        19: .line 1406
            aload 5 /* np */
            checkcast org.joni.ast.ListNode
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 5 /* np */
            ifnonnull 18
        20: .line 1409
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            areturn
        end local 6 // org.joni.ast.Node tmp
        end local 5 // org.joni.ast.Node np
        end local 4 // org.joni.ast.Node head
        end local 3 // int anchorType
        end local 2 // org.joni.ast.AnchorNode an
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lorg/joni/Analyser;
            0   21     1        node  Lorg/joni/ast/Node;
            1   21     2          an  Lorg/joni/ast/AnchorNode;
            2   21     3  anchorType  I
            3   21     4        head  Lorg/joni/ast/Node;
            4   21     5          np  Lorg/joni/ast/Node;
            6   21     6         tmp  Lorg/joni/ast/Node;
           13   15     7      insert  Lorg/joni/ast/AnchorNode;
    MethodParameters:
      Name  Flags
      node  

  private org.joni.ast.Node setupLookBehind(org.joni.ast.AnchorNode);
    descriptor: (Lorg/joni/ast/AnchorNode;)Lorg/joni/ast/Node;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.AnchorNode node
         0: .line 1413
            aload 0 /* this */
            aload 1 /* node */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.getCharLengthTree:(Lorg/joni/ast/Node;)I
            istore 2 /* len */
        start local 2 // int len
         1: .line 1414
            aload 0 /* this */
            getfield org.joni.Analyser.returnCode:I
            tableswitch { // -2 - 0
                   -2: 6
                   -1: 4
                    0: 2
              default: 9
          }
         2: .line 1416
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            iload 2 /* len */
            putfield org.joni.ast.AnchorNode.charLength:I
         3: .line 1417
            goto 9
         4: .line 1419
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "invalid pattern in look-behind"
            invokevirtual org.joni.Analyser.newSyntaxException:(Ljava/lang/String;)V
         5: .line 1420
            goto 9
         6: .line 1422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.syntax:Lorg/joni/Syntax;
            invokevirtual org.joni.Syntax.differentLengthAltLookBehind:()Z
            ifeq 8
         7: .line 1423
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.joni.Analyser.divideLookBehindAlternatives:(Lorg/joni/ast/Node;)Lorg/joni/ast/Node;
            areturn
         8: .line 1425
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "invalid pattern in look-behind"
            invokevirtual org.joni.Analyser.newSyntaxException:(Ljava/lang/String;)V
         9: .line 1428
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            areturn
        end local 2 // int len
        end local 1 // org.joni.ast.AnchorNode node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/joni/Analyser;
            0   10     1  node  Lorg/joni/ast/AnchorNode;
            1   10     2   len  I
    MethodParameters:
      Name  Flags
      node  

  private void nextSetup(org.joni.ast.Node, org.joni.ast.Node);
    descriptor: (Lorg/joni/ast/Node;Lorg/joni/ast/Node;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
        start local 2 // org.joni.ast.Node nextNode
         0: .line 1434
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            istore 3 /* type */
        start local 3 // int type
         1: .line 1435
            iload 3 /* type */
            iconst_5
            if_icmpne 18
         2: .line 1436
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            astore 4 /* qn */
        start local 4 // org.joni.ast.QuantifierNode qn
         3: .line 1437
            aload 4 /* qn */
            getfield org.joni.ast.QuantifierNode.greedy:Z
            ifeq 23
            aload 4 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            invokestatic org.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifeq 23
         4: .line 1439
            aload 0 /* this */
            aload 2 /* nextNode */
            iconst_1
            invokevirtual org.joni.Analyser.getHeadValueNode:(Lorg/joni/ast/Node;Z)Lorg/joni/ast/Node;
            checkcast org.joni.ast.StringNode
            astore 5 /* n */
        start local 5 // org.joni.ast.StringNode n
         5: .line 1441
            aload 5 /* n */
            ifnull 7
            aload 5 /* n */
            getfield org.joni.ast.StringNode.bytes:[B
            aload 5 /* n */
            getfield org.joni.ast.StringNode.p:I
            baload
            ifeq 7
         6: .line 1442
            aload 4 /* qn */
            aload 5 /* n */
            putfield org.joni.ast.QuantifierNode.nextHeadExact:Lorg/joni/ast/Node;
        end local 5 // org.joni.ast.StringNode n
         7: .line 1447
      StackMap locals: int org.joni.ast.QuantifierNode
      StackMap stack:
            aload 4 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            iconst_1
            if_icmpgt 23
         8: .line 1448
            aload 4 /* qn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.ast.Node.isSimple:()Z
            ifeq 23
         9: .line 1449
            aload 0 /* this */
            aload 4 /* qn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            iconst_0
            invokevirtual org.joni.Analyser.getHeadValueNode:(Lorg/joni/ast/Node;Z)Lorg/joni/ast/Node;
            astore 5 /* x */
        start local 5 // org.joni.ast.Node x
        10: .line 1450
            aload 5 /* x */
            ifnull 23
        11: .line 1451
            aload 0 /* this */
            aload 2 /* nextNode */
            iconst_0
            invokevirtual org.joni.Analyser.getHeadValueNode:(Lorg/joni/ast/Node;Z)Lorg/joni/ast/Node;
            astore 6 /* y */
        start local 6 // org.joni.ast.Node y
        12: .line 1452
            aload 6 /* y */
            ifnull 23
            aload 0 /* this */
            aload 5 /* x */
            aload 6 /* y */
            invokevirtual org.joni.Analyser.isNotIncluded:(Lorg/joni/ast/Node;Lorg/joni/ast/Node;)Z
            ifeq 23
        13: .line 1453
            new org.joni.ast.EncloseNode
            dup
            iconst_4
            invokespecial org.joni.ast.EncloseNode.<init>:(I)V
            astore 7 /* en */
        start local 7 // org.joni.ast.EncloseNode en
        14: .line 1454
            aload 7 /* en */
            invokevirtual org.joni.ast.EncloseNode.setStopBtSimpleRepeat:()V
        15: .line 1455
            aload 1 /* node */
            aload 7 /* en */
            invokevirtual org.joni.ast.Node.replaceWith:(Lorg/joni/ast/Node;)V
        16: .line 1456
            aload 7 /* en */
            aload 1 /* node */
            invokevirtual org.joni.ast.EncloseNode.setTarget:(Lorg/joni/ast/Node;)V
        end local 7 // org.joni.ast.EncloseNode en
        end local 6 // org.joni.ast.Node y
        end local 5 // org.joni.ast.Node x
        end local 4 // org.joni.ast.QuantifierNode qn
        17: .line 1462
            goto 23
      StackMap locals:
      StackMap stack:
        18: iload 3 /* type */
            bipush 6
            if_icmpne 23
        19: .line 1463
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            astore 4 /* en */
        start local 4 // org.joni.ast.EncloseNode en
        20: .line 1464
            aload 4 /* en */
            invokevirtual org.joni.ast.EncloseNode.isMemory:()Z
            ifeq 23
        21: .line 1465
            aload 4 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            astore 1 /* node */
        end local 4 // org.joni.ast.EncloseNode en
        end local 3 // int type
        22: .line 1432
            goto 0
        23: .line 1472
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.joni.ast.Node nextNode
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Lorg/joni/Analyser;
            0   24     1      node  Lorg/joni/ast/Node;
            0   24     2  nextNode  Lorg/joni/ast/Node;
            1   22     3      type  I
            3   17     4        qn  Lorg/joni/ast/QuantifierNode;
            5    7     5         n  Lorg/joni/ast/StringNode;
           10   17     5         x  Lorg/joni/ast/Node;
           12   17     6         y  Lorg/joni/ast/Node;
           14   17     7        en  Lorg/joni/ast/EncloseNode;
           20   22     4        en  Lorg/joni/ast/EncloseNode;
    MethodParameters:
          Name  Flags
      node      
      nextNode  

  private void updateStringNodeCaseFoldSingleByte(org.joni.ast.StringNode, byte[]);
    descriptor: (Lorg/joni/ast/StringNode;[B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.StringNode sn
        start local 2 // byte[] toLower
         0: .line 1475
            aload 1 /* sn */
            getfield org.joni.ast.StringNode.end:I
            istore 3 /* end */
        start local 3 // int end
         1: .line 1476
            aload 1 /* sn */
            getfield org.joni.ast.StringNode.bytes:[B
            astore 4 /* bytes */
        start local 4 // byte[] bytes
         2: .line 1477
            iconst_0
            istore 5 /* sp */
        start local 5 // int sp
         3: .line 1478
            aload 1 /* sn */
            getfield org.joni.ast.StringNode.p:I
            istore 6 /* p */
        start local 6 // int p
         4: .line 1480
            goto 16
         5: .line 1481
      StackMap locals: org.joni.Analyser org.joni.ast.StringNode byte[] int byte[] int int
      StackMap stack:
            aload 2 /* toLower */
            aload 4 /* bytes */
            iload 6 /* p */
            baload
            sipush 255
            iand
            baload
            istore 7 /* lower */
        start local 7 // byte lower
         6: .line 1482
            iload 7 /* lower */
            aload 4 /* bytes */
            iload 6 /* p */
            baload
            if_icmpeq 14
         7: .line 1483
            iload 3 /* end */
            aload 1 /* sn */
            getfield org.joni.ast.StringNode.p:I
            isub
            newarray 8
            astore 8 /* sbuf */
        start local 8 // byte[] sbuf
         8: .line 1484
            aload 4 /* bytes */
            aload 1 /* sn */
            getfield org.joni.ast.StringNode.p:I
            aload 8 /* sbuf */
            iconst_0
            iload 5 /* sp */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 1486
            goto 11
      StackMap locals: int byte[]
      StackMap stack:
        10: aload 8 /* sbuf */
            iload 5 /* sp */
            iinc 5 /* sp */ 1
            aload 2 /* toLower */
            aload 4 /* bytes */
            iload 6 /* p */
            iinc 6 /* p */ 1
            baload
            sipush 255
            iand
            baload
            bastore
      StackMap locals:
      StackMap stack:
        11: iload 6 /* p */
            iload 3 /* end */
            if_icmplt 10
        12: .line 1488
            aload 1 /* sn */
            aload 8 /* sbuf */
            iconst_0
            iload 5 /* sp */
            invokevirtual org.joni.ast.StringNode.set:([BII)V
        13: .line 1489
            goto 17
        end local 8 // byte[] sbuf
        14: .line 1491
      StackMap locals:
      StackMap stack:
            iinc 5 /* sp */ 1
        15: .line 1492
            iinc 6 /* p */ 1
        end local 7 // byte lower
        16: .line 1480
      StackMap locals:
      StackMap stack:
            iload 6 /* p */
            iload 3 /* end */
            if_icmplt 5
        17: .line 1495
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int p
        end local 5 // int sp
        end local 4 // byte[] bytes
        end local 3 // int end
        end local 2 // byte[] toLower
        end local 1 // org.joni.ast.StringNode sn
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lorg/joni/Analyser;
            0   18     1       sn  Lorg/joni/ast/StringNode;
            0   18     2  toLower  [B
            1   18     3      end  I
            2   18     4    bytes  [B
            3   18     5       sp  I
            4   18     6        p  I
            6   16     7    lower  B
            8   14     8     sbuf  [B
    MethodParameters:
         Name  Flags
      sn       
      toLower  

  private void updateStringNodeCaseFoldMultiByte(org.joni.ast.StringNode);
    descriptor: (Lorg/joni/ast/StringNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.StringNode sn
         0: .line 1498
            aload 1 /* sn */
            getfield org.joni.ast.StringNode.bytes:[B
            astore 2 /* bytes */
        start local 2 // byte[] bytes
         1: .line 1499
            aload 1 /* sn */
            getfield org.joni.ast.StringNode.end:I
            istore 3 /* end */
        start local 3 // int end
         2: .line 1500
            aload 0 /* this */
            aload 1 /* sn */
            getfield org.joni.ast.StringNode.p:I
            putfield org.joni.Analyser.value:I
         3: .line 1501
            iconst_0
            istore 4 /* sp */
        start local 4 // int sp
         4: .line 1502
            bipush 18
            newarray 8
            astore 5 /* buf */
        start local 5 // byte[] buf
         5: .line 1504
            goto 30
         6: .line 1505
      StackMap locals: org.joni.Analyser org.joni.ast.StringNode byte[] int int byte[]
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.value:I
            istore 6 /* ovalue */
        start local 6 // int ovalue
         7: .line 1506
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            getfield org.joni.Regex.caseFoldFlag:I
            aload 2 /* bytes */
            aload 0 /* this */
            iload 3 /* end */
            aload 5 /* buf */
            invokevirtual org.jcodings.Encoding.mbcCaseFold:(I[BLorg/jcodings/IntHolder;I[B)I
            istore 7 /* len */
        start local 7 // int len
         8: .line 1508
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         9: goto 28
        10: .line 1509
      StackMap locals: int int int
      StackMap stack:
            aload 2 /* bytes */
            iload 6 /* ovalue */
            iload 8 /* i */
            iadd
            baload
            aload 5 /* buf */
            iload 8 /* i */
            baload
            if_icmpeq 27
        11: .line 1511
            aload 1 /* sn */
            invokevirtual org.joni.ast.StringNode.length:()I
            iconst_1
            ishl
            newarray 8
            astore 9 /* sbuf */
        start local 9 // byte[] sbuf
        12: .line 1512
            aload 2 /* bytes */
            aload 1 /* sn */
            getfield org.joni.ast.StringNode.p:I
            aload 9 /* sbuf */
            iconst_0
            iload 6 /* ovalue */
            aload 1 /* sn */
            getfield org.joni.ast.StringNode.p:I
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 1513
            aload 0 /* this */
            iload 6 /* ovalue */
            putfield org.joni.Analyser.value:I
        14: .line 1514
            goto 24
        15: .line 1515
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            getfield org.joni.Regex.caseFoldFlag:I
            aload 2 /* bytes */
            aload 0 /* this */
            iload 3 /* end */
            aload 5 /* buf */
            invokevirtual org.jcodings.Encoding.mbcCaseFold:(I[BLorg/jcodings/IntHolder;I[B)I
            istore 7 /* len */
        16: .line 1516
            iconst_0
            istore 8 /* i */
            goto 23
        17: .line 1517
      StackMap locals:
      StackMap stack:
            iload 4 /* sp */
            aload 9 /* sbuf */
            arraylength
            if_icmplt 21
        18: .line 1518
            aload 9 /* sbuf */
            arraylength
            iconst_1
            ishl
            newarray 8
            astore 10 /* tmp */
        start local 10 // byte[] tmp
        19: .line 1519
            aload 9 /* sbuf */
            iconst_0
            aload 10 /* tmp */
            iconst_0
            aload 9 /* sbuf */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        20: .line 1520
            aload 10 /* tmp */
            astore 9 /* sbuf */
        end local 10 // byte[] tmp
        21: .line 1522
      StackMap locals:
      StackMap stack:
            aload 9 /* sbuf */
            iload 4 /* sp */
            iinc 4 /* sp */ 1
            aload 5 /* buf */
            iload 8 /* i */
            baload
            bastore
        22: .line 1516
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 8 /* i */
            iload 7 /* len */
            if_icmplt 17
        24: .line 1514
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.value:I
            iload 3 /* end */
            if_icmplt 15
        25: .line 1525
            aload 1 /* sn */
            aload 9 /* sbuf */
            iconst_0
            iload 4 /* sp */
            invokevirtual org.joni.ast.StringNode.set:([BII)V
        26: .line 1526
            return
        end local 9 // byte[] sbuf
        27: .line 1508
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 8 /* i */
            iload 7 /* len */
            if_icmplt 10
        end local 8 // int i
        29: .line 1529
            iload 4 /* sp */
            iload 7 /* len */
            iadd
            istore 4 /* sp */
        end local 7 // int len
        end local 6 // int ovalue
        30: .line 1504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.value:I
            iload 3 /* end */
            if_icmplt 6
        31: .line 1531
            return
        end local 5 // byte[] buf
        end local 4 // int sp
        end local 3 // int end
        end local 2 // byte[] bytes
        end local 1 // org.joni.ast.StringNode sn
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   32     0    this  Lorg/joni/Analyser;
            0   32     1      sn  Lorg/joni/ast/StringNode;
            1   32     2   bytes  [B
            2   32     3     end  I
            4   32     4      sp  I
            5   32     5     buf  [B
            7   30     6  ovalue  I
            8   30     7     len  I
            9   29     8       i  I
           12   27     9    sbuf  [B
           19   21    10     tmp  [B
    MethodParameters:
      Name  Flags
      sn    

  private void updateStringNodeCaseFold(org.joni.ast.Node);
    descriptor: (Lorg/joni/ast/Node;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
         0: .line 1534
            aload 1 /* node */
            checkcast org.joni.ast.StringNode
            astore 2 /* sn */
        start local 2 // org.joni.ast.StringNode sn
         1: .line 1535
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.toLowerCaseTable:()[B
            astore 3 /* toLower */
        start local 3 // byte[] toLower
         2: .line 1536
            aload 3 /* toLower */
            ifnull 5
         3: .line 1537
            aload 0 /* this */
            aload 2 /* sn */
            aload 3 /* toLower */
            invokevirtual org.joni.Analyser.updateStringNodeCaseFoldSingleByte:(Lorg/joni/ast/StringNode;[B)V
         4: .line 1538
            goto 6
         5: .line 1539
      StackMap locals: org.joni.ast.StringNode byte[]
      StackMap stack:
            aload 0 /* this */
            aload 2 /* sn */
            invokevirtual org.joni.Analyser.updateStringNodeCaseFoldMultiByte:(Lorg/joni/ast/StringNode;)V
         6: .line 1541
      StackMap locals:
      StackMap stack:
            return
        end local 3 // byte[] toLower
        end local 2 // org.joni.ast.StringNode sn
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/joni/Analyser;
            0    7     1     node  Lorg/joni/ast/Node;
            1    7     2       sn  Lorg/joni/ast/StringNode;
            2    7     3  toLower  [B
    MethodParameters:
      Name  Flags
      node  

  private org.joni.ast.Node expandCaseFoldMakeRemString(byte[], int, int);
    descriptor: ([BII)Lorg/joni/ast/Node;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.joni.Analyser this
        start local 1 // byte[] bytes
        start local 2 // int p
        start local 3 // int end
         0: .line 1544
            new org.joni.ast.StringNode
            dup
            aload 1 /* bytes */
            iload 2 /* p */
            iload 3 /* end */
            invokespecial org.joni.ast.StringNode.<init>:([BII)V
            astore 4 /* node */
        start local 4 // org.joni.ast.StringNode node
         1: .line 1546
            aload 0 /* this */
            aload 4 /* node */
            invokevirtual org.joni.Analyser.updateStringNodeCaseFold:(Lorg/joni/ast/Node;)V
         2: .line 1547
            aload 4 /* node */
            invokevirtual org.joni.ast.StringNode.setAmbig:()V
         3: .line 1548
            aload 4 /* node */
            invokevirtual org.joni.ast.StringNode.setDontGetOptInfo:()V
         4: .line 1549
            aload 4 /* node */
            areturn
        end local 4 // org.joni.ast.StringNode node
        end local 3 // int end
        end local 2 // int p
        end local 1 // byte[] bytes
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/joni/Analyser;
            0    5     1  bytes  [B
            0    5     2      p  I
            0    5     3    end  I
            1    5     4   node  Lorg/joni/ast/StringNode;
    MethodParameters:
       Name  Flags
      bytes  
      p      
      end    

  private boolean isCaseFoldVariableLength(int, org.jcodings.CaseFoldCodeItem[], int);
    descriptor: (I[Lorg/jcodings/CaseFoldCodeItem;I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // org.joni.Analyser this
        start local 1 // int itemNum
        start local 2 // org.jcodings.CaseFoldCodeItem[] items
        start local 3 // int slen
         0: .line 1553
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 5
         2: .line 1554
      StackMap locals: int
      StackMap stack:
            aload 2 /* items */
            iload 4 /* i */
            aaload
            getfield org.jcodings.CaseFoldCodeItem.byteLen:I
            iload 3 /* slen */
            if_icmpne 3
            aload 2 /* items */
            iload 4 /* i */
            aaload
            getfield org.jcodings.CaseFoldCodeItem.code:[I
            arraylength
            iconst_1
            if_icmpeq 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
         4: .line 1553
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 1 /* itemNum */
            if_icmplt 2
        end local 4 // int i
         6: .line 1556
            iconst_0
            ireturn
        end local 3 // int slen
        end local 2 // org.jcodings.CaseFoldCodeItem[] items
        end local 1 // int itemNum
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/joni/Analyser;
            0    7     1  itemNum  I
            0    7     2    items  [Lorg/jcodings/CaseFoldCodeItem;
            0    7     3     slen  I
            1    6     4        i  I
    MethodParameters:
         Name  Flags
      itemNum  
      items    
      slen     

  private boolean expandCaseFoldStringAlt(int, org.jcodings.CaseFoldCodeItem[], byte[], int, int, int, org.jcodings.ObjPtr<org.joni.ast.Node>);
    descriptor: (I[Lorg/jcodings/CaseFoldCodeItem;[BIIILorg/jcodings/ObjPtr;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=17, args_size=8
        start local 0 // org.joni.Analyser this
        start local 1 // int itemNum
        start local 2 // org.jcodings.CaseFoldCodeItem[] items
        start local 3 // byte[] bytes
        start local 4 // int p
        start local 5 // int slen
        start local 6 // int end
        start local 7 // org.jcodings.ObjPtr node
         0: .line 1561
            iconst_0
            istore 8 /* varlen */
        start local 8 // boolean varlen
         1: .line 1562
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         2: goto 7
         3: .line 1563
      StackMap locals: int int
      StackMap stack:
            aload 2 /* items */
            iload 9 /* i */
            aaload
            getfield org.jcodings.CaseFoldCodeItem.byteLen:I
            iload 5 /* slen */
            if_icmpeq 6
         4: .line 1564
            iconst_1
            istore 8 /* varlen */
         5: .line 1565
            goto 8
         6: .line 1562
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 9 /* i */
            iload 1 /* itemNum */
            if_icmplt 3
        end local 9 // int i
         8: .line 1569
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* varANode */
        start local 9 // org.joni.ast.ListNode varANode
         9: .line 1570
            iload 8 /* varlen */
            ifeq 16
        10: .line 1571
            aload 7 /* node */
            aconst_null
            aconst_null
            invokestatic org.joni.ast.ListNode.newAlt:(Lorg/joni/ast/Node;Lorg/joni/ast/ListNode;)Lorg/joni/ast/ListNode;
            dup
            astore 9 /* varANode */
            putfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
        11: .line 1573
            aconst_null
            aconst_null
            invokestatic org.joni.ast.ListNode.newList:(Lorg/joni/ast/Node;Lorg/joni/ast/ListNode;)Lorg/joni/ast/ListNode;
            astore 11 /* listNode */
        start local 11 // org.joni.ast.ListNode listNode
        12: .line 1574
            aload 9 /* varANode */
            aload 11 /* listNode */
            invokevirtual org.joni.ast.ListNode.setValue:(Lorg/joni/ast/Node;)V
        13: .line 1576
            aconst_null
            aconst_null
            invokestatic org.joni.ast.ListNode.newAlt:(Lorg/joni/ast/Node;Lorg/joni/ast/ListNode;)Lorg/joni/ast/ListNode;
            astore 10 /* altNode */
        start local 10 // org.joni.ast.ListNode altNode
        14: .line 1577
            aload 11 /* listNode */
            aload 10 /* altNode */
            invokevirtual org.joni.ast.ListNode.setValue:(Lorg/joni/ast/Node;)V
        15: .line 1578
            goto 18
        end local 11 // org.joni.ast.ListNode listNode
        end local 10 // org.joni.ast.ListNode altNode
        16: .line 1579
      StackMap locals: org.joni.ast.ListNode
      StackMap stack:
            aload 7 /* node */
            aconst_null
            aconst_null
            invokestatic org.joni.ast.ListNode.newAlt:(Lorg/joni/ast/Node;Lorg/joni/ast/ListNode;)Lorg/joni/ast/ListNode;
            dup
            astore 10 /* altNode */
        start local 10 // org.joni.ast.ListNode altNode
        17: putfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
        18: .line 1582
      StackMap locals: org.joni.ast.ListNode
      StackMap stack:
            new org.joni.ast.StringNode
            dup
            aload 3 /* bytes */
            iload 4 /* p */
            iload 4 /* p */
            iload 5 /* slen */
            iadd
            invokespecial org.joni.ast.StringNode.<init>:([BII)V
            astore 12 /* snode */
        start local 12 // org.joni.ast.StringNode snode
        19: .line 1583
            aload 10 /* altNode */
            aload 12 /* snode */
            invokevirtual org.joni.ast.ListNode.setValue:(Lorg/joni/ast/Node;)V
        20: .line 1585
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        21: goto 44
        22: .line 1586
      StackMap locals: org.joni.Analyser int org.jcodings.CaseFoldCodeItem[] byte[] int int int org.jcodings.ObjPtr int org.joni.ast.ListNode org.joni.ast.ListNode top org.joni.ast.StringNode int
      StackMap stack:
            new org.joni.ast.StringNode
            dup
            invokespecial org.joni.ast.StringNode.<init>:()V
            astore 12 /* snode */
        23: .line 1588
            iconst_0
            istore 14 /* j */
        start local 14 // int j
        24: goto 26
      StackMap locals: int
      StackMap stack:
        25: aload 12 /* snode */
            aload 2 /* items */
            iload 13 /* i */
            aaload
            getfield org.jcodings.CaseFoldCodeItem.code:[I
            iload 14 /* j */
            iaload
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.joni.ast.StringNode.catCode:(ILorg/jcodings/Encoding;)V
            iinc 14 /* j */ 1
      StackMap locals:
      StackMap stack:
        26: iload 14 /* j */
            aload 2 /* items */
            iload 13 /* i */
            aaload
            getfield org.jcodings.CaseFoldCodeItem.code:[I
            arraylength
            if_icmplt 25
        end local 14 // int j
        27: .line 1590
            aconst_null
            aconst_null
            invokestatic org.joni.ast.ListNode.newAlt:(Lorg/joni/ast/Node;Lorg/joni/ast/ListNode;)Lorg/joni/ast/ListNode;
            astore 14 /* an */
        start local 14 // org.joni.ast.ListNode an
        28: .line 1591
            aload 2 /* items */
            iload 13 /* i */
            aaload
            getfield org.jcodings.CaseFoldCodeItem.byteLen:I
            iload 5 /* slen */
            if_icmpeq 40
        29: .line 1592
            iload 4 /* p */
            aload 2 /* items */
            iload 13 /* i */
            aaload
            getfield org.jcodings.CaseFoldCodeItem.byteLen:I
            iadd
            istore 15 /* q */
        start local 15 // int q
        30: .line 1593
            iload 15 /* q */
            iload 6 /* end */
            if_icmpge 36
        31: .line 1594
            aload 0 /* this */
            aload 3 /* bytes */
            iload 15 /* q */
            iload 6 /* end */
            invokevirtual org.joni.Analyser.expandCaseFoldMakeRemString:([BII)Lorg/joni/ast/Node;
            astore 16 /* rem */
        start local 16 // org.joni.ast.Node rem
        32: .line 1596
            aconst_null
            aload 12 /* snode */
            invokestatic org.joni.ast.ListNode.listAdd:(Lorg/joni/ast/ListNode;Lorg/joni/ast/Node;)Lorg/joni/ast/ListNode;
            astore 11 /* listNode */
        start local 11 // org.joni.ast.ListNode listNode
        33: .line 1597
            aload 11 /* listNode */
            aload 16 /* rem */
            invokestatic org.joni.ast.ListNode.listAdd:(Lorg/joni/ast/ListNode;Lorg/joni/ast/Node;)Lorg/joni/ast/ListNode;
            pop
        34: .line 1598
            aload 14 /* an */
            aload 11 /* listNode */
            invokevirtual org.joni.ast.ListNode.setValue:(Lorg/joni/ast/Node;)V
        end local 16 // org.joni.ast.Node rem
        35: .line 1599
            goto 37
        end local 11 // org.joni.ast.ListNode listNode
        36: .line 1600
      StackMap locals: org.joni.Analyser int org.jcodings.CaseFoldCodeItem[] byte[] int int int org.jcodings.ObjPtr int org.joni.ast.ListNode org.joni.ast.ListNode top org.joni.ast.StringNode int org.joni.ast.ListNode int
      StackMap stack:
            aload 14 /* an */
            aload 12 /* snode */
            invokevirtual org.joni.ast.ListNode.setValue:(Lorg/joni/ast/Node;)V
        37: .line 1602
      StackMap locals:
      StackMap stack:
            aload 9 /* varANode */
            aload 14 /* an */
            invokevirtual org.joni.ast.ListNode.setTail:(Lorg/joni/ast/ListNode;)V
        38: .line 1603
            aload 14 /* an */
            astore 9 /* varANode */
        end local 15 // int q
        39: .line 1604
            goto 43
        40: .line 1605
      StackMap locals:
      StackMap stack:
            aload 14 /* an */
            aload 12 /* snode */
            invokevirtual org.joni.ast.ListNode.setValue:(Lorg/joni/ast/Node;)V
        41: .line 1606
            aload 10 /* altNode */
            aload 14 /* an */
            invokevirtual org.joni.ast.ListNode.setTail:(Lorg/joni/ast/ListNode;)V
        42: .line 1607
            aload 14 /* an */
            astore 10 /* altNode */
        end local 14 // org.joni.ast.ListNode an
        43: .line 1585
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 13 /* i */
            iload 1 /* itemNum */
            if_icmplt 22
        end local 13 // int i
        45: .line 1610
            iload 8 /* varlen */
            ireturn
        end local 12 // org.joni.ast.StringNode snode
        end local 10 // org.joni.ast.ListNode altNode
        end local 9 // org.joni.ast.ListNode varANode
        end local 8 // boolean varlen
        end local 7 // org.jcodings.ObjPtr node
        end local 6 // int end
        end local 5 // int slen
        end local 4 // int p
        end local 3 // byte[] bytes
        end local 2 // org.jcodings.CaseFoldCodeItem[] items
        end local 1 // int itemNum
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   46     0      this  Lorg/joni/Analyser;
            0   46     1   itemNum  I
            0   46     2     items  [Lorg/jcodings/CaseFoldCodeItem;
            0   46     3     bytes  [B
            0   46     4         p  I
            0   46     5      slen  I
            0   46     6       end  I
            0   46     7      node  Lorg/jcodings/ObjPtr<Lorg/joni/ast/Node;>;
            1   46     8    varlen  Z
            2    8     9         i  I
            9   46     9  varANode  Lorg/joni/ast/ListNode;
           14   16    10   altNode  Lorg/joni/ast/ListNode;
           17   46    10   altNode  Lorg/joni/ast/ListNode;
           12   16    11  listNode  Lorg/joni/ast/ListNode;
           33   36    11  listNode  Lorg/joni/ast/ListNode;
           19   46    12     snode  Lorg/joni/ast/StringNode;
           21   45    13         i  I
           24   27    14         j  I
           28   43    14        an  Lorg/joni/ast/ListNode;
           30   39    15         q  I
           32   35    16       rem  Lorg/joni/ast/Node;
    Signature: (I[Lorg/jcodings/CaseFoldCodeItem;[BIIILorg/jcodings/ObjPtr<Lorg/joni/ast/Node;>;)Z
    MethodParameters:
         Name  Flags
      itemNum  
      items    
      bytes    
      p        
      slen     
      end      
      node     

  private org.joni.ast.Node expandCaseFoldString(org.joni.ast.Node);
    descriptor: (Lorg/joni/ast/Node;)Lorg/joni/ast/Node;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=13, args_size=2
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
         0: .line 1615
            aload 1 /* node */
            checkcast org.joni.ast.StringNode
            astore 2 /* sn */
        start local 2 // org.joni.ast.StringNode sn
         1: .line 1617
            aload 2 /* sn */
            invokevirtual org.joni.ast.StringNode.isAmbig:()Z
            ifne 2
            aload 2 /* sn */
            invokevirtual org.joni.ast.StringNode.length:()I
            ifgt 3
      StackMap locals: org.joni.ast.StringNode
      StackMap stack:
         2: aload 1 /* node */
            areturn
         3: .line 1619
      StackMap locals:
      StackMap stack:
            aload 2 /* sn */
            getfield org.joni.ast.StringNode.bytes:[B
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         4: .line 1620
            aload 2 /* sn */
            getfield org.joni.ast.StringNode.p:I
            istore 4 /* p */
        start local 4 // int p
         5: .line 1621
            aload 2 /* sn */
            getfield org.joni.ast.StringNode.end:I
            istore 5 /* end */
        start local 5 // int end
         6: .line 1622
            iconst_1
            istore 6 /* altNum */
        start local 6 // int altNum
         7: .line 1624
            aconst_null
            astore 7 /* topRoot */
        start local 7 // org.joni.ast.ListNode topRoot
         8: aconst_null
            astore 8 /* root */
        start local 8 // org.joni.ast.ListNode root
         9: .line 1625
            new org.jcodings.ObjPtr
            dup
            invokespecial org.jcodings.ObjPtr.<init>:()V
            astore 9 /* prevNode */
        start local 9 // org.jcodings.ObjPtr prevNode
        10: .line 1626
            aconst_null
            astore 10 /* stringNode */
        start local 10 // org.joni.ast.StringNode stringNode
        11: .line 1628
            goto 39
        12: .line 1629
      StackMap locals: org.joni.Analyser org.joni.ast.Node org.joni.ast.StringNode byte[] int int int org.joni.ast.ListNode org.joni.ast.ListNode org.jcodings.ObjPtr org.joni.ast.StringNode
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            getfield org.joni.Regex.caseFoldFlag:I
            aload 3 /* bytes */
            iload 4 /* p */
            iload 5 /* end */
            invokevirtual org.jcodings.Encoding.caseFoldCodesByString:(I[BII)[Lorg/jcodings/CaseFoldCodeItem;
            astore 11 /* items */
        start local 11 // org.jcodings.CaseFoldCodeItem[] items
        13: .line 1630
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            aload 3 /* bytes */
            iload 4 /* p */
            iload 5 /* end */
            invokevirtual org.jcodings.Encoding.length:([BII)I
            istore 12 /* len */
        start local 12 // int len
        14: .line 1632
            aload 11 /* items */
            arraylength
            ifeq 15
            aload 0 /* this */
            aload 11 /* items */
            arraylength
            aload 11 /* items */
            iload 12 /* len */
            invokevirtual org.joni.Analyser.isCaseFoldVariableLength:(I[Lorg/jcodings/CaseFoldCodeItem;I)Z
            ifne 22
        15: .line 1633
      StackMap locals: org.jcodings.CaseFoldCodeItem[] int
      StackMap stack:
            aload 10 /* stringNode */
            ifnonnull 20
        16: .line 1634
            aload 8 /* root */
            ifnonnull 18
            aload 9 /* prevNode */
            getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
            ifnull 18
        17: .line 1635
            aconst_null
            aload 9 /* prevNode */
            getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
            checkcast org.joni.ast.Node
            invokestatic org.joni.ast.ListNode.listAdd:(Lorg/joni/ast/ListNode;Lorg/joni/ast/Node;)Lorg/joni/ast/ListNode;
            dup
            astore 8 /* root */
            astore 7 /* topRoot */
        18: .line 1638
      StackMap locals:
      StackMap stack:
            aload 9 /* prevNode */
            new org.joni.ast.StringNode
            dup
            invokespecial org.joni.ast.StringNode.<init>:()V
            dup
            astore 10 /* stringNode */
            putfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
        19: .line 1640
            aload 8 /* root */
            ifnull 20
            aload 8 /* root */
            aload 10 /* stringNode */
            invokestatic org.joni.ast.ListNode.listAdd:(Lorg/joni/ast/ListNode;Lorg/joni/ast/Node;)Lorg/joni/ast/ListNode;
            pop
        20: .line 1644
      StackMap locals:
      StackMap stack:
            aload 10 /* stringNode */
            aload 3 /* bytes */
            iload 4 /* p */
            iload 4 /* p */
            iload 12 /* len */
            iadd
            invokevirtual org.joni.ast.StringNode.catBytes:([BII)V
        21: .line 1645
            goto 38
        22: .line 1646
      StackMap locals:
      StackMap stack:
            iload 6 /* altNum */
            aload 11 /* items */
            arraylength
            iconst_1
            iadd
            imul
            istore 6 /* altNum */
        23: .line 1647
            iload 6 /* altNum */
            bipush 8
            if_icmple 24
            goto 40
        24: .line 1648
      StackMap locals:
      StackMap stack:
            aload 10 /* stringNode */
            ifnull 27
        25: .line 1649
            aload 0 /* this */
            aload 10 /* stringNode */
            invokevirtual org.joni.Analyser.updateStringNodeCaseFold:(Lorg/joni/ast/Node;)V
        26: .line 1650
            aload 10 /* stringNode */
            invokevirtual org.joni.ast.StringNode.setAmbig:()V
        27: .line 1653
      StackMap locals:
      StackMap stack:
            aload 8 /* root */
            ifnonnull 29
            aload 9 /* prevNode */
            getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
            ifnull 29
        28: .line 1654
            aconst_null
            aload 9 /* prevNode */
            getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
            checkcast org.joni.ast.Node
            invokestatic org.joni.ast.ListNode.listAdd:(Lorg/joni/ast/ListNode;Lorg/joni/ast/Node;)Lorg/joni/ast/ListNode;
            dup
            astore 8 /* root */
            astore 7 /* topRoot */
        29: .line 1657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* items */
            arraylength
            aload 11 /* items */
            aload 3 /* bytes */
            iload 4 /* p */
            iload 12 /* len */
            iload 5 /* end */
            aload 9 /* prevNode */
            invokevirtual org.joni.Analyser.expandCaseFoldStringAlt:(I[Lorg/jcodings/CaseFoldCodeItem;[BIIILorg/jcodings/ObjPtr;)Z
            ifeq 36
        30: .line 1658
            aload 8 /* root */
            ifnonnull 33
        31: .line 1659
            aload 9 /* prevNode */
            getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
            checkcast org.joni.ast.ListNode
            astore 7 /* topRoot */
        32: .line 1660
            goto 34
        33: .line 1661
      StackMap locals:
      StackMap stack:
            aload 8 /* root */
            aload 9 /* prevNode */
            getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
            checkcast org.joni.ast.Node
            invokestatic org.joni.ast.ListNode.listAdd:(Lorg/joni/ast/ListNode;Lorg/joni/ast/Node;)Lorg/joni/ast/ListNode;
            pop
        34: .line 1664
      StackMap locals:
      StackMap stack:
            aload 9 /* prevNode */
            getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
            checkcast org.joni.ast.ListNode
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            checkcast org.joni.ast.ListNode
            astore 8 /* root */
        35: .line 1665
            goto 37
        36: .line 1666
      StackMap locals:
      StackMap stack:
            aload 8 /* root */
            ifnull 37
            aload 8 /* root */
            aload 9 /* prevNode */
            getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
            checkcast org.joni.ast.Node
            invokestatic org.joni.ast.ListNode.listAdd:(Lorg/joni/ast/ListNode;Lorg/joni/ast/Node;)Lorg/joni/ast/ListNode;
            pop
        37: .line 1668
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 10 /* stringNode */
        38: .line 1670
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 12 /* len */
            iadd
            istore 4 /* p */
        end local 12 // int len
        end local 11 // org.jcodings.CaseFoldCodeItem[] items
        39: .line 1628
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 5 /* end */
            if_icmplt 12
        40: .line 1673
      StackMap locals:
      StackMap stack:
            aload 10 /* stringNode */
            ifnull 43
        41: .line 1674
            aload 0 /* this */
            aload 10 /* stringNode */
            invokevirtual org.joni.Analyser.updateStringNodeCaseFold:(Lorg/joni/ast/Node;)V
        42: .line 1675
            aload 10 /* stringNode */
            invokevirtual org.joni.ast.StringNode.setAmbig:()V
        43: .line 1678
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 5 /* end */
            if_icmpge 51
        44: .line 1679
            aload 0 /* this */
            aload 3 /* bytes */
            iload 4 /* p */
            iload 5 /* end */
            invokevirtual org.joni.Analyser.expandCaseFoldMakeRemString:([BII)Lorg/joni/ast/Node;
            astore 11 /* srem */
        start local 11 // org.joni.ast.Node srem
        45: .line 1681
            aload 9 /* prevNode */
            getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
            ifnull 47
            aload 8 /* root */
            ifnonnull 47
        46: .line 1682
            aconst_null
            aload 9 /* prevNode */
            getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
            checkcast org.joni.ast.Node
            invokestatic org.joni.ast.ListNode.listAdd:(Lorg/joni/ast/ListNode;Lorg/joni/ast/Node;)Lorg/joni/ast/ListNode;
            dup
            astore 8 /* root */
            astore 7 /* topRoot */
        47: .line 1685
      StackMap locals: org.joni.ast.Node
      StackMap stack:
            aload 8 /* root */
            ifnonnull 50
        48: .line 1686
            aload 9 /* prevNode */
            aload 11 /* srem */
            putfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
        49: .line 1687
            goto 51
        50: .line 1688
      StackMap locals:
      StackMap stack:
            aload 8 /* root */
            aload 11 /* srem */
            invokestatic org.joni.ast.ListNode.listAdd:(Lorg/joni/ast/ListNode;Lorg/joni/ast/Node;)Lorg/joni/ast/ListNode;
            pop
        end local 11 // org.joni.ast.Node srem
        51: .line 1692
      StackMap locals:
      StackMap stack:
            aload 7 /* topRoot */
            ifnull 52
            aload 7 /* topRoot */
            goto 53
      StackMap locals:
      StackMap stack:
        52: aload 9 /* prevNode */
            getfield org.jcodings.ObjPtr.p:Ljava/lang/Object;
            checkcast org.joni.ast.Node
      StackMap locals:
      StackMap stack: org.joni.ast.Node
        53: astore 11 /* xnode */
        start local 11 // org.joni.ast.Node xnode
        54: .line 1694
            aload 1 /* node */
            aload 11 /* xnode */
            invokevirtual org.joni.ast.Node.replaceWith:(Lorg/joni/ast/Node;)V
        55: .line 1695
            aload 11 /* xnode */
            areturn
        end local 11 // org.joni.ast.Node xnode
        end local 10 // org.joni.ast.StringNode stringNode
        end local 9 // org.jcodings.ObjPtr prevNode
        end local 8 // org.joni.ast.ListNode root
        end local 7 // org.joni.ast.ListNode topRoot
        end local 6 // int altNum
        end local 5 // int end
        end local 4 // int p
        end local 3 // byte[] bytes
        end local 2 // org.joni.ast.StringNode sn
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   56     0        this  Lorg/joni/Analyser;
            0   56     1        node  Lorg/joni/ast/Node;
            1   56     2          sn  Lorg/joni/ast/StringNode;
            4   56     3       bytes  [B
            5   56     4           p  I
            6   56     5         end  I
            7   56     6      altNum  I
            8   56     7     topRoot  Lorg/joni/ast/ListNode;
            9   56     8        root  Lorg/joni/ast/ListNode;
           10   56     9    prevNode  Lorg/jcodings/ObjPtr<Lorg/joni/ast/Node;>;
           11   56    10  stringNode  Lorg/joni/ast/StringNode;
           13   39    11       items  [Lorg/jcodings/CaseFoldCodeItem;
           14   39    12         len  I
           45   51    11        srem  Lorg/joni/ast/Node;
           54   56    11       xnode  Lorg/joni/ast/Node;
    MethodParameters:
      Name  Flags
      node  

  protected final int setupCombExpCheck(org.joni.ast.Node, int);
    descriptor: (Lorg/joni/ast/Node;I)I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=13, args_size=3
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
        start local 2 // int state
         0: .line 1706
            iload 2 /* state */
            istore 3 /* r */
        start local 3 // int r
         1: .line 1709
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 5 - 10
                    5: 11
                    6: 47
                    7: 61
                    8: 2
                    9: 6
                   10: 55
              default: 61
          }
         2: .line 1711
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 5 /* ln */
        start local 5 // org.joni.ast.ListNode ln
         3: .line 1714
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int top org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 5 /* ln */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            iload 3 /* r */
            invokevirtual org.joni.Analyser.setupCombExpCheck:(Lorg/joni/ast/Node;I)I
            istore 3 /* r */
         4: .line 1716
            iload 3 /* r */
            iflt 61
            aload 5 /* ln */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 5 /* ln */
            ifnonnull 3
         5: .line 1717
            goto 61
        end local 5 // org.joni.ast.ListNode ln
         6: .line 1720
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 6 /* an */
        start local 6 // org.joni.ast.ListNode an
         7: .line 1722
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int top top org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 6 /* an */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            iload 2 /* state */
            invokevirtual org.joni.Analyser.setupCombExpCheck:(Lorg/joni/ast/Node;I)I
            istore 4 /* ret */
        start local 4 // int ret
         8: .line 1723
            iload 3 /* r */
            iload 4 /* ret */
            ior
            istore 3 /* r */
         9: .line 1724
            iload 4 /* ret */
            iflt 61
            aload 6 /* an */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 6 /* an */
            ifnonnull 7
        10: .line 1725
            goto 61
        end local 6 // org.joni.ast.ListNode an
        end local 4 // int ret
        11: .line 1728
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            astore 7 /* qn */
        start local 7 // org.joni.ast.QuantifierNode qn
        12: .line 1729
            iload 2 /* state */
            istore 8 /* childState */
        start local 8 // int childState
        13: .line 1730
            iconst_0
            istore 9 /* addState */
        start local 9 // int addState
        14: .line 1733
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            invokestatic org.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifne 28
        15: .line 1734
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            iconst_1
            if_icmple 28
        16: .line 1736
            iload 8 /* childState */
            iconst_2
            ior
            istore 8 /* childState */
        17: .line 1739
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.backrefedMem:I
            ifne 28
        18: .line 1740
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.ast.Node.getType:()I
            bipush 6
            if_icmpne 28
        19: .line 1741
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            checkcast org.joni.ast.EncloseNode
            astore 11 /* en */
        start local 11 // org.joni.ast.EncloseNode en
        20: .line 1742
            aload 11 /* en */
            getfield org.joni.ast.EncloseNode.type:I
            iconst_1
            if_icmpne 28
        21: .line 1743
            aload 11 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.ast.Node.getType:()I
            iconst_5
            if_icmpne 28
        22: .line 1744
            aload 11 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            checkcast org.joni.ast.QuantifierNode
            astore 12 /* q */
        start local 12 // org.joni.ast.QuantifierNode q
        23: .line 1745
            aload 12 /* q */
            getfield org.joni.ast.QuantifierNode.upper:I
            invokestatic org.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifeq 28
            aload 12 /* q */
            getfield org.joni.ast.QuantifierNode.greedy:Z
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.greedy:Z
            if_icmpne 28
        24: .line 1746
            aload 7 /* qn */
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            ifne 25
            iconst_1
            goto 26
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int top top top org.joni.ast.QuantifierNode int int top org.joni.ast.EncloseNode org.joni.ast.QuantifierNode
      StackMap stack: org.joni.ast.QuantifierNode
        25: aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int top top top org.joni.ast.QuantifierNode int int top org.joni.ast.EncloseNode org.joni.ast.QuantifierNode
      StackMap stack: org.joni.ast.QuantifierNode int
        26: putfield org.joni.ast.QuantifierNode.upper:I
        27: .line 1747
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            iconst_1
            if_icmpne 28
            iload 2 /* state */
            istore 8 /* childState */
        end local 12 // org.joni.ast.QuantifierNode q
        end local 11 // org.joni.ast.EncloseNode en
        28: .line 1756
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int top top top org.joni.ast.QuantifierNode int int
      StackMap stack:
            iload 2 /* state */
            iconst_2
            iand
            ifeq 31
        29: .line 1757
            aload 7 /* qn */
            iconst_m1
            putfield org.joni.ast.QuantifierNode.combExpCheckNum:I
        30: .line 1758
            goto 44
        31: .line 1759
      StackMap locals:
      StackMap stack:
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            invokestatic org.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifeq 35
        32: .line 1760
            ldc 2147483647
            istore 10 /* varNum */
        start local 10 // int varNum
        33: .line 1761
            iload 8 /* childState */
            iconst_1
            ior
            istore 8 /* childState */
        34: .line 1762
            goto 36
        end local 10 // int varNum
        35: .line 1763
      StackMap locals:
      StackMap stack:
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            isub
            istore 10 /* varNum */
        start local 10 // int varNum
        36: .line 1766
      StackMap locals: int
      StackMap stack:
            iload 10 /* varNum */
            sipush 512
            if_icmplt 37
            iload 9 /* addState */
            iconst_4
            ior
            istore 9 /* addState */
        37: .line 1768
      StackMap locals:
      StackMap stack:
            iload 2 /* state */
            iconst_1
            iand
            ifeq 38
            iload 10 /* varNum */
            ifne 39
        38: .line 1769
      StackMap locals:
      StackMap stack:
            iload 2 /* state */
            iconst_4
            iand
            ifeq 44
            iload 10 /* varNum */
            sipush 512
            if_icmplt 44
        39: .line 1770
      StackMap locals:
      StackMap stack:
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.combExpCheckNum:I
            ifne 44
        40: .line 1771
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            dup
            getfield org.joni.ScanEnvironment.numCombExpCheck:I
            iconst_1
            iadd
            putfield org.joni.ScanEnvironment.numCombExpCheck:I
        41: .line 1772
            aload 7 /* qn */
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numCombExpCheck:I
            putfield org.joni.ast.QuantifierNode.combExpCheckNum:I
        42: .line 1773
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.currMaxRegNum:I
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.combExpMaxRegNum:I
            if_icmple 44
        43: .line 1774
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.currMaxRegNum:I
            putfield org.joni.ScanEnvironment.combExpMaxRegNum:I
        end local 10 // int varNum
        44: .line 1779
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            iload 8 /* childState */
            invokevirtual org.joni.Analyser.setupCombExpCheck:(Lorg/joni/ast/Node;I)I
            istore 3 /* r */
        45: .line 1780
            iload 3 /* r */
            iload 9 /* addState */
            ior
            istore 3 /* r */
        46: .line 1781
            goto 61
        end local 9 // int addState
        end local 8 // int childState
        end local 7 // org.joni.ast.QuantifierNode qn
        47: .line 1784
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            astore 11 /* en */
        start local 11 // org.joni.ast.EncloseNode en
        48: .line 1785
            aload 11 /* en */
            getfield org.joni.ast.EncloseNode.type:I
            tableswitch { // 1 - 1
                    1: 49
              default: 53
          }
        49: .line 1787
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int top top top top top top top org.joni.ast.EncloseNode
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.currMaxRegNum:I
            aload 11 /* en */
            getfield org.joni.ast.EncloseNode.regNum:I
            if_icmpge 51
        50: .line 1788
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            aload 11 /* en */
            getfield org.joni.ast.EncloseNode.regNum:I
            putfield org.joni.ScanEnvironment.currMaxRegNum:I
        51: .line 1790
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            iload 2 /* state */
            invokevirtual org.joni.Analyser.setupCombExpCheck:(Lorg/joni/ast/Node;I)I
            istore 3 /* r */
        52: .line 1791
            goto 61
        53: .line 1794
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            iload 2 /* state */
            invokevirtual org.joni.Analyser.setupCombExpCheck:(Lorg/joni/ast/Node;I)I
            istore 3 /* r */
        54: .line 1796
            goto 61
        end local 11 // org.joni.ast.EncloseNode en
        55: .line 1800
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.CallNode
            astore 12 /* cn */
        start local 12 // org.joni.ast.CallNode cn
        56: .line 1801
            aload 12 /* cn */
            invokevirtual org.joni.ast.CallNode.isRecursion:()Z
            ifeq 59
        57: .line 1802
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            iconst_1
            putfield org.joni.ScanEnvironment.hasRecursion:Z
        58: .line 1803
            goto 61
        59: .line 1804
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int top top top top top top top top org.joni.ast.CallNode
      StackMap stack:
            aload 0 /* this */
            aload 12 /* cn */
            getfield org.joni.ast.CallNode.target:Lorg/joni/ast/EncloseNode;
            iload 2 /* state */
            invokevirtual org.joni.Analyser.setupCombExpCheck:(Lorg/joni/ast/Node;I)I
            istore 3 /* r */
        end local 12 // org.joni.ast.CallNode cn
        60: .line 1807
            goto 61
        61: .line 1814
      StackMap locals: org.joni.Analyser org.joni.ast.Node int int
      StackMap stack:
            iload 3 /* r */
            ireturn
        end local 3 // int r
        end local 2 // int state
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   62     0        this  Lorg/joni/Analyser;
            0   62     1        node  Lorg/joni/ast/Node;
            0   62     2       state  I
            1   62     3           r  I
            8   11     4         ret  I
            3    6     5          ln  Lorg/joni/ast/ListNode;
            7   11     6          an  Lorg/joni/ast/ListNode;
           12   47     7          qn  Lorg/joni/ast/QuantifierNode;
           13   47     8  childState  I
           14   47     9    addState  I
           33   35    10      varNum  I
           36   44    10      varNum  I
           20   28    11          en  Lorg/joni/ast/EncloseNode;
           23   28    12           q  Lorg/joni/ast/QuantifierNode;
           48   55    11          en  Lorg/joni/ast/EncloseNode;
           56   60    12          cn  Lorg/joni/ast/CallNode;
    MethodParameters:
       Name  Flags
      node   
      state  

  protected final org.joni.ast.Node setupTree(org.joni.ast.Node, int);
    descriptor: (Lorg/joni/ast/Node;I)Lorg/joni/ast/Node;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=15, args_size=3
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
        start local 2 // int state
         0: .line 1835
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 0 - 10
                    0: 14
                    1: 13
                    2: 17
                    3: 17
                    4: 19
                    5: 33
                    6: 75
                    7: 105
                    8: 1
                    9: 9
                   10: 18
              default: 122
          }
         1: .line 1837
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 3 /* lin */
        start local 3 // org.joni.ast.ListNode lin
         2: .line 1838
            aconst_null
            astore 4 /* prev */
        start local 4 // org.joni.ast.Node prev
         3: .line 1840
      StackMap locals: org.joni.ast.ListNode org.joni.ast.Node
      StackMap stack:
            aload 0 /* this */
            aload 3 /* lin */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            iload 2 /* state */
            invokevirtual org.joni.Analyser.setupTree:(Lorg/joni/ast/Node;I)Lorg/joni/ast/Node;
            pop
         4: .line 1841
            aload 4 /* prev */
            ifnull 6
         5: .line 1842
            aload 0 /* this */
            aload 4 /* prev */
            aload 3 /* lin */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            invokevirtual org.joni.Analyser.nextSetup:(Lorg/joni/ast/Node;Lorg/joni/ast/Node;)V
         6: .line 1844
      StackMap locals:
      StackMap stack:
            aload 3 /* lin */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            astore 4 /* prev */
         7: .line 1845
            aload 3 /* lin */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 3 /* lin */
            ifnonnull 3
         8: .line 1846
            goto 122
        end local 4 // org.joni.ast.Node prev
        end local 3 // org.joni.ast.ListNode lin
         9: .line 1849
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 5 /* aln */
        start local 5 // org.joni.ast.ListNode aln
        10: .line 1851
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 5 /* aln */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            iload 2 /* state */
            iconst_1
            ior
            invokevirtual org.joni.Analyser.setupTree:(Lorg/joni/ast/Node;I)Lorg/joni/ast/Node;
            pop
        11: .line 1852
            aload 5 /* aln */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 5 /* aln */
            ifnonnull 10
        12: .line 1853
            goto 122
        end local 5 // org.joni.ast.ListNode aln
        13: .line 1856
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            goto 122
        14: .line 1859
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            getfield org.joni.Regex.options:I
            invokestatic org.joni.Option.isIgnoreCase:(I)Z
            ifeq 122
            aload 1 /* node */
            checkcast org.joni.ast.StringNode
            invokevirtual org.joni.ast.StringNode.isRaw:()Z
            ifne 122
        15: .line 1860
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.joni.Analyser.expandCaseFoldString:(Lorg/joni/ast/Node;)Lorg/joni/ast/Node;
            astore 1 /* node */
        16: .line 1862
            goto 122
        17: .line 1866
      StackMap locals:
      StackMap stack:
            goto 122
        18: .line 1869
      StackMap locals:
      StackMap stack:
            goto 122
        19: .line 1872
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.BackRefNode
            astore 6 /* br */
        start local 6 // org.joni.ast.BackRefNode br
        20: .line 1873
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        21: goto 31
        22: .line 1874
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top top org.joni.ast.BackRefNode int
      StackMap stack:
            aload 6 /* br */
            getfield org.joni.ast.BackRefNode.back:[I
            iload 7 /* i */
            iaload
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numMem:I
            if_icmple 25
        23: .line 1875
            aload 0 /* this */
            getfield org.joni.Analyser.syntax:Lorg/joni/Syntax;
            invokevirtual org.joni.Syntax.op3OptionECMAScript:()Z
            ifne 30
            aload 0 /* this */
            ldc "invalid backref number/name"
            invokevirtual org.joni.Analyser.newValueException:(Ljava/lang/String;)V
        24: .line 1876
            goto 30
        25: .line 1877
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.backrefedMem:I
            aload 6 /* br */
            getfield org.joni.ast.BackRefNode.back:[I
            iload 7 /* i */
            iaload
            invokestatic org.joni.BitStatus.bsOnAt:(II)I
            putfield org.joni.ScanEnvironment.backrefedMem:I
        26: .line 1878
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.btMemStart:I
            aload 6 /* br */
            getfield org.joni.ast.BackRefNode.back:[I
            iload 7 /* i */
            iaload
            invokestatic org.joni.BitStatus.bsOnAt:(II)I
            putfield org.joni.ScanEnvironment.btMemStart:I
        27: .line 1880
            aload 6 /* br */
            invokevirtual org.joni.ast.BackRefNode.isNestLevel:()Z
            ifeq 29
        28: .line 1881
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.btMemEnd:I
            aload 6 /* br */
            getfield org.joni.ast.BackRefNode.back:[I
            iload 7 /* i */
            iaload
            invokestatic org.joni.BitStatus.bsOnAt:(II)I
            putfield org.joni.ScanEnvironment.btMemEnd:I
        29: .line 1884
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.memNodes:[Lorg/joni/ast/EncloseNode;
            aload 6 /* br */
            getfield org.joni.ast.BackRefNode.back:[I
            iload 7 /* i */
            iaload
            aaload
            invokevirtual org.joni.ast.EncloseNode.setMemBackrefed:()V
        30: .line 1873
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 7 /* i */
            aload 6 /* br */
            getfield org.joni.ast.BackRefNode.backNum:I
            if_icmplt 22
        end local 7 // int i
        32: .line 1887
            goto 122
        end local 6 // org.joni.ast.BackRefNode br
        33: .line 1890
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            astore 7 /* qn */
        start local 7 // org.joni.ast.QuantifierNode qn
        34: .line 1891
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            astore 8 /* target */
        start local 8 // org.joni.ast.Node target
        35: .line 1893
            iload 2 /* state */
            iconst_4
            iand
            ifeq 36
            aload 7 /* qn */
            invokevirtual org.joni.ast.QuantifierNode.setInRepeat:()V
        36: .line 1895
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top top top org.joni.ast.QuantifierNode org.joni.ast.Node
      StackMap stack:
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            invokestatic org.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifne 37
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            iconst_1
            if_icmplt 42
        37: .line 1896
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* target */
            invokevirtual org.joni.Analyser.getMinMatchLength:(Lorg/joni/ast/Node;)I
            istore 9 /* d */
        start local 9 // int d
        38: .line 1897
            iload 9 /* d */
            ifne 42
        39: .line 1898
            aload 7 /* qn */
            iconst_1
            putfield org.joni.ast.QuantifierNode.targetEmptyInfo:I
        40: .line 1900
            aload 0 /* this */
            aload 8 /* target */
            invokevirtual org.joni.Analyser.quantifiersMemoryInfo:(Lorg/joni/ast/Node;)I
            istore 10 /* info */
        start local 10 // int info
        41: .line 1901
            iload 10 /* info */
            ifle 42
            aload 7 /* qn */
            iload 10 /* info */
            putfield org.joni.ast.QuantifierNode.targetEmptyInfo:I
        end local 10 // int info
        end local 9 // int d
        42: .line 1907
      StackMap locals:
      StackMap stack:
            iload 2 /* state */
            iconst_4
            ior
            istore 2 /* state */
        43: .line 1908
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            if_icmpeq 44
            iload 2 /* state */
            bipush 8
            ior
            istore 2 /* state */
        44: .line 1910
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* target */
            iload 2 /* state */
            invokevirtual org.joni.Analyser.setupTree:(Lorg/joni/ast/Node;I)Lorg/joni/ast/Node;
            astore 8 /* target */
        45: .line 1913
            aload 8 /* target */
            invokevirtual org.joni.ast.Node.getType:()I
            ifne 66
        46: .line 1914
            aload 8 /* target */
            checkcast org.joni.ast.StringNode
            astore 9 /* sn */
        start local 9 // org.joni.ast.StringNode sn
        47: .line 1915
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            iconst_1
            if_icmple 66
        48: .line 1916
            new org.joni.ast.StringNode
            dup
            aload 9 /* sn */
            getfield org.joni.ast.StringNode.bytes:[B
            aload 9 /* sn */
            getfield org.joni.ast.StringNode.p:I
            aload 9 /* sn */
            getfield org.joni.ast.StringNode.end:I
            invokespecial org.joni.ast.StringNode.<init>:([BII)V
            astore 10 /* str */
        start local 10 // org.joni.ast.StringNode str
        49: .line 1917
            aload 10 /* str */
            aload 9 /* sn */
            getfield org.joni.ast.StringNode.flag:I
            putfield org.joni.ast.StringNode.flag:I
        50: .line 1920
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            istore 12 /* n */
        start local 12 // int n
        51: .line 1921
            aload 9 /* sn */
            invokevirtual org.joni.ast.StringNode.length:()I
            istore 13 /* len */
        start local 13 // int len
        52: .line 1922
            iconst_1
            istore 11 /* i */
        start local 11 // int i
        53: goto 56
        54: .line 1923
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top top top org.joni.ast.QuantifierNode org.joni.ast.Node org.joni.ast.StringNode org.joni.ast.StringNode int int int
      StackMap stack:
            aload 10 /* str */
            aload 9 /* sn */
            getfield org.joni.ast.StringNode.bytes:[B
            aload 9 /* sn */
            getfield org.joni.ast.StringNode.p:I
            aload 9 /* sn */
            getfield org.joni.ast.StringNode.end:I
            invokevirtual org.joni.ast.StringNode.catBytes:([BII)V
        55: .line 1922
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        56: iload 11 /* i */
            iload 12 /* n */
            if_icmpge 57
            iload 11 /* i */
            iconst_1
            iadd
            iload 13 /* len */
            imul
            bipush 100
            if_icmple 54
        57: .line 1926
      StackMap locals:
      StackMap stack:
            iload 11 /* i */
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            if_icmplt 58
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            invokestatic org.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifeq 64
        58: .line 1927
      StackMap locals:
      StackMap stack:
            aload 7 /* qn */
            dup
            getfield org.joni.ast.QuantifierNode.lower:I
            iload 11 /* i */
            isub
            putfield org.joni.ast.QuantifierNode.lower:I
        59: .line 1928
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            invokestatic org.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifne 60
            aload 7 /* qn */
            dup
            getfield org.joni.ast.QuantifierNode.upper:I
            iload 11 /* i */
            isub
            putfield org.joni.ast.QuantifierNode.upper:I
        60: .line 1929
      StackMap locals:
      StackMap stack:
            aload 10 /* str */
            aconst_null
            invokestatic org.joni.ast.ListNode.newList:(Lorg/joni/ast/Node;Lorg/joni/ast/ListNode;)Lorg/joni/ast/ListNode;
            astore 14 /* list */
        start local 14 // org.joni.ast.ListNode list
        61: .line 1930
            aload 7 /* qn */
            aload 14 /* list */
            invokevirtual org.joni.ast.QuantifierNode.replaceWith:(Lorg/joni/ast/Node;)V
        62: .line 1931
            aload 14 /* list */
            aload 7 /* qn */
            invokestatic org.joni.ast.ListNode.listAdd:(Lorg/joni/ast/ListNode;Lorg/joni/ast/Node;)Lorg/joni/ast/ListNode;
            pop
        end local 14 // org.joni.ast.ListNode list
        63: .line 1932
            goto 122
        64: .line 1933
      StackMap locals:
      StackMap stack:
            aload 7 /* qn */
            aload 10 /* str */
            invokevirtual org.joni.ast.QuantifierNode.replaceWith:(Lorg/joni/ast/Node;)V
        65: .line 1935
            goto 122
        end local 13 // int len
        end local 12 // int n
        end local 11 // int i
        end local 10 // org.joni.ast.StringNode str
        end local 9 // org.joni.ast.StringNode sn
        66: .line 1940
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top top top org.joni.ast.QuantifierNode org.joni.ast.Node
      StackMap stack:
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.greedy:Z
            ifeq 122
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.targetEmptyInfo:I
            ifeq 122
        67: .line 1941
            aload 8 /* target */
            invokevirtual org.joni.ast.Node.getType:()I
            iconst_5
            if_icmpne 73
        68: .line 1942
            aload 8 /* target */
            checkcast org.joni.ast.QuantifierNode
            astore 9 /* tqn */
        start local 9 // org.joni.ast.QuantifierNode tqn
        69: .line 1943
            aload 9 /* tqn */
            getfield org.joni.ast.QuantifierNode.headExact:Lorg/joni/ast/Node;
            ifnull 122
        70: .line 1944
            aload 7 /* qn */
            aload 9 /* tqn */
            getfield org.joni.ast.QuantifierNode.headExact:Lorg/joni/ast/Node;
            putfield org.joni.ast.QuantifierNode.headExact:Lorg/joni/ast/Node;
        71: .line 1945
            aload 9 /* tqn */
            aconst_null
            putfield org.joni.ast.QuantifierNode.headExact:Lorg/joni/ast/Node;
        end local 9 // org.joni.ast.QuantifierNode tqn
        72: .line 1947
            goto 122
        73: .line 1948
      StackMap locals:
      StackMap stack:
            aload 7 /* qn */
            aload 0 /* this */
            aload 7 /* qn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            iconst_1
            invokevirtual org.joni.Analyser.getHeadValueNode:(Lorg/joni/ast/Node;Z)Lorg/joni/ast/Node;
            putfield org.joni.ast.QuantifierNode.headExact:Lorg/joni/ast/Node;
        74: .line 1952
            goto 122
        end local 8 // org.joni.ast.Node target
        end local 7 // org.joni.ast.QuantifierNode qn
        75: .line 1955
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            astore 9 /* en */
        start local 9 // org.joni.ast.EncloseNode en
        76: .line 1956
            aload 9 /* en */
            getfield org.joni.ast.EncloseNode.type:I
            lookupswitch { // 5
                    1: 82
                    2: 77
                    4: 92
                    8: 98
                   16: 103
              default: 104
          }
        77: .line 1958
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top top top top top org.joni.ast.EncloseNode
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            getfield org.joni.Regex.options:I
            istore 10 /* options */
        start local 10 // int options
        78: .line 1959
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 9 /* en */
            getfield org.joni.ast.EncloseNode.option:I
            putfield org.joni.Regex.options:I
        79: .line 1960
            aload 0 /* this */
            aload 9 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            iload 2 /* state */
            invokevirtual org.joni.Analyser.setupTree:(Lorg/joni/ast/Node;I)Lorg/joni/ast/Node;
            pop
        80: .line 1961
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            iload 10 /* options */
            putfield org.joni.Regex.options:I
        81: .line 1962
            goto 122
        end local 10 // int options
        82: .line 1965
      StackMap locals:
      StackMap stack:
            iload 2 /* state */
            bipush 27
            iand
            ifeq 84
        83: .line 1966
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.btMemStart:I
            aload 9 /* en */
            getfield org.joni.ast.EncloseNode.regNum:I
            invokestatic org.joni.BitStatus.bsOnAt:(II)I
            putfield org.joni.ScanEnvironment.btMemStart:I
        84: .line 1969
      StackMap locals:
      StackMap stack:
            aload 9 /* en */
            invokevirtual org.joni.ast.EncloseNode.isCalled:()Z
            ifeq 85
            iload 2 /* state */
            bipush 16
            ior
            istore 2 /* state */
        85: .line 1970
      StackMap locals:
      StackMap stack:
            aload 9 /* en */
            invokevirtual org.joni.ast.EncloseNode.isRecursion:()Z
            ifeq 88
        86: .line 1971
            iload 2 /* state */
            bipush 32
            ior
            istore 2 /* state */
        87: .line 1972
            goto 90
      StackMap locals:
      StackMap stack:
        88: iload 2 /* state */
            bipush 32
            iand
            ifeq 90
        89: .line 1973
            aload 9 /* en */
            invokevirtual org.joni.ast.EncloseNode.setRecursion:()V
        90: .line 1976
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            iload 2 /* state */
            invokevirtual org.joni.Analyser.setupTree:(Lorg/joni/ast/Node;I)Lorg/joni/ast/Node;
            pop
        91: .line 1977
            goto 122
        92: .line 1980
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            iload 2 /* state */
            invokevirtual org.joni.Analyser.setupTree:(Lorg/joni/ast/Node;I)Lorg/joni/ast/Node;
            pop
        93: .line 1981
            aload 9 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.ast.Node.getType:()I
            iconst_5
            if_icmpne 122
        94: .line 1982
            aload 9 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            checkcast org.joni.ast.QuantifierNode
            astore 11 /* tqn */
        start local 11 // org.joni.ast.QuantifierNode tqn
        95: .line 1983
            aload 11 /* tqn */
            getfield org.joni.ast.QuantifierNode.upper:I
            invokestatic org.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifeq 122
            aload 11 /* tqn */
            getfield org.joni.ast.QuantifierNode.lower:I
            iconst_1
            if_icmpgt 122
            aload 11 /* tqn */
            getfield org.joni.ast.QuantifierNode.greedy:Z
            ifeq 122
        96: .line 1985
            aload 11 /* tqn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.ast.Node.isSimple:()Z
            ifeq 122
            aload 9 /* en */
            invokevirtual org.joni.ast.EncloseNode.setStopBtSimpleRepeat:()V
        end local 11 // org.joni.ast.QuantifierNode tqn
        97: .line 1988
            goto 122
        98: .line 1992
      StackMap locals:
      StackMap stack:
            aload 9 /* en */
            invokevirtual org.joni.ast.EncloseNode.isNameRef:()Z
            ifne 100
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numNamed:I
            ifle 100
            aload 0 /* this */
            getfield org.joni.Analyser.syntax:Lorg/joni/Syntax;
            invokevirtual org.joni.Syntax.captureOnlyNamedGroup:()Z
            ifeq 100
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.option:I
            invokestatic org.joni.Option.isCaptureGroup:(I)Z
            ifne 100
        99: .line 1993
            aload 0 /* this */
            ldc "numbered backref/call is not allowed. (use name)"
            invokevirtual org.joni.Analyser.newValueException:(Ljava/lang/String;)V
       100: .line 1996
      StackMap locals:
      StackMap stack:
            aload 9 /* en */
            getfield org.joni.ast.EncloseNode.regNum:I
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.numMem:I
            if_icmple 101
            aload 0 /* this */
            ldc "invalid backref number/name"
            invokevirtual org.joni.Analyser.newValueException:(Ljava/lang/String;)V
       101: .line 1997
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            iload 2 /* state */
            invokevirtual org.joni.Analyser.setupTree:(Lorg/joni/ast/Node;I)Lorg/joni/ast/Node;
            pop
       102: .line 1998
            goto 122
       103: .line 2001
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            iload 2 /* state */
            invokevirtual org.joni.Analyser.setupTree:(Lorg/joni/ast/Node;I)Lorg/joni/ast/Node;
            pop
       104: .line 2004
      StackMap locals:
      StackMap stack:
            goto 122
        end local 9 // org.joni.ast.EncloseNode en
       105: .line 2007
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.AnchorNode
            astore 10 /* an */
        start local 10 // org.joni.ast.AnchorNode an
       106: .line 2008
            aload 10 /* an */
            getfield org.joni.ast.AnchorNode.type:I
            lookupswitch { // 4
                 1024: 107
                 2048: 109
                 4096: 111
                 8192: 117
              default: 122
          }
       107: .line 2010
      StackMap locals: org.joni.Analyser org.joni.ast.Node int top top top top top top top org.joni.ast.AnchorNode
      StackMap stack:
            aload 0 /* this */
            aload 10 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            iload 2 /* state */
            invokevirtual org.joni.Analyser.setupTree:(Lorg/joni/ast/Node;I)Lorg/joni/ast/Node;
            pop
       108: .line 2011
            goto 122
       109: .line 2014
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            iload 2 /* state */
            iconst_2
            ior
            invokevirtual org.joni.Analyser.setupTree:(Lorg/joni/ast/Node;I)Lorg/joni/ast/Node;
            pop
       110: .line 2015
            goto 122
       111: .line 2018
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            sipush 2031
            iconst_3
            ldc 78823
            invokevirtual org.joni.Analyser.checkTypeTree:(Lorg/joni/ast/Node;III)Z
            ifeq 112
            aload 0 /* this */
            ldc "invalid pattern in look-behind"
            invokevirtual org.joni.Analyser.newSyntaxException:(Ljava/lang/String;)V
       112: .line 2019
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* an */
            invokevirtual org.joni.Analyser.setupLookBehind:(Lorg/joni/ast/AnchorNode;)Lorg/joni/ast/Node;
            astore 1 /* node */
       113: .line 2020
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            bipush 7
            if_icmpeq 114
            goto 0
       114: .line 2021
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.joni.ast.AnchorNode
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            iload 2 /* state */
            invokevirtual org.joni.Analyser.setupTree:(Lorg/joni/ast/Node;I)Lorg/joni/ast/Node;
            pop
       115: .line 2022
            aload 0 /* this */
            aload 10 /* an */
            invokevirtual org.joni.Analyser.setupLookBehind:(Lorg/joni/ast/AnchorNode;)Lorg/joni/ast/Node;
            astore 1 /* node */
       116: .line 2023
            goto 122
       117: .line 2026
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            sipush 2031
            iconst_2
            ldc 78823
            invokevirtual org.joni.Analyser.checkTypeTree:(Lorg/joni/ast/Node;III)Z
            ifeq 118
            aload 0 /* this */
            ldc "invalid pattern in look-behind"
            invokevirtual org.joni.Analyser.newSyntaxException:(Ljava/lang/String;)V
       118: .line 2027
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* an */
            invokevirtual org.joni.Analyser.setupLookBehind:(Lorg/joni/ast/AnchorNode;)Lorg/joni/ast/Node;
            astore 1 /* node */
       119: .line 2028
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            bipush 7
            if_icmpeq 120
            goto 0
       120: .line 2029
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.joni.ast.AnchorNode
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            iload 2 /* state */
            iconst_2
            ior
            invokevirtual org.joni.Analyser.setupTree:(Lorg/joni/ast/Node;I)Lorg/joni/ast/Node;
            pop
       121: .line 2030
            aload 0 /* this */
            aload 10 /* an */
            invokevirtual org.joni.Analyser.setupLookBehind:(Lorg/joni/ast/AnchorNode;)Lorg/joni/ast/Node;
            astore 1 /* node */
        end local 10 // org.joni.ast.AnchorNode an
       122: .line 2036
      StackMap locals: org.joni.Analyser org.joni.ast.Node int
      StackMap stack:
            aload 1 /* node */
            areturn
        end local 2 // int state
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0  123     0     this  Lorg/joni/Analyser;
            0  123     1     node  Lorg/joni/ast/Node;
            0  123     2    state  I
            2    9     3      lin  Lorg/joni/ast/ListNode;
            3    9     4     prev  Lorg/joni/ast/Node;
           10   13     5      aln  Lorg/joni/ast/ListNode;
           20   33     6       br  Lorg/joni/ast/BackRefNode;
           21   32     7        i  I
           34   75     7       qn  Lorg/joni/ast/QuantifierNode;
           35   75     8   target  Lorg/joni/ast/Node;
           38   42     9        d  I
           41   42    10     info  I
           47   66     9       sn  Lorg/joni/ast/StringNode;
           49   66    10      str  Lorg/joni/ast/StringNode;
           53   66    11        i  I
           51   66    12        n  I
           52   66    13      len  I
           61   63    14     list  Lorg/joni/ast/ListNode;
           69   72     9      tqn  Lorg/joni/ast/QuantifierNode;
           76  105     9       en  Lorg/joni/ast/EncloseNode;
           78   82    10  options  I
           95   97    11      tqn  Lorg/joni/ast/QuantifierNode;
          106  122    10       an  Lorg/joni/ast/AnchorNode;
    MethodParameters:
       Name  Flags
      node   
      state  

  private void optimizeNodeLeft(org.joni.ast.Node, org.joni.NodeOptInfo, org.joni.OptEnvironment);
    descriptor: (Lorg/joni/ast/Node;Lorg/joni/NodeOptInfo;Lorg/joni/OptEnvironment;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
        start local 2 // org.joni.NodeOptInfo opt
        start local 3 // org.joni.OptEnvironment oenv
         0: .line 2042
            aload 2 /* opt */
            invokevirtual org.joni.NodeOptInfo.clear:()V
         1: .line 2043
            aload 2 /* opt */
            aload 3 /* oenv */
            getfield org.joni.OptEnvironment.mmd:Lorg/joni/MinMaxLen;
            invokevirtual org.joni.NodeOptInfo.setBoundNode:(Lorg/joni/MinMaxLen;)V
         2: .line 2045
            aload 1 /* node */
            invokevirtual org.joni.ast.Node.getType:()I
            tableswitch { // 0 - 10
                    0: 21
                    1: 43
                    2: 59
                    3: 85
                    4: 102
                    5: 132
                    6: 166
                    7: 87
                    8: 3
                    9: 12
                   10: 123
              default: 189
          }
         3: .line 2047
      StackMap locals:
      StackMap stack:
            new org.joni.OptEnvironment
            dup
            invokespecial org.joni.OptEnvironment.<init>:()V
            astore 4 /* nenv */
        start local 4 // org.joni.OptEnvironment nenv
         4: .line 2048
            new org.joni.NodeOptInfo
            dup
            invokespecial org.joni.NodeOptInfo.<init>:()V
            astore 5 /* nopt */
        start local 5 // org.joni.NodeOptInfo nopt
         5: .line 2049
            aload 4 /* nenv */
            aload 3 /* oenv */
            invokevirtual org.joni.OptEnvironment.copy:(Lorg/joni/OptEnvironment;)V
         6: .line 2050
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 6 /* lin */
        start local 6 // org.joni.ast.ListNode lin
         7: .line 2052
      StackMap locals: org.joni.OptEnvironment org.joni.NodeOptInfo org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 6 /* lin */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            aload 5 /* nopt */
            aload 4 /* nenv */
            invokevirtual org.joni.Analyser.optimizeNodeLeft:(Lorg/joni/ast/Node;Lorg/joni/NodeOptInfo;Lorg/joni/OptEnvironment;)V
         8: .line 2053
            aload 4 /* nenv */
            getfield org.joni.OptEnvironment.mmd:Lorg/joni/MinMaxLen;
            aload 5 /* nopt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            invokevirtual org.joni.MinMaxLen.add:(Lorg/joni/MinMaxLen;)V
         9: .line 2054
            aload 2 /* opt */
            aload 5 /* nopt */
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.joni.NodeOptInfo.concatLeftNode:(Lorg/joni/NodeOptInfo;Lorg/jcodings/Encoding;)V
        10: .line 2055
            aload 6 /* lin */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 6 /* lin */
            ifnonnull 7
        11: .line 2056
            goto 190
        end local 6 // org.joni.ast.ListNode lin
        end local 5 // org.joni.NodeOptInfo nopt
        end local 4 // org.joni.OptEnvironment nenv
        12: .line 2060
      StackMap locals:
      StackMap stack:
            new org.joni.NodeOptInfo
            dup
            invokespecial org.joni.NodeOptInfo.<init>:()V
            astore 4 /* nopt */
        start local 4 // org.joni.NodeOptInfo nopt
        13: .line 2061
            aload 1 /* node */
            checkcast org.joni.ast.ListNode
            astore 5 /* aln */
        start local 5 // org.joni.ast.ListNode aln
        14: .line 2063
      StackMap locals: org.joni.NodeOptInfo org.joni.ast.ListNode
      StackMap stack:
            aload 0 /* this */
            aload 5 /* aln */
            getfield org.joni.ast.ListNode.value:Lorg/joni/ast/Node;
            aload 4 /* nopt */
            aload 3 /* oenv */
            invokevirtual org.joni.Analyser.optimizeNodeLeft:(Lorg/joni/ast/Node;Lorg/joni/NodeOptInfo;Lorg/joni/OptEnvironment;)V
        15: .line 2064
            aload 5 /* aln */
            aload 1 /* node */
            if_acmpne 18
        16: .line 2065
            aload 2 /* opt */
            aload 4 /* nopt */
            invokevirtual org.joni.NodeOptInfo.copy:(Lorg/joni/NodeOptInfo;)V
        17: .line 2066
            goto 19
        18: .line 2067
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            aload 4 /* nopt */
            aload 3 /* oenv */
            invokevirtual org.joni.NodeOptInfo.altMerge:(Lorg/joni/NodeOptInfo;Lorg/joni/OptEnvironment;)V
        19: .line 2069
      StackMap locals:
      StackMap stack:
            aload 5 /* aln */
            getfield org.joni.ast.ListNode.tail:Lorg/joni/ast/ListNode;
            dup
            astore 5 /* aln */
            ifnonnull 14
        20: .line 2070
            goto 190
        end local 5 // org.joni.ast.ListNode aln
        end local 4 // org.joni.NodeOptInfo nopt
        21: .line 2074
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.StringNode
            astore 4 /* sn */
        start local 4 // org.joni.ast.StringNode sn
        22: .line 2076
            aload 4 /* sn */
            invokevirtual org.joni.ast.StringNode.length:()I
            istore 5 /* slen */
        start local 5 // int slen
        23: .line 2078
            aload 4 /* sn */
            invokevirtual org.joni.ast.StringNode.isAmbig:()Z
            ifne 30
        24: .line 2079
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            aload 4 /* sn */
            getfield org.joni.ast.StringNode.bytes:[B
            aload 4 /* sn */
            getfield org.joni.ast.StringNode.p:I
            aload 4 /* sn */
            getfield org.joni.ast.StringNode.end:I
            aload 4 /* sn */
            invokevirtual org.joni.ast.StringNode.isRaw:()Z
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.joni.OptExactInfo.concatStr:([BIIZLorg/jcodings/Encoding;)V
        25: .line 2080
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            iconst_0
            putfield org.joni.OptExactInfo.ignoreCase:I
        26: .line 2082
            iload 5 /* slen */
            ifle 28
        27: .line 2083
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.map:Lorg/joni/OptMapInfo;
            aload 4 /* sn */
            getfield org.joni.ast.StringNode.bytes:[B
            aload 4 /* sn */
            getfield org.joni.ast.StringNode.p:I
            baload
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.joni.OptMapInfo.addChar:(BLorg/jcodings/Encoding;)V
        28: .line 2086
      StackMap locals: org.joni.ast.StringNode int
      StackMap stack:
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            iload 5 /* slen */
            iload 5 /* slen */
            invokevirtual org.joni.MinMaxLen.set:(II)V
        29: .line 2087
            goto 40
        30: .line 2089
      StackMap locals:
      StackMap stack:
            aload 4 /* sn */
            invokevirtual org.joni.ast.StringNode.isDontGetOptInfo:()Z
            ifeq 34
        31: .line 2090
            aload 4 /* sn */
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.joni.ast.StringNode.length:(Lorg/jcodings/Encoding;)I
            istore 7 /* n */
        start local 7 // int n
        32: .line 2091
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.maxLength:()I
            iload 7 /* n */
            imul
            istore 6 /* max */
        end local 7 // int n
        start local 6 // int max
        33: .line 2092
            goto 39
        end local 6 // int max
        34: .line 2093
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            aload 4 /* sn */
            getfield org.joni.ast.StringNode.bytes:[B
            aload 4 /* sn */
            getfield org.joni.ast.StringNode.p:I
            aload 4 /* sn */
            getfield org.joni.ast.StringNode.end:I
            aload 4 /* sn */
            invokevirtual org.joni.ast.StringNode.isRaw:()Z
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.joni.OptExactInfo.concatStr:([BIIZLorg/jcodings/Encoding;)V
        35: .line 2094
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            iconst_1
            putfield org.joni.OptExactInfo.ignoreCase:I
        36: .line 2096
            iload 5 /* slen */
            ifle 38
        37: .line 2097
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.map:Lorg/joni/OptMapInfo;
            aload 4 /* sn */
            getfield org.joni.ast.StringNode.bytes:[B
            aload 4 /* sn */
            getfield org.joni.ast.StringNode.p:I
            aload 4 /* sn */
            getfield org.joni.ast.StringNode.end:I
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            aload 3 /* oenv */
            getfield org.joni.OptEnvironment.caseFoldFlag:I
            invokevirtual org.joni.OptMapInfo.addCharAmb:([BIILorg/jcodings/Encoding;I)V
        38: .line 2100
      StackMap locals:
      StackMap stack:
            iload 5 /* slen */
            istore 6 /* max */
        start local 6 // int max
        39: .line 2102
      StackMap locals: int
      StackMap stack:
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            iload 5 /* slen */
            iload 6 /* max */
            invokevirtual org.joni.MinMaxLen.set:(II)V
        end local 6 // int max
        40: .line 2105
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            getfield org.joni.OptExactInfo.length:I
            iload 5 /* slen */
            if_icmpne 190
        41: .line 2106
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            iconst_1
            putfield org.joni.OptExactInfo.reachEnd:Z
        42: .line 2108
            goto 190
        end local 5 // int slen
        end local 4 // org.joni.ast.StringNode sn
        43: .line 2112
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.CClassNode
            astore 4 /* cc */
        start local 4 // org.joni.ast.CClassNode cc
        44: .line 2114
            aload 4 /* cc */
            getfield org.joni.ast.CClassNode.mbuf:Lorg/joni/CodeRangeBuffer;
            ifnonnull 45
            aload 4 /* cc */
            invokevirtual org.joni.ast.CClassNode.isNot:()Z
            ifeq 49
        45: .line 2115
      StackMap locals: org.joni.ast.CClassNode
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.minLength:()I
            istore 5 /* min */
        start local 5 // int min
        46: .line 2116
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.maxLength:()I
            istore 6 /* max */
        start local 6 // int max
        47: .line 2117
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            iload 5 /* min */
            iload 6 /* max */
            invokevirtual org.joni.MinMaxLen.set:(II)V
        end local 6 // int max
        end local 5 // int min
        48: .line 2118
            goto 190
        49: .line 2119
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        50: goto 56
        51: .line 2120
      StackMap locals: int
      StackMap stack:
            aload 4 /* cc */
            getfield org.joni.ast.CClassNode.bs:Lorg/joni/BitSet;
            iload 5 /* i */
            invokevirtual org.joni.BitSet.at:(I)Z
            istore 6 /* z */
        start local 6 // boolean z
        52: .line 2121
            iload 6 /* z */
            ifeq 53
            aload 4 /* cc */
            invokevirtual org.joni.ast.CClassNode.isNot:()Z
            ifeq 54
      StackMap locals: int
      StackMap stack:
        53: iload 6 /* z */
            ifne 55
            aload 4 /* cc */
            invokevirtual org.joni.ast.CClassNode.isNot:()Z
            ifeq 55
        54: .line 2122
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.map:Lorg/joni/OptMapInfo;
            iload 5 /* i */
            i2b
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.joni.OptMapInfo.addChar:(BLorg/jcodings/Encoding;)V
        end local 6 // boolean z
        55: .line 2119
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        56: iload 5 /* i */
            sipush 256
            if_icmplt 51
        end local 5 // int i
        57: .line 2125
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            iconst_1
            iconst_1
            invokevirtual org.joni.MinMaxLen.set:(II)V
        58: .line 2127
            goto 190
        end local 4 // org.joni.ast.CClassNode cc
        59: .line 2132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.maxLength:()I
            istore 5 /* max */
        start local 5 // int max
        60: .line 2133
            iload 5 /* max */
            iconst_1
            if_icmpne 82
        61: .line 2134
            iconst_1
            istore 4 /* min */
        start local 4 // int min
        62: .line 2135
            aload 1 /* node */
            checkcast org.joni.ast.CTypeNode
            astore 6 /* cn */
        start local 6 // org.joni.ast.CTypeNode cn
        63: .line 2137
            aload 6 /* cn */
            getfield org.joni.ast.CTypeNode.asciiRange:Z
            ifeq 64
            sipush 128
            goto 65
      StackMap locals: int int org.joni.ast.CTypeNode
      StackMap stack:
        64: sipush 256
      StackMap locals:
      StackMap stack: int
        65: istore 7 /* maxCode */
        start local 7 // int maxCode
        66: .line 2138
            aload 6 /* cn */
            getfield org.joni.ast.CTypeNode.ctype:I
            tableswitch { // 12 - 12
                   12: 67
              default: 81
          }
        67: .line 2140
      StackMap locals: int
      StackMap stack:
            aload 6 /* cn */
            getfield org.joni.ast.CTypeNode.not:Z
            ifeq 75
        68: .line 2141
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        69: goto 73
        70: .line 2142
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            iload 8 /* i */
            invokevirtual org.jcodings.Encoding.isWord:(I)Z
            ifeq 71
            iload 8 /* i */
            iload 7 /* maxCode */
            if_icmplt 72
        71: .line 2143
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.map:Lorg/joni/OptMapInfo;
            iload 8 /* i */
            i2b
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.joni.OptMapInfo.addChar:(BLorg/jcodings/Encoding;)V
        72: .line 2141
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        73: iload 8 /* i */
            sipush 256
            if_icmplt 70
        end local 8 // int i
        74: .line 2146
            goto 83
        75: .line 2147
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        76: goto 80
        77: .line 2148
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            iload 8 /* i */
            invokevirtual org.jcodings.Encoding.isWord:(I)Z
            ifeq 79
        78: .line 2149
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.map:Lorg/joni/OptMapInfo;
            iload 8 /* i */
            i2b
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.joni.OptMapInfo.addChar:(BLorg/jcodings/Encoding;)V
        79: .line 2147
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        80: iload 8 /* i */
            iload 7 /* maxCode */
            if_icmplt 77
        end local 8 // int i
        end local 7 // int maxCode
        end local 6 // org.joni.ast.CTypeNode cn
        81: .line 2155
      StackMap locals:
      StackMap stack:
            goto 83
        end local 4 // int min
        82: .line 2156
      StackMap locals: org.joni.Analyser org.joni.ast.Node org.joni.NodeOptInfo org.joni.OptEnvironment top int
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.minLength:()I
            istore 4 /* min */
        start local 4 // int min
        83: .line 2158
      StackMap locals: org.joni.Analyser org.joni.ast.Node org.joni.NodeOptInfo org.joni.OptEnvironment int int
      StackMap stack:
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            iload 4 /* min */
            iload 5 /* max */
            invokevirtual org.joni.MinMaxLen.set:(II)V
        84: .line 2159
            goto 190
        end local 5 // int max
        end local 4 // int min
        85: .line 2163
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.minLength:()I
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.jcodings.Encoding.maxLength:()I
            invokevirtual org.joni.MinMaxLen.set:(II)V
        86: .line 2164
            goto 190
        87: .line 2168
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.AnchorNode
            astore 4 /* an */
        start local 4 // org.joni.ast.AnchorNode an
        88: .line 2169
            aload 4 /* an */
            getfield org.joni.ast.AnchorNode.type:I
            lookupswitch { // 10
                    1: 89
                    2: 89
                    4: 89
                    8: 89
                   16: 89
                   32: 89
                 1024: 91
                 2048: 89
                 4096: 89
                 8192: 101
              default: 101
          }
        89: .line 2178
      StackMap locals: org.joni.ast.AnchorNode
      StackMap stack:
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.anchor:Lorg/joni/OptAnchorInfo;
            aload 4 /* an */
            getfield org.joni.ast.AnchorNode.type:I
            invokevirtual org.joni.OptAnchorInfo.add:(I)V
        90: .line 2179
            goto 190
        91: .line 2182
      StackMap locals:
      StackMap stack:
            new org.joni.NodeOptInfo
            dup
            invokespecial org.joni.NodeOptInfo.<init>:()V
            astore 5 /* nopt */
        start local 5 // org.joni.NodeOptInfo nopt
        92: .line 2183
            aload 0 /* this */
            aload 4 /* an */
            getfield org.joni.ast.AnchorNode.target:Lorg/joni/ast/Node;
            aload 5 /* nopt */
            aload 3 /* oenv */
            invokevirtual org.joni.Analyser.optimizeNodeLeft:(Lorg/joni/ast/Node;Lorg/joni/NodeOptInfo;Lorg/joni/OptEnvironment;)V
        93: .line 2184
            aload 5 /* nopt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            getfield org.joni.OptExactInfo.length:I
            ifle 96
        94: .line 2185
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.expr:Lorg/joni/OptExactInfo;
            aload 5 /* nopt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            invokevirtual org.joni.OptExactInfo.copy:(Lorg/joni/OptExactInfo;)V
        95: .line 2186
            goto 98
      StackMap locals: org.joni.NodeOptInfo
      StackMap stack:
        96: aload 5 /* nopt */
            getfield org.joni.NodeOptInfo.exm:Lorg/joni/OptExactInfo;
            getfield org.joni.OptExactInfo.length:I
            ifle 98
        97: .line 2187
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.expr:Lorg/joni/OptExactInfo;
            aload 5 /* nopt */
            getfield org.joni.NodeOptInfo.exm:Lorg/joni/OptExactInfo;
            invokevirtual org.joni.OptExactInfo.copy:(Lorg/joni/OptExactInfo;)V
        98: .line 2189
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.expr:Lorg/joni/OptExactInfo;
            iconst_0
            putfield org.joni.OptExactInfo.reachEnd:Z
        99: .line 2190
            aload 5 /* nopt */
            getfield org.joni.NodeOptInfo.map:Lorg/joni/OptMapInfo;
            getfield org.joni.OptMapInfo.value:I
            ifle 190
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.map:Lorg/joni/OptMapInfo;
            aload 5 /* nopt */
            getfield org.joni.NodeOptInfo.map:Lorg/joni/OptMapInfo;
            invokevirtual org.joni.OptMapInfo.copy:(Lorg/joni/OptMapInfo;)V
       100: .line 2191
            goto 190
        end local 5 // org.joni.NodeOptInfo nopt
       101: .line 2197
      StackMap locals:
      StackMap stack:
            goto 190
        end local 4 // org.joni.ast.AnchorNode an
       102: .line 2201
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.BackRefNode
            astore 4 /* br */
        start local 4 // org.joni.ast.BackRefNode br
       103: .line 2203
            aload 4 /* br */
            invokevirtual org.joni.ast.BackRefNode.isRecursion:()Z
            ifeq 106
       104: .line 2204
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            iconst_0
            ldc 2147483647
            invokevirtual org.joni.MinMaxLen.set:(II)V
       105: .line 2205
            goto 190
       106: .line 2208
      StackMap locals: org.joni.ast.BackRefNode
      StackMap stack:
            aload 3 /* oenv */
            getfield org.joni.OptEnvironment.scanEnv:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.memNodes:[Lorg/joni/ast/EncloseNode;
            astore 5 /* nodes */
        start local 5 // org.joni.ast.Node[] nodes
       107: .line 2210
            iconst_0
            istore 6 /* min */
        start local 6 // int min
       108: .line 2211
            iconst_0
            istore 7 /* max */
        start local 7 // int max
       109: .line 2213
            aload 5 /* nodes */
            ifnull 112
            aload 5 /* nodes */
            aload 4 /* br */
            getfield org.joni.ast.BackRefNode.back:[I
            iconst_0
            iaload
            aaload
            ifnull 112
       110: .line 2214
            aload 0 /* this */
            aload 5 /* nodes */
            aload 4 /* br */
            getfield org.joni.ast.BackRefNode.back:[I
            iconst_0
            iaload
            aaload
            invokevirtual org.joni.Analyser.getMinMatchLength:(Lorg/joni/ast/Node;)I
            istore 6 /* min */
       111: .line 2215
            aload 0 /* this */
            aload 5 /* nodes */
            aload 4 /* br */
            getfield org.joni.ast.BackRefNode.back:[I
            iconst_0
            iaload
            aaload
            invokevirtual org.joni.Analyser.getMaxMatchLength:(Lorg/joni/ast/Node;)I
            istore 7 /* max */
       112: .line 2218
      StackMap locals: org.joni.ast.Node[] int int
      StackMap stack:
            iconst_1
            istore 8 /* i */
        start local 8 // int i
       113: goto 120
       114: .line 2219
      StackMap locals: int
      StackMap stack:
            aload 5 /* nodes */
            aload 4 /* br */
            getfield org.joni.ast.BackRefNode.back:[I
            iload 8 /* i */
            iaload
            aaload
            ifnull 119
       115: .line 2220
            aload 0 /* this */
            aload 5 /* nodes */
            aload 4 /* br */
            getfield org.joni.ast.BackRefNode.back:[I
            iload 8 /* i */
            iaload
            aaload
            invokevirtual org.joni.Analyser.getMinMatchLength:(Lorg/joni/ast/Node;)I
            istore 9 /* tmin */
        start local 9 // int tmin
       116: .line 2221
            aload 0 /* this */
            aload 5 /* nodes */
            aload 4 /* br */
            getfield org.joni.ast.BackRefNode.back:[I
            iload 8 /* i */
            iaload
            aaload
            invokevirtual org.joni.Analyser.getMaxMatchLength:(Lorg/joni/ast/Node;)I
            istore 10 /* tmax */
        start local 10 // int tmax
       117: .line 2222
            iload 6 /* min */
            iload 9 /* tmin */
            if_icmple 118
            iload 9 /* tmin */
            istore 6 /* min */
       118: .line 2223
      StackMap locals: int int
      StackMap stack:
            iload 7 /* max */
            iload 10 /* tmax */
            if_icmpge 119
            iload 10 /* tmax */
            istore 7 /* max */
        end local 10 // int tmax
        end local 9 // int tmin
       119: .line 2218
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
       120: iload 8 /* i */
            aload 4 /* br */
            getfield org.joni.ast.BackRefNode.backNum:I
            if_icmplt 114
        end local 8 // int i
       121: .line 2226
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            iload 6 /* min */
            iload 7 /* max */
            invokevirtual org.joni.MinMaxLen.set:(II)V
       122: .line 2227
            goto 190
        end local 7 // int max
        end local 6 // int min
        end local 5 // org.joni.ast.Node[] nodes
        end local 4 // org.joni.ast.BackRefNode br
       123: .line 2232
      StackMap locals: org.joni.Analyser org.joni.ast.Node org.joni.NodeOptInfo org.joni.OptEnvironment
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.CallNode
            astore 4 /* cn */
        start local 4 // org.joni.ast.CallNode cn
       124: .line 2233
            aload 4 /* cn */
            invokevirtual org.joni.ast.CallNode.isRecursion:()Z
            ifeq 127
       125: .line 2234
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            iconst_0
            ldc 2147483647
            invokevirtual org.joni.MinMaxLen.set:(II)V
       126: .line 2235
            goto 190
       127: .line 2236
      StackMap locals: org.joni.ast.CallNode
      StackMap stack:
            aload 3 /* oenv */
            getfield org.joni.OptEnvironment.options:I
            istore 5 /* safe */
        start local 5 // int safe
       128: .line 2237
            aload 3 /* oenv */
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.target:Lorg/joni/ast/EncloseNode;
            getfield org.joni.ast.EncloseNode.option:I
            putfield org.joni.OptEnvironment.options:I
       129: .line 2238
            aload 0 /* this */
            aload 4 /* cn */
            getfield org.joni.ast.CallNode.target:Lorg/joni/ast/EncloseNode;
            aload 2 /* opt */
            aload 3 /* oenv */
            invokevirtual org.joni.Analyser.optimizeNodeLeft:(Lorg/joni/ast/Node;Lorg/joni/NodeOptInfo;Lorg/joni/OptEnvironment;)V
       130: .line 2239
            aload 3 /* oenv */
            iload 5 /* safe */
            putfield org.joni.OptEnvironment.options:I
        end local 5 // int safe
        end local 4 // org.joni.ast.CallNode cn
       131: .line 2242
            goto 190
       132: .line 2246
      StackMap locals:
      StackMap stack:
            new org.joni.NodeOptInfo
            dup
            invokespecial org.joni.NodeOptInfo.<init>:()V
            astore 4 /* nopt */
        start local 4 // org.joni.NodeOptInfo nopt
       133: .line 2247
            aload 1 /* node */
            checkcast org.joni.ast.QuantifierNode
            astore 5 /* qn */
        start local 5 // org.joni.ast.QuantifierNode qn
       134: .line 2248
            aload 0 /* this */
            aload 5 /* qn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            aload 4 /* nopt */
            aload 3 /* oenv */
            invokevirtual org.joni.Analyser.optimizeNodeLeft:(Lorg/joni/ast/Node;Lorg/joni/NodeOptInfo;Lorg/joni/OptEnvironment;)V
       135: .line 2249
            aload 5 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            invokestatic org.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifeq 141
       136: .line 2250
            aload 3 /* oenv */
            getfield org.joni.OptEnvironment.mmd:Lorg/joni/MinMaxLen;
            getfield org.joni.MinMaxLen.max:I
            ifne 141
            aload 5 /* qn */
            getfield org.joni.ast.QuantifierNode.target:Lorg/joni/ast/Node;
            invokevirtual org.joni.ast.Node.getType:()I
            iconst_3
            if_icmpne 141
            aload 5 /* qn */
            getfield org.joni.ast.QuantifierNode.greedy:Z
            ifeq 141
       137: .line 2251
            aload 3 /* oenv */
            getfield org.joni.OptEnvironment.options:I
            invokestatic org.joni.Option.isMultiline:(I)Z
            ifeq 140
       138: .line 2252
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.anchor:Lorg/joni/OptAnchorInfo;
            ldc 32768
            invokevirtual org.joni.OptAnchorInfo.add:(I)V
       139: .line 2253
            goto 141
       140: .line 2254
      StackMap locals: org.joni.NodeOptInfo org.joni.ast.QuantifierNode
      StackMap stack:
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.anchor:Lorg/joni/OptAnchorInfo;
            sipush 16384
            invokevirtual org.joni.OptAnchorInfo.add:(I)V
       141: .line 2258
      StackMap locals:
      StackMap stack:
            aload 5 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            ifle 157
       142: .line 2259
            aload 2 /* opt */
            aload 4 /* nopt */
            invokevirtual org.joni.NodeOptInfo.copy:(Lorg/joni/NodeOptInfo;)V
       143: .line 2260
            aload 4 /* nopt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            getfield org.joni.OptExactInfo.length:I
            ifle 152
       144: .line 2261
            aload 4 /* nopt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            getfield org.joni.OptExactInfo.reachEnd:Z
            ifeq 152
       145: .line 2263
            iconst_2
            istore 6 /* i */
        start local 6 // int i
       146: goto 149
       147: .line 2264
      StackMap locals: int
      StackMap stack:
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            aload 4 /* nopt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.joni.OptExactInfo.concat:(Lorg/joni/OptExactInfo;Lorg/jcodings/Encoding;)V
       148: .line 2263
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
       149: iload 6 /* i */
            aload 5 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            if_icmpgt 150
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            invokevirtual org.joni.OptExactInfo.isFull:()Z
            ifeq 147
       150: .line 2266
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            aload 5 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            if_icmpge 152
       151: .line 2267
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            iconst_0
            putfield org.joni.OptExactInfo.reachEnd:Z
        end local 6 // int i
       152: .line 2271
      StackMap locals:
      StackMap stack:
            aload 5 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            aload 5 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            if_icmpeq 155
       153: .line 2272
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            iconst_0
            putfield org.joni.OptExactInfo.reachEnd:Z
       154: .line 2273
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exm:Lorg/joni/OptExactInfo;
            iconst_0
            putfield org.joni.OptExactInfo.reachEnd:Z
       155: .line 2275
      StackMap locals:
      StackMap stack:
            aload 5 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            iconst_1
            if_icmple 157
       156: .line 2276
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exm:Lorg/joni/OptExactInfo;
            iconst_0
            putfield org.joni.OptExactInfo.reachEnd:Z
       157: .line 2281
      StackMap locals:
      StackMap stack:
            aload 4 /* nopt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            getfield org.joni.MinMaxLen.min:I
            aload 5 /* qn */
            getfield org.joni.ast.QuantifierNode.lower:I
            invokestatic org.joni.MinMaxLen.distanceMultiply:(II)I
            istore 6 /* min */
        start local 6 // int min
       158: .line 2283
            aload 5 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            invokestatic org.joni.ast.QuantifierNode.isRepeatInfinite:(I)Z
            ifeq 163
       159: .line 2284
            aload 4 /* nopt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            getfield org.joni.MinMaxLen.max:I
            ifle 160
            ldc 2147483647
            goto 161
      StackMap locals: int
      StackMap stack:
       160: iconst_0
      StackMap locals:
      StackMap stack: int
       161: istore 7 /* max */
        start local 7 // int max
       162: .line 2285
            goto 164
        end local 7 // int max
       163: .line 2286
      StackMap locals:
      StackMap stack:
            aload 4 /* nopt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            getfield org.joni.MinMaxLen.max:I
            aload 5 /* qn */
            getfield org.joni.ast.QuantifierNode.upper:I
            invokestatic org.joni.MinMaxLen.distanceMultiply:(II)I
            istore 7 /* max */
        start local 7 // int max
       164: .line 2288
      StackMap locals: int
      StackMap stack:
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            iload 6 /* min */
            iload 7 /* max */
            invokevirtual org.joni.MinMaxLen.set:(II)V
       165: .line 2289
            goto 190
        end local 7 // int max
        end local 6 // int min
        end local 5 // org.joni.ast.QuantifierNode qn
        end local 4 // org.joni.NodeOptInfo nopt
       166: .line 2293
      StackMap locals: org.joni.Analyser org.joni.ast.Node org.joni.NodeOptInfo org.joni.OptEnvironment
      StackMap stack:
            aload 1 /* node */
            checkcast org.joni.ast.EncloseNode
            astore 4 /* en */
        start local 4 // org.joni.ast.EncloseNode en
       167: .line 2294
            aload 4 /* en */
            getfield org.joni.ast.EncloseNode.type:I
            lookupswitch { // 5
                    1: 173
                    2: 168
                    4: 185
                    8: 185
                   16: 187
              default: 188
          }
       168: .line 2296
      StackMap locals: org.joni.ast.EncloseNode
      StackMap stack:
            aload 3 /* oenv */
            getfield org.joni.OptEnvironment.options:I
            istore 5 /* save */
        start local 5 // int save
       169: .line 2297
            aload 3 /* oenv */
            aload 4 /* en */
            getfield org.joni.ast.EncloseNode.option:I
            putfield org.joni.OptEnvironment.options:I
       170: .line 2298
            aload 0 /* this */
            aload 4 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            aload 2 /* opt */
            aload 3 /* oenv */
            invokevirtual org.joni.Analyser.optimizeNodeLeft:(Lorg/joni/ast/Node;Lorg/joni/NodeOptInfo;Lorg/joni/OptEnvironment;)V
       171: .line 2299
            aload 3 /* oenv */
            iload 5 /* save */
            putfield org.joni.OptEnvironment.options:I
       172: .line 2300
            goto 190
        end local 5 // int save
       173: .line 2303
      StackMap locals:
      StackMap stack:
            aload 4 /* en */
            dup
            getfield org.joni.ast.EncloseNode.optCount:I
            iconst_1
            iadd
            dup_x1
            putfield org.joni.ast.EncloseNode.optCount:I
            iconst_5
            if_icmple 180
       174: .line 2304
            iconst_0
            istore 6 /* min */
        start local 6 // int min
       175: .line 2305
            ldc 2147483647
            istore 7 /* max */
        start local 7 // int max
       176: .line 2306
            aload 4 /* en */
            invokevirtual org.joni.ast.EncloseNode.isMinFixed:()Z
            ifeq 177
            aload 4 /* en */
            getfield org.joni.ast.EncloseNode.minLength:I
            istore 6 /* min */
       177: .line 2307
      StackMap locals: org.joni.Analyser org.joni.ast.Node org.joni.NodeOptInfo org.joni.OptEnvironment org.joni.ast.EncloseNode top int int
      StackMap stack:
            aload 4 /* en */
            invokevirtual org.joni.ast.EncloseNode.isMaxFixed:()Z
            ifeq 178
            aload 4 /* en */
            getfield org.joni.ast.EncloseNode.maxLength:I
            istore 7 /* max */
       178: .line 2308
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            iload 6 /* min */
            iload 7 /* max */
            invokevirtual org.joni.MinMaxLen.set:(II)V
        end local 7 // int max
        end local 6 // int min
       179: .line 2309
            goto 190
       180: .line 2310
      StackMap locals: org.joni.Analyser org.joni.ast.Node org.joni.NodeOptInfo org.joni.OptEnvironment org.joni.ast.EncloseNode
      StackMap stack:
            aload 0 /* this */
            aload 4 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            aload 2 /* opt */
            aload 3 /* oenv */
            invokevirtual org.joni.Analyser.optimizeNodeLeft:(Lorg/joni/ast/Node;Lorg/joni/NodeOptInfo;Lorg/joni/OptEnvironment;)V
       181: .line 2311
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.anchor:Lorg/joni/OptAnchorInfo;
            ldc 49152
            invokevirtual org.joni.OptAnchorInfo.isSet:(I)Z
            ifeq 190
       182: .line 2312
            aload 3 /* oenv */
            getfield org.joni.OptEnvironment.scanEnv:Lorg/joni/ScanEnvironment;
            getfield org.joni.ScanEnvironment.backrefedMem:I
            aload 4 /* en */
            getfield org.joni.ast.EncloseNode.regNum:I
            invokestatic org.joni.BitStatus.bsAt:(II)Z
            ifeq 190
       183: .line 2313
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.anchor:Lorg/joni/OptAnchorInfo;
            ldc 49152
            invokevirtual org.joni.OptAnchorInfo.remove:(I)V
       184: .line 2317
            goto 190
       185: .line 2321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* en */
            getfield org.joni.ast.EncloseNode.target:Lorg/joni/ast/Node;
            aload 2 /* opt */
            aload 3 /* oenv */
            invokevirtual org.joni.Analyser.optimizeNodeLeft:(Lorg/joni/ast/Node;Lorg/joni/NodeOptInfo;Lorg/joni/OptEnvironment;)V
       186: .line 2322
            goto 190
       187: .line 2325
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            iconst_0
            ldc 2147483647
            invokevirtual org.joni.MinMaxLen.set:(II)V
       188: .line 2328
      StackMap locals:
      StackMap stack:
            goto 190
        end local 4 // org.joni.ast.EncloseNode en
       189: .line 2332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "internal parser error (bug)"
            invokevirtual org.joni.Analyser.newInternalException:(Ljava/lang/String;)V
       190: .line 2334
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.joni.OptEnvironment oenv
        end local 2 // org.joni.NodeOptInfo opt
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0  191     0     this  Lorg/joni/Analyser;
            0  191     1     node  Lorg/joni/ast/Node;
            0  191     2      opt  Lorg/joni/NodeOptInfo;
            0  191     3     oenv  Lorg/joni/OptEnvironment;
            4   12     4     nenv  Lorg/joni/OptEnvironment;
            5   12     5     nopt  Lorg/joni/NodeOptInfo;
            7   12     6      lin  Lorg/joni/ast/ListNode;
           13   21     4     nopt  Lorg/joni/NodeOptInfo;
           14   21     5      aln  Lorg/joni/ast/ListNode;
           22   43     4       sn  Lorg/joni/ast/StringNode;
           23   43     5     slen  I
           33   34     6      max  I
           39   40     6      max  I
           32   33     7        n  I
           44   59     4       cc  Lorg/joni/ast/CClassNode;
           46   48     5      min  I
           47   48     6      max  I
           50   57     5        i  I
           52   55     6        z  Z
           62   82     4      min  I
           83   85     4      min  I
           60   85     5      max  I
           63   81     6       cn  Lorg/joni/ast/CTypeNode;
           66   81     7  maxCode  I
           69   74     8        i  I
           76   81     8        i  I
           88  102     4       an  Lorg/joni/ast/AnchorNode;
           92  101     5     nopt  Lorg/joni/NodeOptInfo;
          103  123     4       br  Lorg/joni/ast/BackRefNode;
          107  123     5    nodes  [Lorg/joni/ast/Node;
          108  123     6      min  I
          109  123     7      max  I
          113  121     8        i  I
          116  119     9     tmin  I
          117  119    10     tmax  I
          124  131     4       cn  Lorg/joni/ast/CallNode;
          128  131     5     safe  I
          133  166     4     nopt  Lorg/joni/NodeOptInfo;
          134  166     5       qn  Lorg/joni/ast/QuantifierNode;
          146  152     6        i  I
          158  166     6      min  I
          162  163     7      max  I
          164  166     7      max  I
          167  189     4       en  Lorg/joni/ast/EncloseNode;
          169  173     5     save  I
          175  179     6      min  I
          176  179     7      max  I
    MethodParameters:
      Name  Flags
      node  
      opt   
      oenv  

  protected final void setOptimizedInfoFromTree(org.joni.ast.Node);
    descriptor: (Lorg/joni/ast/Node;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.joni.Analyser this
        start local 1 // org.joni.ast.Node node
         0: .line 2337
            new org.joni.NodeOptInfo
            dup
            invokespecial org.joni.NodeOptInfo.<init>:()V
            astore 2 /* opt */
        start local 2 // org.joni.NodeOptInfo opt
         1: .line 2338
            new org.joni.OptEnvironment
            dup
            invokespecial org.joni.OptEnvironment.<init>:()V
            astore 3 /* oenv */
        start local 3 // org.joni.OptEnvironment oenv
         2: .line 2340
            aload 3 /* oenv */
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            getfield org.joni.Regex.enc:Lorg/jcodings/Encoding;
            putfield org.joni.OptEnvironment.enc:Lorg/jcodings/Encoding;
         3: .line 2341
            aload 3 /* oenv */
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            getfield org.joni.Regex.options:I
            putfield org.joni.OptEnvironment.options:I
         4: .line 2342
            aload 3 /* oenv */
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            getfield org.joni.Regex.caseFoldFlag:I
            putfield org.joni.OptEnvironment.caseFoldFlag:I
         5: .line 2343
            aload 3 /* oenv */
            aload 0 /* this */
            getfield org.joni.Analyser.env:Lorg/joni/ScanEnvironment;
            putfield org.joni.OptEnvironment.scanEnv:Lorg/joni/ScanEnvironment;
         6: .line 2344
            aload 3 /* oenv */
            getfield org.joni.OptEnvironment.mmd:Lorg/joni/MinMaxLen;
            invokevirtual org.joni.MinMaxLen.clear:()V
         7: .line 2346
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* opt */
            aload 3 /* oenv */
            invokevirtual org.joni.Analyser.optimizeNodeLeft:(Lorg/joni/ast/Node;Lorg/joni/NodeOptInfo;Lorg/joni/OptEnvironment;)V
         8: .line 2348
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.anchor:Lorg/joni/OptAnchorInfo;
            getfield org.joni.OptAnchorInfo.leftAnchor:I
            ldc 53253
            iand
            putfield org.joni.Regex.anchor:I
         9: .line 2354
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.anchor:Lorg/joni/OptAnchorInfo;
            getfield org.joni.OptAnchorInfo.leftAnchor:I
            sipush 6144
            iand
            ifeq 10
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            dup
            getfield org.joni.Regex.anchor:I
            ldc -32769
            iand
            putfield org.joni.Regex.anchor:I
        10: .line 2356
      StackMap locals: org.joni.NodeOptInfo org.joni.OptEnvironment
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            dup
            getfield org.joni.Regex.anchor:I
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.anchor:Lorg/joni/OptAnchorInfo;
            getfield org.joni.OptAnchorInfo.rightAnchor:I
            sipush 2072
            iand
            ior
            putfield org.joni.Regex.anchor:I
        11: .line 2360
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            getfield org.joni.Regex.anchor:I
            bipush 24
            iand
            ifeq 14
        12: .line 2361
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            getfield org.joni.MinMaxLen.min:I
            putfield org.joni.Regex.anchorDmin:I
        13: .line 2362
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            getfield org.joni.MinMaxLen.max:I
            putfield org.joni.Regex.anchorDmax:I
        14: .line 2365
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            getfield org.joni.OptExactInfo.length:I
            ifgt 15
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exm:Lorg/joni/OptExactInfo;
            getfield org.joni.OptExactInfo.length:I
            ifle 23
        15: .line 2366
      StackMap locals:
      StackMap stack:
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exm:Lorg/joni/OptExactInfo;
            aload 0 /* this */
            getfield org.joni.Analyser.enc:Lorg/jcodings/Encoding;
            invokevirtual org.joni.OptExactInfo.select:(Lorg/joni/OptExactInfo;Lorg/jcodings/Encoding;)V
        16: .line 2367
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.map:Lorg/joni/OptMapInfo;
            getfield org.joni.OptMapInfo.value:I
            ifle 20
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.map:Lorg/joni/OptMapInfo;
            invokevirtual org.joni.OptExactInfo.compare:(Lorg/joni/OptMapInfo;)I
            ifle 20
        17: .line 2369
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.map:Lorg/joni/OptMapInfo;
            invokevirtual org.joni.Regex.setOptimizeMapInfo:(Lorg/joni/OptMapInfo;)V
        18: .line 2370
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.map:Lorg/joni/OptMapInfo;
            getfield org.joni.OptMapInfo.anchor:Lorg/joni/OptAnchorInfo;
            invokevirtual org.joni.Regex.setSubAnchor:(Lorg/joni/OptAnchorInfo;)V
        19: .line 2371
            goto 29
        20: .line 2372
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            invokevirtual org.joni.Regex.setOptimizeExactInfo:(Lorg/joni/OptExactInfo;)V
        21: .line 2373
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.exb:Lorg/joni/OptExactInfo;
            getfield org.joni.OptExactInfo.anchor:Lorg/joni/OptAnchorInfo;
            invokevirtual org.joni.Regex.setSubAnchor:(Lorg/joni/OptAnchorInfo;)V
        22: .line 2375
            goto 29
      StackMap locals:
      StackMap stack:
        23: aload 2 /* opt */
            getfield org.joni.NodeOptInfo.map:Lorg/joni/OptMapInfo;
            getfield org.joni.OptMapInfo.value:I
            ifle 27
        24: .line 2377
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.map:Lorg/joni/OptMapInfo;
            invokevirtual org.joni.Regex.setOptimizeMapInfo:(Lorg/joni/OptMapInfo;)V
        25: .line 2378
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.map:Lorg/joni/OptMapInfo;
            getfield org.joni.OptMapInfo.anchor:Lorg/joni/OptAnchorInfo;
            invokevirtual org.joni.Regex.setSubAnchor:(Lorg/joni/OptAnchorInfo;)V
        26: .line 2379
            goto 29
        27: .line 2380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            dup
            getfield org.joni.Regex.subAnchor:I
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.anchor:Lorg/joni/OptAnchorInfo;
            getfield org.joni.OptAnchorInfo.leftAnchor:I
            iconst_2
            iand
            ior
            putfield org.joni.Regex.subAnchor:I
        28: .line 2381
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.length:Lorg/joni/MinMaxLen;
            getfield org.joni.MinMaxLen.max:I
            ifne 29
            aload 0 /* this */
            getfield org.joni.Analyser.regex:Lorg/joni/Regex;
            dup
            getfield org.joni.Regex.subAnchor:I
            aload 2 /* opt */
            getfield org.joni.NodeOptInfo.anchor:Lorg/joni/OptAnchorInfo;
            getfield org.joni.OptAnchorInfo.rightAnchor:I
            bipush 32
            iand
            ior
            putfield org.joni.Regex.subAnchor:I
        29: .line 2387
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.joni.OptEnvironment oenv
        end local 2 // org.joni.NodeOptInfo opt
        end local 1 // org.joni.ast.Node node
        end local 0 // org.joni.Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   30     0  this  Lorg/joni/Analyser;
            0   30     1  node  Lorg/joni/ast/Node;
            1   30     2   opt  Lorg/joni/NodeOptInfo;
            2   30     3  oenv  Lorg/joni/OptEnvironment;
    MethodParameters:
      Name  Flags
      node  
}
SourceFile: "Analyser.java"
InnerClasses:
  public final TopNode = org.joni.ast.Node$TopNode of org.joni.ast.Node