public class sun.misc.Regexp
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.misc.Regexp
  super_class: java.lang.Object
{
  public boolean ignoreCase;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String exp;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String prefix;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String suffix;
    descriptor: Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public boolean exact;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public int prefixLen;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int suffixLen;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int totalLen;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public java.lang.String[] mids;
    descriptor: [Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // sun.misc.Regexp this
        start local 1 // java.lang.String s
         0: .line 59
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 60
            aload 0 /* this */
            aload 1 /* s */
            putfield sun.misc.Regexp.exp:Ljava/lang/String;
         2: .line 61
            aload 1 /* s */
            bipush 42
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* firstst */
        start local 2 // int firstst
         3: .line 62
            aload 1 /* s */
            bipush 42
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 3 /* lastst */
        start local 3 // int lastst
         4: .line 63
            iload 2 /* firstst */
            ifge 8
         5: .line 64
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            putfield sun.misc.Regexp.totalLen:I
         6: .line 65
            aload 0 /* this */
            iconst_1
            putfield sun.misc.Regexp.exact:Z
         7: .line 66
            goto 36
         8: .line 67
      StackMap locals: sun.misc.Regexp java.lang.String int int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* firstst */
            putfield sun.misc.Regexp.prefixLen:I
         9: .line 68
            iload 2 /* firstst */
            ifne 11
        10: .line 69
            aload 0 /* this */
            aconst_null
            putfield sun.misc.Regexp.prefix:Ljava/lang/String;
            goto 12
        11: .line 71
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* s */
            iconst_0
            iload 2 /* firstst */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield sun.misc.Regexp.prefix:Ljava/lang/String;
        12: .line 72
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            iload 3 /* lastst */
            isub
            iconst_1
            isub
            putfield sun.misc.Regexp.suffixLen:I
        13: .line 73
            aload 0 /* this */
            getfield sun.misc.Regexp.suffixLen:I
            ifne 15
        14: .line 74
            aload 0 /* this */
            aconst_null
            putfield sun.misc.Regexp.suffix:Ljava/lang/String;
            goto 16
        15: .line 76
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* s */
            iload 3 /* lastst */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            putfield sun.misc.Regexp.suffix:Ljava/lang/String;
        16: .line 77
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* nmids */
        start local 4 // int nmids
        17: .line 78
            iload 2 /* firstst */
            istore 5 /* pos */
        start local 5 // int pos
        18: .line 79
            goto 21
        19: .line 80
      StackMap locals: int int
      StackMap stack:
            iinc 4 /* nmids */ 1
        20: .line 81
            aload 1 /* s */
            bipush 42
            iload 5 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 5 /* pos */
        21: .line 79
      StackMap locals:
      StackMap stack:
            iload 5 /* pos */
            iload 3 /* lastst */
            if_icmpge 22
            iload 5 /* pos */
            ifge 19
        22: .line 83
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.misc.Regexp.prefixLen:I
            aload 0 /* this */
            getfield sun.misc.Regexp.suffixLen:I
            iadd
            putfield sun.misc.Regexp.totalLen:I
        23: .line 84
            iload 4 /* nmids */
            ifle 36
        24: .line 85
            aload 0 /* this */
            iload 4 /* nmids */
            anewarray java.lang.String
            putfield sun.misc.Regexp.mids:[Ljava/lang/String;
        25: .line 86
            iload 2 /* firstst */
            istore 5 /* pos */
        26: .line 87
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        27: goto 35
        28: .line 88
      StackMap locals: int
      StackMap stack:
            iinc 5 /* pos */ 1
        29: .line 89
            aload 1 /* s */
            bipush 42
            iload 5 /* pos */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 7 /* npos */
        start local 7 // int npos
        30: .line 90
            iload 5 /* pos */
            iload 7 /* npos */
            if_icmpge 33
        31: .line 91
            aload 0 /* this */
            getfield sun.misc.Regexp.mids:[Ljava/lang/String;
            iload 6 /* i */
            aload 1 /* s */
            iload 5 /* pos */
            iload 7 /* npos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aastore
        32: .line 92
            aload 0 /* this */
            dup
            getfield sun.misc.Regexp.totalLen:I
            aload 0 /* this */
            getfield sun.misc.Regexp.mids:[Ljava/lang/String;
            iload 6 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            iadd
            putfield sun.misc.Regexp.totalLen:I
        33: .line 94
      StackMap locals: int
      StackMap stack:
            iload 7 /* npos */
            istore 5 /* pos */
        end local 7 // int npos
        34: .line 87
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 6 /* i */
            iload 4 /* nmids */
            if_icmplt 28
        end local 6 // int i
        end local 5 // int pos
        end local 4 // int nmids
        36: .line 98
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int lastst
        end local 2 // int firstst
        end local 1 // java.lang.String s
        end local 0 // sun.misc.Regexp this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   37     0     this  Lsun/misc/Regexp;
            0   37     1        s  Ljava/lang/String;
            3   37     2  firstst  I
            4   37     3   lastst  I
           17   36     4    nmids  I
           18   36     5      pos  I
           27   36     6        i  I
           30   34     7     npos  I
    MethodParameters:
      Name  Flags
      s     

  final boolean matches(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.misc.Regexp this
        start local 1 // java.lang.String s
         0: .line 102
            aload 0 /* this */
            aload 1 /* s */
            iconst_0
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            invokevirtual sun.misc.Regexp.matches:(Ljava/lang/String;II)Z
            ireturn
        end local 1 // java.lang.String s
        end local 0 // sun.misc.Regexp this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/Regexp;
            0    1     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  boolean matches(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Z
    flags: (0x0000) 
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // sun.misc.Regexp this
        start local 1 // java.lang.String s
        start local 2 // int offset
        start local 3 // int len
         0: .line 108
            aload 0 /* this */
            getfield sun.misc.Regexp.exact:Z
            ifeq 5
         1: .line 109
            iload 3 /* len */
            aload 0 /* this */
            getfield sun.misc.Regexp.totalLen:I
            if_icmpne 4
         2: .line 110
            aload 0 /* this */
            getfield sun.misc.Regexp.exp:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.misc.Regexp.ignoreCase:Z
            iconst_0
            aload 1 /* s */
            iload 2 /* offset */
            iload 3 /* len */
            invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
            ifeq 4
         3: .line 109
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
         5: .line 111
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            aload 0 /* this */
            getfield sun.misc.Regexp.totalLen:I
            if_icmpge 7
         6: .line 112
            iconst_0
            ireturn
         7: .line 113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.Regexp.prefixLen:I
            ifle 12
         8: .line 114
            aload 0 /* this */
            getfield sun.misc.Regexp.prefix:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.misc.Regexp.ignoreCase:Z
         9: .line 115
            iconst_0
            aload 1 /* s */
            iload 2 /* offset */
            aload 0 /* this */
            getfield sun.misc.Regexp.prefixLen:I
        10: .line 114
            invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
        11: .line 115
            ifeq 18
        12: .line 117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.Regexp.suffixLen:I
            ifle 19
        13: .line 118
            aload 0 /* this */
            getfield sun.misc.Regexp.suffix:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.misc.Regexp.ignoreCase:Z
        14: .line 119
            iconst_0
            aload 1 /* s */
            iload 2 /* offset */
            iload 3 /* len */
            iadd
            aload 0 /* this */
            getfield sun.misc.Regexp.suffixLen:I
            isub
        15: .line 120
            aload 0 /* this */
            getfield sun.misc.Regexp.suffixLen:I
        16: .line 118
            invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
        17: .line 120
            ifne 19
        18: .line 121
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        19: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.Regexp.mids:[Ljava/lang/String;
            ifnonnull 21
        20: .line 123
            iconst_1
            ireturn
        21: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.Regexp.mids:[Ljava/lang/String;
            arraylength
            istore 4 /* nmids */
        start local 4 // int nmids
        22: .line 125
            iload 2 /* offset */
            aload 0 /* this */
            getfield sun.misc.Regexp.prefixLen:I
            iadd
            istore 5 /* spos */
        start local 5 // int spos
        23: .line 126
            iload 2 /* offset */
            iload 3 /* len */
            iadd
            aload 0 /* this */
            getfield sun.misc.Regexp.suffixLen:I
            isub
            istore 6 /* limit */
        start local 6 // int limit
        24: .line 127
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        25: goto 39
        26: .line 128
      StackMap locals: sun.misc.Regexp java.lang.String int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.Regexp.mids:[Ljava/lang/String;
            iload 7 /* i */
            aaload
            astore 8 /* ms */
        start local 8 // java.lang.String ms
        27: .line 129
            aload 8 /* ms */
            invokevirtual java.lang.String.length:()I
            istore 9 /* ml */
        start local 9 // int ml
        28: .line 130
            goto 30
        29: .line 133
      StackMap locals: java.lang.String int
      StackMap stack:
            iinc 5 /* spos */ 1
        30: .line 130
      StackMap locals:
      StackMap stack:
            iload 5 /* spos */
            iload 9 /* ml */
            iadd
            iload 6 /* limit */
            if_icmpgt 35
        31: .line 131
            aload 8 /* ms */
            aload 0 /* this */
            getfield sun.misc.Regexp.ignoreCase:Z
        32: .line 132
            iconst_0
            aload 1 /* s */
            iload 5 /* spos */
            iload 9 /* ml */
        33: .line 131
            invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
        34: .line 132
            ifeq 29
        35: .line 134
      StackMap locals:
      StackMap stack:
            iload 5 /* spos */
            iload 9 /* ml */
            iadd
            iload 6 /* limit */
            if_icmple 37
        36: .line 135
            iconst_0
            ireturn
        37: .line 136
      StackMap locals:
      StackMap stack:
            iload 5 /* spos */
            iload 9 /* ml */
            iadd
            istore 5 /* spos */
        end local 9 // int ml
        end local 8 // java.lang.String ms
        38: .line 127
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 7 /* i */
            iload 4 /* nmids */
            if_icmplt 26
        end local 7 // int i
        40: .line 138
            iconst_1
            ireturn
        end local 6 // int limit
        end local 5 // int spos
        end local 4 // int nmids
        end local 3 // int len
        end local 2 // int offset
        end local 1 // java.lang.String s
        end local 0 // sun.misc.Regexp this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   41     0    this  Lsun/misc/Regexp;
            0   41     1       s  Ljava/lang/String;
            0   41     2  offset  I
            0   41     3     len  I
           22   41     4   nmids  I
           23   41     5    spos  I
           24   41     6   limit  I
           25   40     7       i  I
           27   38     8      ms  Ljava/lang/String;
           28   38     9      ml  I
    MethodParameters:
        Name  Flags
      s       
      offset  
      len     
}
SourceFile: "Regexp.java"