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 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.misc.Regexp.exp:Ljava/lang/String;
2: aload 1
bipush 42
invokevirtual java.lang.String.indexOf:(I)I
istore 2
start local 2 3: aload 1
bipush 42
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 3
start local 3 4: iload 2
ifge 8
5: aload 0
aload 1
invokevirtual java.lang.String.length:()I
putfield sun.misc.Regexp.totalLen:I
6: aload 0
iconst_1
putfield sun.misc.Regexp.exact:Z
7: goto 36
8: StackMap locals: sun.misc.Regexp java.lang.String int int
StackMap stack:
aload 0
iload 2
putfield sun.misc.Regexp.prefixLen:I
9: iload 2
ifne 11
10: aload 0
aconst_null
putfield sun.misc.Regexp.prefix:Ljava/lang/String;
goto 12
11: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
putfield sun.misc.Regexp.prefix:Ljava/lang/String;
12: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.String.length:()I
iload 3
isub
iconst_1
isub
putfield sun.misc.Regexp.suffixLen:I
13: aload 0
getfield sun.misc.Regexp.suffixLen:I
ifne 15
14: aload 0
aconst_null
putfield sun.misc.Regexp.suffix:Ljava/lang/String;
goto 16
15: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
putfield sun.misc.Regexp.suffix:Ljava/lang/String;
16: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 17: iload 2
istore 5
start local 5 18: goto 21
19: StackMap locals: int int
StackMap stack:
iinc 4 1
20: aload 1
bipush 42
iload 5
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 5
21: StackMap locals:
StackMap stack:
iload 5
iload 3
if_icmpge 22
iload 5
ifge 19
22: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.misc.Regexp.prefixLen:I
aload 0
getfield sun.misc.Regexp.suffixLen:I
iadd
putfield sun.misc.Regexp.totalLen:I
23: iload 4
ifle 36
24: aload 0
iload 4
anewarray java.lang.String
putfield sun.misc.Regexp.mids:[Ljava/lang/String;
25: iload 2
istore 5
26: iconst_0
istore 6
start local 6 27: goto 35
28: StackMap locals: int
StackMap stack:
iinc 5 1
29: aload 1
bipush 42
iload 5
invokevirtual java.lang.String.indexOf:(II)I
istore 7
start local 7 30: iload 5
iload 7
if_icmpge 33
31: aload 0
getfield sun.misc.Regexp.mids:[Ljava/lang/String;
iload 6
aload 1
iload 5
iload 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
aastore
32: aload 0
dup
getfield sun.misc.Regexp.totalLen:I
aload 0
getfield sun.misc.Regexp.mids:[Ljava/lang/String;
iload 6
aaload
invokevirtual java.lang.String.length:()I
iadd
putfield sun.misc.Regexp.totalLen:I
33: StackMap locals: int
StackMap stack:
iload 7
istore 5
end local 7 34: iinc 6 1
StackMap locals:
StackMap stack:
35: iload 6
iload 4
if_icmplt 28
end local 6 end local 5 end local 4 36: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
iconst_0
aload 1
invokevirtual java.lang.String.length:()I
invokevirtual sun.misc.Regexp.matches:(Ljava/lang/String;II)Z
ireturn
end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
getfield sun.misc.Regexp.exact:Z
ifeq 5
1: iload 3
aload 0
getfield sun.misc.Regexp.totalLen:I
if_icmpne 4
2: aload 0
getfield sun.misc.Regexp.exp:Ljava/lang/String;
aload 0
getfield sun.misc.Regexp.ignoreCase:Z
iconst_0
aload 1
iload 2
iload 3
invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
ifeq 4
3: iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield sun.misc.Regexp.totalLen:I
if_icmpge 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.Regexp.prefixLen:I
ifle 12
8: aload 0
getfield sun.misc.Regexp.prefix:Ljava/lang/String;
aload 0
getfield sun.misc.Regexp.ignoreCase:Z
9: iconst_0
aload 1
iload 2
aload 0
getfield sun.misc.Regexp.prefixLen:I
10: invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
11: ifeq 18
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.Regexp.suffixLen:I
ifle 19
13: aload 0
getfield sun.misc.Regexp.suffix:Ljava/lang/String;
aload 0
getfield sun.misc.Regexp.ignoreCase:Z
14: iconst_0
aload 1
iload 2
iload 3
iadd
aload 0
getfield sun.misc.Regexp.suffixLen:I
isub
15: aload 0
getfield sun.misc.Regexp.suffixLen:I
16: invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
17: ifne 19
18: StackMap locals:
StackMap stack:
iconst_0
ireturn
19: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.Regexp.mids:[Ljava/lang/String;
ifnonnull 21
20: iconst_1
ireturn
21: StackMap locals:
StackMap stack:
aload 0
getfield sun.misc.Regexp.mids:[Ljava/lang/String;
arraylength
istore 4
start local 4 22: iload 2
aload 0
getfield sun.misc.Regexp.prefixLen:I
iadd
istore 5
start local 5 23: iload 2
iload 3
iadd
aload 0
getfield sun.misc.Regexp.suffixLen:I
isub
istore 6
start local 6 24: iconst_0
istore 7
start local 7 25: goto 39
26: StackMap locals: sun.misc.Regexp java.lang.String int int int int int int
StackMap stack:
aload 0
getfield sun.misc.Regexp.mids:[Ljava/lang/String;
iload 7
aaload
astore 8
start local 8 27: aload 8
invokevirtual java.lang.String.length:()I
istore 9
start local 9 28: goto 30
29: StackMap locals: java.lang.String int
StackMap stack:
iinc 5 1
30: StackMap locals:
StackMap stack:
iload 5
iload 9
iadd
iload 6
if_icmpgt 35
31: aload 8
aload 0
getfield sun.misc.Regexp.ignoreCase:Z
32: iconst_0
aload 1
iload 5
iload 9
33: invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
34: ifeq 29
35: StackMap locals:
StackMap stack:
iload 5
iload 9
iadd
iload 6
if_icmple 37
36: iconst_0
ireturn
37: StackMap locals:
StackMap stack:
iload 5
iload 9
iadd
istore 5
end local 9 end local 8 38: iinc 7 1
StackMap locals:
StackMap stack:
39: iload 7
iload 4
if_icmplt 26
end local 7 40: iconst_1
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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"