final class java.util.regex.Pattern$Branch extends java.util.regex.Pattern$Node
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: java.util.regex.Pattern$Branch
  super_class: java.util.regex.Pattern$Node
{
  java.util.regex.Pattern$Node[] atoms;
    descriptor: [Ljava/util/regex/Pattern$Node;
    flags: (0x0000) 

  int size;
    descriptor: I
    flags: (0x0000) 

  java.util.regex.Pattern$Node conn;
    descriptor: Ljava/util/regex/Pattern$Node;
    flags: (0x0000) 

  void <init>(java.util.regex.Pattern$Node, java.util.regex.Pattern$Node, java.util.regex.Pattern$Node);
    descriptor: (Ljava/util/regex/Pattern$Node;Ljava/util/regex/Pattern$Node;Ljava/util/regex/Pattern$Node;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // java.util.regex.Pattern$Branch this
        start local 1 // java.util.regex.Pattern$Node first
        start local 2 // java.util.regex.Pattern$Node second
        start local 3 // java.util.regex.Pattern$Node branchConn
         0: .line 4729
            aload 0 /* this */
            invokespecial java.util.regex.Pattern$Node.<init>:()V
         1: .line 4726
            aload 0 /* this */
            iconst_2
            anewarray java.util.regex.Pattern$Node
            putfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
         2: .line 4727
            aload 0 /* this */
            iconst_2
            putfield java.util.regex.Pattern$Branch.size:I
         3: .line 4730
            aload 0 /* this */
            aload 3 /* branchConn */
            putfield java.util.regex.Pattern$Branch.conn:Ljava/util/regex/Pattern$Node;
         4: .line 4731
            aload 0 /* this */
            getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
            iconst_0
            aload 1 /* first */
            aastore
         5: .line 4732
            aload 0 /* this */
            getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
            iconst_1
            aload 2 /* second */
            aastore
         6: .line 4733
            return
        end local 3 // java.util.regex.Pattern$Node branchConn
        end local 2 // java.util.regex.Pattern$Node second
        end local 1 // java.util.regex.Pattern$Node first
        end local 0 // java.util.regex.Pattern$Branch this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Ljava/util/regex/Pattern$Branch;
            0    7     1       first  Ljava/util/regex/Pattern$Node;
            0    7     2      second  Ljava/util/regex/Pattern$Node;
            0    7     3  branchConn  Ljava/util/regex/Pattern$Node;
    MethodParameters:
            Name  Flags
      first       
      second      
      branchConn  

  void add(java.util.regex.Pattern$Node);
    descriptor: (Ljava/util/regex/Pattern$Node;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.util.regex.Pattern$Branch this
        start local 1 // java.util.regex.Pattern$Node node
         0: .line 4736
            aload 0 /* this */
            getfield java.util.regex.Pattern$Branch.size:I
            aload 0 /* this */
            getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
            arraylength
            if_icmplt 4
         1: .line 4737
            aload 0 /* this */
            getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
            arraylength
            iconst_2
            imul
            anewarray java.util.regex.Pattern$Node
            astore 2 /* tmp */
        start local 2 // java.util.regex.Pattern$Node[] tmp
         2: .line 4738
            aload 0 /* this */
            getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
            iconst_0
            aload 2 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 4739
            aload 0 /* this */
            aload 2 /* tmp */
            putfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
        end local 2 // java.util.regex.Pattern$Node[] tmp
         4: .line 4741
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
            aload 0 /* this */
            dup
            getfield java.util.regex.Pattern$Branch.size:I
            dup_x1
            iconst_1
            iadd
            putfield java.util.regex.Pattern$Branch.size:I
            aload 1 /* node */
            aastore
         5: .line 4742
            return
        end local 1 // java.util.regex.Pattern$Node node
        end local 0 // java.util.regex.Pattern$Branch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/util/regex/Pattern$Branch;
            0    6     1  node  Ljava/util/regex/Pattern$Node;
            2    4     2   tmp  [Ljava/util/regex/Pattern$Node;
    MethodParameters:
      Name  Flags
      node  

  boolean match(java.util.regex.Matcher, int, java.lang.CharSequence);
    descriptor: (Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // java.util.regex.Pattern$Branch this
        start local 1 // java.util.regex.Matcher matcher
        start local 2 // int i
        start local 3 // java.lang.CharSequence seq
         0: .line 4745
            iconst_0
            istore 4 /* n */
        start local 4 // int n
         1: goto 8
         2: .line 4746
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
            iload 4 /* n */
            aaload
            ifnonnull 5
         3: .line 4747
            aload 0 /* this */
            getfield java.util.regex.Pattern$Branch.conn:Ljava/util/regex/Pattern$Node;
            getfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
            aload 1 /* matcher */
            iload 2 /* i */
            aload 3 /* seq */
            invokevirtual java.util.regex.Pattern$Node.match:(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z
            ifeq 7
         4: .line 4748
            iconst_1
            ireturn
         5: .line 4749
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
            iload 4 /* n */
            aaload
            aload 1 /* matcher */
            iload 2 /* i */
            aload 3 /* seq */
            invokevirtual java.util.regex.Pattern$Node.match:(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z
            ifeq 7
         6: .line 4750
            iconst_1
            ireturn
         7: .line 4745
      StackMap locals:
      StackMap stack:
            iinc 4 /* n */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* n */
            aload 0 /* this */
            getfield java.util.regex.Pattern$Branch.size:I
            if_icmplt 2
        end local 4 // int n
         9: .line 4753
            iconst_0
            ireturn
        end local 3 // java.lang.CharSequence seq
        end local 2 // int i
        end local 1 // java.util.regex.Matcher matcher
        end local 0 // java.util.regex.Pattern$Branch this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Ljava/util/regex/Pattern$Branch;
            0   10     1  matcher  Ljava/util/regex/Matcher;
            0   10     2        i  I
            0   10     3      seq  Ljava/lang/CharSequence;
            1    9     4        n  I
    MethodParameters:
         Name  Flags
      matcher  
      i        
      seq      

  boolean study(java.util.regex.Pattern$TreeInfo);
    descriptor: (Ljava/util/regex/Pattern$TreeInfo;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // java.util.regex.Pattern$Branch this
        start local 1 // java.util.regex.Pattern$TreeInfo info
         0: .line 4757
            aload 1 /* info */
            getfield java.util.regex.Pattern$TreeInfo.minLength:I
            istore 2 /* minL */
        start local 2 // int minL
         1: .line 4758
            aload 1 /* info */
            getfield java.util.regex.Pattern$TreeInfo.maxLength:I
            istore 3 /* maxL */
        start local 3 // int maxL
         2: .line 4759
            aload 1 /* info */
            getfield java.util.regex.Pattern$TreeInfo.maxValid:Z
            istore 4 /* maxV */
        start local 4 // boolean maxV
         3: .line 4761
            ldc 2147483647
            istore 5 /* minL2 */
        start local 5 // int minL2
         4: .line 4762
            iconst_m1
            istore 6 /* maxL2 */
        start local 6 // int maxL2
         5: .line 4763
            iconst_0
            istore 7 /* n */
        start local 7 // int n
         6: goto 14
         7: .line 4764
      StackMap locals: java.util.regex.Pattern$Branch java.util.regex.Pattern$TreeInfo int int int int int int
      StackMap stack:
            aload 1 /* info */
            invokevirtual java.util.regex.Pattern$TreeInfo.reset:()V
         8: .line 4765
            aload 0 /* this */
            getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
            iload 7 /* n */
            aaload
            ifnull 10
         9: .line 4766
            aload 0 /* this */
            getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
            iload 7 /* n */
            aaload
            aload 1 /* info */
            invokevirtual java.util.regex.Pattern$Node.study:(Ljava/util/regex/Pattern$TreeInfo;)Z
            pop
        10: .line 4767
      StackMap locals:
      StackMap stack:
            iload 5 /* minL2 */
            aload 1 /* info */
            getfield java.util.regex.Pattern$TreeInfo.minLength:I
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* minL2 */
        11: .line 4768
            iload 6 /* maxL2 */
            aload 1 /* info */
            getfield java.util.regex.Pattern$TreeInfo.maxLength:I
            invokestatic java.lang.Math.max:(II)I
            istore 6 /* maxL2 */
        12: .line 4769
            iload 4 /* maxV */
            aload 1 /* info */
            getfield java.util.regex.Pattern$TreeInfo.maxValid:Z
            iand
            istore 4 /* maxV */
        13: .line 4763
            iinc 7 /* n */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* n */
            aload 0 /* this */
            getfield java.util.regex.Pattern$Branch.size:I
            if_icmplt 7
        end local 7 // int n
        15: .line 4772
            iload 2 /* minL */
            iload 5 /* minL2 */
            iadd
            istore 2 /* minL */
        16: .line 4773
            iload 3 /* maxL */
            iload 6 /* maxL2 */
            iadd
            istore 3 /* maxL */
        17: .line 4775
            aload 1 /* info */
            invokevirtual java.util.regex.Pattern$TreeInfo.reset:()V
        18: .line 4776
            aload 0 /* this */
            getfield java.util.regex.Pattern$Branch.conn:Ljava/util/regex/Pattern$Node;
            getfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
            aload 1 /* info */
            invokevirtual java.util.regex.Pattern$Node.study:(Ljava/util/regex/Pattern$TreeInfo;)Z
            pop
        19: .line 4778
            aload 1 /* info */
            dup
            getfield java.util.regex.Pattern$TreeInfo.minLength:I
            iload 2 /* minL */
            iadd
            putfield java.util.regex.Pattern$TreeInfo.minLength:I
        20: .line 4779
            aload 1 /* info */
            dup
            getfield java.util.regex.Pattern$TreeInfo.maxLength:I
            iload 3 /* maxL */
            iadd
            putfield java.util.regex.Pattern$TreeInfo.maxLength:I
        21: .line 4780
            aload 1 /* info */
            dup
            getfield java.util.regex.Pattern$TreeInfo.maxValid:Z
            iload 4 /* maxV */
            iand
            putfield java.util.regex.Pattern$TreeInfo.maxValid:Z
        22: .line 4781
            aload 1 /* info */
            iconst_0
            putfield java.util.regex.Pattern$TreeInfo.deterministic:Z
        23: .line 4782
            iconst_0
            ireturn
        end local 6 // int maxL2
        end local 5 // int minL2
        end local 4 // boolean maxV
        end local 3 // int maxL
        end local 2 // int minL
        end local 1 // java.util.regex.Pattern$TreeInfo info
        end local 0 // java.util.regex.Pattern$Branch this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   24     0   this  Ljava/util/regex/Pattern$Branch;
            0   24     1   info  Ljava/util/regex/Pattern$TreeInfo;
            1   24     2   minL  I
            2   24     3   maxL  I
            3   24     4   maxV  Z
            4   24     5  minL2  I
            5   24     6  maxL2  I
            6   15     7      n  I
    MethodParameters:
      Name  Flags
      info  
}
SourceFile: "Pattern.java"
NestHost: java.util.regex.Pattern
InnerClasses:
  final Branch = java.util.regex.Pattern$Branch of java.util.regex.Pattern
  Node = java.util.regex.Pattern$Node of java.util.regex.Pattern
  final TreeInfo = java.util.regex.Pattern$TreeInfo of java.util.regex.Pattern