public final class java.util.regex.Pattern implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: java.util.regex.Pattern
super_class: java.lang.Object
{
public static final int UNIX_LINES;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int CASE_INSENSITIVE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int ;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int MULTILINE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8
public static final int LITERAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 16
public static final int DOTALL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 32
public static final int UNICODE_CASE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 64
public static final int CANON_EQ;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 128
public static final int UNICODE_CHARACTER_CLASS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 256
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5073258162644648461
private java.lang.String pattern;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int flags;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private volatile transient boolean compiled;
descriptor: Z
flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
private transient java.lang.String normalizedPattern;
descriptor: Ljava/lang/String;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
transient java.util.regex.Pattern$Node root;
descriptor: Ljava/util/regex/Pattern$Node;
flags: (0x0080) ACC_TRANSIENT
transient java.util.regex.Pattern$Node matchRoot;
descriptor: Ljava/util/regex/Pattern$Node;
flags: (0x0080) ACC_TRANSIENT
transient int[] buffer;
descriptor: [I
flags: (0x0080) ACC_TRANSIENT
volatile transient java.util.Map<java.lang.String, java.lang.Integer> namedGroups;
descriptor: Ljava/util/Map;
flags: (0x00c0) ACC_VOLATILE, ACC_TRANSIENT
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
transient java.util.regex.Pattern$GroupHead[] groupNodes;
descriptor: [Ljava/util/regex/Pattern$GroupHead;
flags: (0x0080) ACC_TRANSIENT
private transient int[] temp;
descriptor: [I
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
transient int capturingGroupCount;
descriptor: I
flags: (0x0080) ACC_TRANSIENT
transient int localCount;
descriptor: I
flags: (0x0080) ACC_TRANSIENT
private transient int cursor;
descriptor: I
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient int patternLength;
descriptor: I
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient boolean hasSupplementary;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
static final int MAX_REPS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2147483647
static final int GREEDY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int LAZY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final int POSSESSIVE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final int INDEPENDENT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 3
static java.util.regex.Pattern$Node lookbehindEnd;
descriptor: Ljava/util/regex/Pattern$Node;
flags: (0x0008) ACC_STATIC
static java.util.regex.Pattern$Node accept;
descriptor: Ljava/util/regex/Pattern$Node;
flags: (0x0008) ACC_STATIC
static java.util.regex.Pattern$Node lastAccept;
descriptor: Ljava/util/regex/Pattern$Node;
flags: (0x0008) ACC_STATIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Ljava/util/regex/Pattern;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic java.util.regex.Pattern.$assertionsDisabled:Z
3: new java.util.regex.Pattern$1
dup
invokespecial java.util.regex.Pattern$1.<init>:()V
putstatic java.util.regex.Pattern.lookbehindEnd:Ljava/util/regex/Pattern$Node;
4: new java.util.regex.Pattern$Node
dup
invokespecial java.util.regex.Pattern$Node.<init>:()V
putstatic java.util.regex.Pattern.accept:Ljava/util/regex/Pattern$Node;
5: new java.util.regex.Pattern$LastNode
dup
invokespecial java.util.regex.Pattern$LastNode.<init>:()V
putstatic java.util.regex.Pattern.lastAccept:Ljava/util/regex/Pattern$Node;
return
LocalVariableTable:
Start End Slot Name Signature
public static java.util.regex.Pattern compile(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/regex/Pattern;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.util.regex.Pattern
dup
aload 0
iconst_0
invokespecial java.util.regex.Pattern.<init>:(Ljava/lang/String;I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 regex Ljava/lang/String;
MethodParameters:
Name Flags
regex
public static java.util.regex.Pattern compile(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljava/util/regex/Pattern;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.util.regex.Pattern
dup
aload 0
iload 1
invokespecial java.util.regex.Pattern.<init>:(Ljava/lang/String;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 regex Ljava/lang/String;
0 1 1 flags I
MethodParameters:
Name Flags
regex
flags
public java.lang.String pattern();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.regex.Pattern.pattern:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/regex/Pattern;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.regex.Pattern.pattern:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/regex/Pattern;
public java.util.regex.Matcher matcher(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.regex.Pattern.compiled:Z
ifne 8
1: aload 0
dup
astore 2
monitorenter
2: aload 0
getfield java.util.regex.Pattern.compiled:Z
ifne 4
3: aload 0
invokevirtual java.util.regex.Pattern.compile:()V
4: StackMap locals: java.util.regex.Pattern
StackMap stack:
aload 2
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
new java.util.regex.Matcher
dup
aload 0
aload 1
invokespecial java.util.regex.Matcher.<init>:(Ljava/util/regex/Pattern;Ljava/lang/CharSequence;)V
astore 2
start local 2 9: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/regex/Pattern;
0 10 1 input Ljava/lang/CharSequence;
9 10 2 m Ljava/util/regex/Matcher;
Exception table:
from to target type
2 5 6 any
6 7 6 any
MethodParameters:
Name Flags
input
public int flags();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.regex.Pattern.flags:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/regex/Pattern;
public static boolean matches(java.lang.String, java.lang.CharSequence);
descriptor: (Ljava/lang/String;Ljava/lang/CharSequence;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
astore 2
start local 2 1: aload 2
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 3
start local 3 2: aload 3
invokevirtual java.util.regex.Matcher.matches:()Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 regex Ljava/lang/String;
0 3 1 input Ljava/lang/CharSequence;
1 3 2 p Ljava/util/regex/Pattern;
2 3 3 m Ljava/util/regex/Matcher;
MethodParameters:
Name Flags
regex
input
public java.lang.String[] split(java.lang.CharSequence, int);
descriptor: (Ljava/lang/CharSequence;I)[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: iload 2
ifle 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 4
start local 4 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 5: aload 0
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 6
start local 6 6: goto 22
7: StackMap locals: int java.util.ArrayList java.util.regex.Matcher
StackMap stack:
iload 4
ifeq 8
aload 5
invokevirtual java.util.ArrayList.size:()I
iload 2
iconst_1
isub
if_icmpge 14
8: StackMap locals:
StackMap stack:
iload 3
ifne 10
iload 3
aload 6
invokevirtual java.util.regex.Matcher.start:()I
if_icmpne 10
aload 6
invokevirtual java.util.regex.Matcher.start:()I
aload 6
invokevirtual java.util.regex.Matcher.end:()I
if_icmpne 10
9: goto 22
10: StackMap locals:
StackMap stack:
aload 1
iload 3
aload 6
invokevirtual java.util.regex.Matcher.start:()I
invokeinterface java.lang.CharSequence.subSequence:(II)Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 7
start local 7 11: aload 5
aload 7
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
12: aload 6
invokevirtual java.util.regex.Matcher.end:()I
istore 3
end local 7 13: goto 22
StackMap locals:
StackMap stack:
14: aload 5
invokevirtual java.util.ArrayList.size:()I
iload 2
iconst_1
isub
if_icmpne 22
15: aload 1
iload 3
16: aload 1
invokeinterface java.lang.CharSequence.length:()I
17: invokeinterface java.lang.CharSequence.subSequence:(II)Ljava/lang/CharSequence;
18: invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
19: astore 7
start local 7 20: aload 5
aload 7
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
21: aload 6
invokevirtual java.util.regex.Matcher.end:()I
istore 3
end local 7 22: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.util.regex.Matcher.find:()Z
ifne 7
23: iload 3
ifne 25
24: iconst_1
anewarray java.lang.String
dup
iconst_0
aload 1
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
aastore
areturn
25: StackMap locals:
StackMap stack:
iload 4
ifeq 26
aload 5
invokevirtual java.util.ArrayList.size:()I
iload 2
if_icmpge 27
26: StackMap locals:
StackMap stack:
aload 5
aload 1
iload 3
aload 1
invokeinterface java.lang.CharSequence.length:()I
invokeinterface java.lang.CharSequence.subSequence:(II)Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
27: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.util.ArrayList.size:()I
istore 7
start local 7 28: iload 2
ifne 32
29: goto 31
30: StackMap locals: int
StackMap stack:
iinc 7 -1
31: StackMap locals:
StackMap stack:
iload 7
ifle 32
aload 5
iload 7
iconst_1
isub
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.String
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 30
32: StackMap locals:
StackMap stack:
iload 7
anewarray java.lang.String
astore 8
start local 8 33: aload 5
iconst_0
iload 7
invokevirtual java.util.ArrayList.subList:(II)Ljava/util/List;
aload 8
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 8 end local 7 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 34 0 this Ljava/util/regex/Pattern;
0 34 1 input Ljava/lang/CharSequence;
0 34 2 limit I
1 34 3 index I
4 34 4 matchLimited Z
5 34 5 matchList Ljava/util/ArrayList<Ljava/lang/String;>;
6 34 6 m Ljava/util/regex/Matcher;
11 13 7 match Ljava/lang/String;
20 22 7 match Ljava/lang/String;
28 34 7 resultSize I
33 34 8 result [Ljava/lang/String;
MethodParameters:
Name Flags
input
limit
public java.lang.String[] split(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual java.util.regex.Pattern.split:(Ljava/lang/CharSequence;I)[Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/regex/Pattern;
0 1 1 input Ljava/lang/CharSequence;
MethodParameters:
Name Flags
input
public static java.lang.String quote(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
ldc "\\E"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 1
start local 1 1: iload 1
iconst_m1
if_icmpne 3
2: new java.lang.StringBuilder
dup
ldc "\\Q"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\\E"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
3: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.String.length:()I
iconst_2
imul
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 2
start local 2 4: aload 2
ldc "\\Q"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: iconst_0
istore 1
6: iconst_0
istore 3
start local 3 7: goto 11
8: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 2
aload 0
iload 3
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: iload 1
iconst_2
iadd
istore 3
10: aload 2
ldc "\\E\\\\E\\Q"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: StackMap locals:
StackMap stack:
aload 0
ldc "\\E"
iload 3
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
dup
istore 1
iconst_m1
if_icmpne 8
12: aload 2
aload 0
iload 3
aload 0
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: aload 2
ldc "\\E"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 s Ljava/lang/String;
1 15 1 slashEIndex I
4 15 2 sb Ljava/lang/StringBuilder;
7 15 3 current I
MethodParameters:
Name Flags
s
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
1: aload 0
iconst_1
putfield java.util.regex.Pattern.capturingGroupCount:I
2: aload 0
iconst_0
putfield java.util.regex.Pattern.localCount:I
3: aload 0
iconst_0
putfield java.util.regex.Pattern.compiled:Z
4: aload 0
getfield java.util.regex.Pattern.pattern:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifne 8
5: aload 0
new java.util.regex.Pattern$Start
dup
getstatic java.util.regex.Pattern.lastAccept:Ljava/util/regex/Pattern$Node;
invokespecial java.util.regex.Pattern$Start.<init>:(Ljava/util/regex/Pattern$Node;)V
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
6: aload 0
getstatic java.util.regex.Pattern.lastAccept:Ljava/util/regex/Pattern$Node;
putfield java.util.regex.Pattern.matchRoot:Ljava/util/regex/Pattern$Node;
7: aload 0
iconst_1
putfield java.util.regex.Pattern.compiled:Z
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/util/regex/Pattern;
0 9 1 s Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
s
private void <init>(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield java.util.regex.Pattern.compiled:Z
2: aload 0
aload 1
putfield java.util.regex.Pattern.pattern:Ljava/lang/String;
3: aload 0
iload 2
putfield java.util.regex.Pattern.flags:I
4: aload 0
getfield java.util.regex.Pattern.flags:I
sipush 256
iand
ifeq 6
5: aload 0
dup
getfield java.util.regex.Pattern.flags:I
bipush 64
ior
putfield java.util.regex.Pattern.flags:I
6: StackMap locals: java.util.regex.Pattern java.lang.String int
StackMap stack:
aload 0
iconst_1
putfield java.util.regex.Pattern.capturingGroupCount:I
7: aload 0
iconst_0
putfield java.util.regex.Pattern.localCount:I
8: aload 0
getfield java.util.regex.Pattern.pattern:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifle 13
9: aload 0
invokevirtual java.util.regex.Pattern.compile:()V
10: goto 15
StackMap locals:
StackMap stack: java.lang.StackOverflowError
11: pop
12: aload 0
ldc "Stack overflow during pattern compilation"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
13: StackMap locals:
StackMap stack:
aload 0
new java.util.regex.Pattern$Start
dup
getstatic java.util.regex.Pattern.lastAccept:Ljava/util/regex/Pattern$Node;
invokespecial java.util.regex.Pattern$Start.<init>:(Ljava/util/regex/Pattern$Node;)V
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
14: aload 0
getstatic java.util.regex.Pattern.lastAccept:Ljava/util/regex/Pattern$Node;
putfield java.util.regex.Pattern.matchRoot:Ljava/util/regex/Pattern$Node;
15: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/util/regex/Pattern;
0 16 1 p Ljava/lang/String;
0 16 2 f I
Exception table:
from to target type
9 10 11 Class java.lang.StackOverflowError
MethodParameters:
Name Flags
p
f
private void normalize();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=1
start local 0 0: iconst_m1
istore 1
start local 1 1: aload 0
aload 0
getfield java.util.regex.Pattern.pattern:Ljava/lang/String;
getstatic java.text.Normalizer$Form.NFD:Ljava/text/Normalizer$Form;
invokestatic java.text.Normalizer.normalize:(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Ljava/lang/String;
putfield java.util.regex.Pattern.normalizedPattern:Ljava/lang/String;
2: aload 0
aload 0
getfield java.util.regex.Pattern.normalizedPattern:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
putfield java.util.regex.Pattern.patternLength:I
3: new java.lang.StringBuilder
dup
aload 0
getfield java.util.regex.Pattern.patternLength:I
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 31
6: StackMap locals: int java.lang.StringBuilder int
StackMap stack:
aload 0
getfield java.util.regex.Pattern.normalizedPattern:Ljava/lang/String;
iload 3
invokevirtual java.lang.String.codePointAt:(I)I
istore 4
start local 4 7: iload 4
invokestatic java.lang.Character.getType:(I)I
bipush 6
if_icmpne 25
8: iload 1
iconst_m1
if_icmpeq 25
9: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5
start local 5 10: aload 5
iload 1
invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
pop
11: aload 5
iload 4
invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
pop
12: goto 18
13: StackMap locals: int java.lang.StringBuilder
StackMap stack:
iload 3
iload 4
invokestatic java.lang.Character.charCount:(I)I
iadd
istore 3
14: iload 3
aload 0
getfield java.util.regex.Pattern.patternLength:I
if_icmplt 16
15: goto 19
16: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern.normalizedPattern:Ljava/lang/String;
iload 3
invokevirtual java.lang.String.codePointAt:(I)I
istore 4
17: aload 5
iload 4
invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
pop
18: StackMap locals:
StackMap stack:
iload 4
invokestatic java.lang.Character.getType:(I)I
bipush 6
if_icmpeq 13
19: StackMap locals:
StackMap stack:
aload 0
20: aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokevirtual java.util.regex.Pattern.produceEquivalentAlternation:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 22: aload 2
aload 2
invokevirtual java.lang.StringBuilder.length:()I
iload 1
invokestatic java.lang.Character.charCount:(I)I
isub
invokevirtual java.lang.StringBuilder.setLength:(I)V
23: aload 2
ldc "(?:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 6 24: goto 29
end local 5 StackMap locals:
StackMap stack:
25: iload 4
bipush 91
if_icmpne 28
iload 1
bipush 92
if_icmpeq 28
26: aload 0
aload 2
iload 3
invokevirtual java.util.regex.Pattern.normalizeCharClass:(Ljava/lang/StringBuilder;I)I
istore 3
27: goto 29
28: StackMap locals:
StackMap stack:
aload 2
iload 4
invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
pop
29: StackMap locals:
StackMap stack:
iload 4
istore 1
30: iload 3
iload 4
invokestatic java.lang.Character.charCount:(I)I
iadd
istore 3
end local 4 31: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield java.util.regex.Pattern.patternLength:I
if_icmplt 6
end local 3 32: aload 0
aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield java.util.regex.Pattern.normalizedPattern:Ljava/lang/String;
33: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Ljava/util/regex/Pattern;
1 34 1 lastCodePoint I
4 34 2 newPattern Ljava/lang/StringBuilder;
5 32 3 i I
7 31 4 c I
10 25 5 sequenceBuffer Ljava/lang/StringBuilder;
22 24 6 ea Ljava/lang/String;
private int normalizeCharClass(java.lang.StringBuilder, int);
descriptor: (Ljava/lang/StringBuilder;I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: iconst_m1
istore 5
start local 5 3: iinc 2 1
4: iload 2
aload 0
getfield java.util.regex.Pattern.normalizedPattern:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmpne 6
5: aload 0
ldc "Unclosed character class"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
6: StackMap locals: java.lang.StringBuilder java.lang.StringBuilder int
StackMap stack:
aload 3
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern.normalizedPattern:Ljava/lang/String;
iload 2
invokevirtual java.lang.String.codePointAt:(I)I
istore 7
start local 7 8: iload 7
bipush 93
if_icmpne 11
iload 5
bipush 92
if_icmpeq 11
9: aload 3
iload 7
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
10: goto 36
11: StackMap locals: java.util.regex.Pattern java.lang.StringBuilder int java.lang.StringBuilder java.lang.StringBuilder int top int
StackMap stack:
iload 7
invokestatic java.lang.Character.getType:(I)I
bipush 6
if_icmpne 30
12: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 8
start local 8 13: aload 8
iload 5
invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
pop
14: goto 20
15: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 8
iload 7
invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
pop
16: iload 2
iload 7
invokestatic java.lang.Character.charCount:(I)I
iadd
istore 2
17: iload 2
aload 0
getfield java.util.regex.Pattern.normalizedPattern:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmplt 19
18: goto 21
19: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern.normalizedPattern:Ljava/lang/String;
iload 2
invokevirtual java.lang.String.codePointAt:(I)I
istore 7
20: StackMap locals:
StackMap stack:
iload 7
invokestatic java.lang.Character.getType:(I)I
bipush 6
if_icmpeq 15
21: StackMap locals:
StackMap stack:
aload 0
22: aload 8
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokevirtual java.util.regex.Pattern.produceEquivalentAlternation:(Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 24: aload 3
aload 3
invokevirtual java.lang.StringBuilder.length:()I
iload 5
invokestatic java.lang.Character.charCount:(I)I
isub
invokevirtual java.lang.StringBuilder.setLength:(I)V
25: aload 4
ifnonnull 27
26: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 4
27: StackMap locals: java.lang.String
StackMap stack:
aload 4
bipush 124
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
28: aload 4
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 9 29: goto 32
end local 8 30: StackMap locals:
StackMap stack:
aload 3
iload 7
invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
pop
31: iinc 2 1
32: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield java.util.regex.Pattern.normalizedPattern:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmpne 34
33: aload 0
ldc "Unclosed character class"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
34: StackMap locals:
StackMap stack:
iload 7
istore 5
end local 7 35: goto 7
36: StackMap locals: java.util.regex.Pattern java.lang.StringBuilder int java.lang.StringBuilder java.lang.StringBuilder int
StackMap stack:
aload 4
ifnull 39
37: new java.lang.StringBuilder
dup
ldc "(?:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 38: goto 40
end local 6 39: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 40: StackMap locals: java.lang.String
StackMap stack:
aload 1
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
41: iload 2
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 42 0 this Ljava/util/regex/Pattern;
0 42 1 newPattern Ljava/lang/StringBuilder;
0 42 2 i I
1 42 3 charClass Ljava/lang/StringBuilder;
2 42 4 eq Ljava/lang/StringBuilder;
3 42 5 lastCodePoint I
38 39 6 result Ljava/lang/String;
40 42 6 result Ljava/lang/String;
8 35 7 c I
13 30 8 sequenceBuffer Ljava/lang/StringBuilder;
24 29 9 ea Ljava/lang/String;
MethodParameters:
Name Flags
newPattern
i
private java.lang.String produceEquivalentAlternation(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
iconst_1
invokestatic java.util.regex.Pattern.countChars:(Ljava/lang/CharSequence;II)I
istore 2
start local 2 1: aload 1
invokevirtual java.lang.String.length:()I
iload 2
if_icmpne 3
2: aload 1
areturn
3: StackMap locals: int
StackMap stack:
aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 4: aload 1
iload 2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 4
start local 4 5: aload 0
aload 4
invokevirtual java.util.regex.Pattern.producePermutations:(Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 6: new java.lang.StringBuilder
dup
aload 1
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 6
start local 6 7: iconst_0
istore 7
start local 7 8: goto 16
9: StackMap locals: java.util.regex.Pattern java.lang.String int java.lang.String java.lang.String java.lang.String[] java.lang.StringBuilder int
StackMap stack:
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
iload 7
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 8
start local 8 10: iload 7
ifle 12
11: aload 6
new java.lang.StringBuilder
dup
ldc "|"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 8
invokevirtual java.util.regex.Pattern.composeOneStep:(Ljava/lang/String;)Ljava/lang/String;
astore 8
13: aload 8
ifnull 15
14: aload 6
new java.lang.StringBuilder
dup
ldc "|"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 8
invokevirtual java.util.regex.Pattern.produceEquivalentAlternation:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 8 15: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
16: iload 7
aload 5
arraylength
if_icmplt 9
end local 7 17: aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
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 18 0 this Ljava/util/regex/Pattern;
0 18 1 source Ljava/lang/String;
1 18 2 len I
4 18 3 base Ljava/lang/String;
5 18 4 combiningMarks Ljava/lang/String;
6 18 5 perms [Ljava/lang/String;
7 18 6 result Ljava/lang/StringBuilder;
8 17 7 x I
10 15 8 next Ljava/lang/String;
MethodParameters:
Name Flags
source
private java.lang.String[] producePermutations(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=15, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.length:()I
aload 1
iconst_0
iconst_1
invokestatic java.util.regex.Pattern.countChars:(Ljava/lang/CharSequence;II)I
if_icmpne 2
1: iconst_1
anewarray java.lang.String
dup
iconst_0
aload 1
aastore
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
aload 1
iconst_0
iconst_2
invokestatic java.util.regex.Pattern.countChars:(Ljava/lang/CharSequence;II)I
if_icmpne 14
3: aload 1
iconst_0
invokestatic java.lang.Character.codePointAt:(Ljava/lang/CharSequence;I)I
istore 2
start local 2 4: aload 1
iload 2
invokestatic java.lang.Character.charCount:(I)I
invokestatic java.lang.Character.codePointAt:(Ljava/lang/CharSequence;I)I
istore 3
start local 3 5: aload 0
iload 3
invokevirtual java.util.regex.Pattern.getClass:(I)I
aload 0
iload 2
invokevirtual java.util.regex.Pattern.getClass:(I)I
if_icmpne 7
6: iconst_1
anewarray java.lang.String
dup
iconst_0
aload 1
aastore
areturn
7: StackMap locals: int int
StackMap stack:
iconst_2
anewarray java.lang.String
astore 4
start local 4 8: aload 4
iconst_0
aload 1
aastore
9: new java.lang.StringBuilder
dup
iconst_2
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 5
start local 5 10: aload 5
iload 3
invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
pop
11: aload 5
iload 2
invokevirtual java.lang.StringBuilder.appendCodePoint:(I)Ljava/lang/StringBuilder;
pop
12: aload 4
iconst_1
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
13: aload 4
areturn
end local 5 end local 4 end local 3 end local 2 14: StackMap locals:
StackMap stack:
iconst_1
istore 2
start local 2 15: aload 1
invokestatic java.util.regex.Pattern.countCodePoints:(Ljava/lang/CharSequence;)I
istore 3
start local 3 16: iconst_1
istore 4
start local 4 17: goto 20
18: StackMap locals: int int int
StackMap stack:
iload 2
iload 4
iconst_1
iadd
imul
istore 2
19: iinc 4 1
StackMap locals:
StackMap stack:
20: iload 4
iload 3
if_icmplt 18
end local 4 21: iload 2
anewarray java.lang.String
astore 4
start local 4 22: iload 3
newarray 10
astore 5
start local 5 23: iconst_0
istore 6
start local 6 24: iconst_0
istore 7
start local 7 25: goto 30
26: StackMap locals: java.util.regex.Pattern java.lang.String int int java.lang.String[] int[] int int
StackMap stack:
aload 1
iload 7
invokestatic java.lang.Character.codePointAt:(Ljava/lang/CharSequence;I)I
istore 8
start local 8 27: aload 5
iload 6
aload 0
iload 8
invokevirtual java.util.regex.Pattern.getClass:(I)I
iastore
28: iload 7
iload 8
invokestatic java.lang.Character.charCount:(I)I
iadd
istore 7
end local 8 29: iinc 6 1
StackMap locals:
StackMap stack:
30: iload 6
iload 3
if_icmplt 26
end local 7 end local 6 31: iconst_0
istore 6
start local 6 32: iconst_0
istore 8
start local 8 33: iconst_0
istore 9
start local 9 34: goto 52
35: StackMap locals: java.util.regex.Pattern java.lang.String int int java.lang.String[] int[] int top int int
StackMap stack:
aload 1
iload 9
iconst_1
invokestatic java.util.regex.Pattern.countChars:(Ljava/lang/CharSequence;II)I
istore 7
start local 7 36: iload 8
iconst_1
isub
istore 10
start local 10 37: goto 41
38: StackMap locals: java.util.regex.Pattern java.lang.String int int java.lang.String[] int[] int int int int int
StackMap stack:
aload 5
iload 10
iaload
aload 5
iload 8
iaload
if_icmpne 40
39: goto 51
40: StackMap locals:
StackMap stack:
iinc 10 -1
StackMap locals:
StackMap stack:
41: iload 10
ifge 38
end local 10 42: new java.lang.StringBuilder
dup
aload 1
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 10
start local 10 43: aload 10
iload 9
iload 9
iload 7
iadd
invokevirtual java.lang.StringBuilder.delete:(II)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 11
start local 11 44: aload 0
aload 11
invokevirtual java.util.regex.Pattern.producePermutations:(Ljava/lang/String;)[Ljava/lang/String;
astore 12
start local 12 45: aload 1
iload 9
iload 9
iload 7
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 13
start local 13 46: iconst_0
istore 14
start local 14 47: goto 50
48: StackMap locals: java.util.regex.Pattern java.lang.String int int java.lang.String[] int[] int int int int java.lang.StringBuilder java.lang.String java.lang.String[] java.lang.String int
StackMap stack:
aload 4
iload 6
iinc 6 1
new java.lang.StringBuilder
dup
aload 13
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 12
iload 14
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
49: iinc 14 1
StackMap locals:
StackMap stack:
50: iload 14
aload 12
arraylength
if_icmplt 48
end local 14 end local 13 end local 12 end local 11 end local 10 51: StackMap locals: java.util.regex.Pattern java.lang.String int int java.lang.String[] int[] int int int int
StackMap stack:
iinc 8 1
iload 9
iload 7
iadd
istore 9
end local 7 StackMap locals: java.util.regex.Pattern java.lang.String int int java.lang.String[] int[] int top int int
StackMap stack:
52: iload 8
iload 3
if_icmplt 35
end local 9 end local 8 53: iload 6
anewarray java.lang.String
astore 8
start local 8 54: iconst_0
istore 9
start local 9 55: goto 58
56: StackMap locals: java.util.regex.Pattern java.lang.String int int java.lang.String[] int[] int top java.lang.String[] int
StackMap stack:
aload 8
iload 9
aload 4
iload 9
aaload
aastore
57: iinc 9 1
StackMap locals:
StackMap stack:
58: iload 9
iload 6
if_icmplt 56
end local 9 59: aload 8
areturn
end local 8 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 60 0 this Ljava/util/regex/Pattern;
0 60 1 input Ljava/lang/String;
4 14 2 c0 I
5 14 3 c1 I
8 14 4 result [Ljava/lang/String;
10 14 5 sb Ljava/lang/StringBuilder;
15 60 2 length I
16 60 3 nCodePoints I
17 21 4 x I
22 60 4 temp [Ljava/lang/String;
23 60 5 combClass [I
24 31 6 x I
25 31 7 i I
27 29 8 c I
32 60 6 index I
36 52 7 len I
33 53 8 x I
34 53 9 offset I
37 42 10 y I
43 51 10 sb Ljava/lang/StringBuilder;
44 51 11 otherChars Ljava/lang/String;
45 51 12 subResult [Ljava/lang/String;
46 51 13 prefix Ljava/lang/String;
47 51 14 y I
54 60 8 result [Ljava/lang/String;
55 59 9 x I
MethodParameters:
Name Flags
input
private int getClass(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
invokestatic sun.text.Normalizer.getCombiningClass:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/regex/Pattern;
0 1 1 c I
MethodParameters:
Name Flags
c
private java.lang.String composeOneStep(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
iconst_2
invokestatic java.util.regex.Pattern.countChars:(Ljava/lang/CharSequence;II)I
istore 2
start local 2 1: aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 2: aload 3
getstatic java.text.Normalizer$Form.NFC:Ljava/text/Normalizer$Form;
invokestatic java.text.Normalizer.normalize:(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Ljava/lang/String;
astore 4
start local 4 3: aload 4
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: aconst_null
areturn
5: StackMap locals: int java.lang.String java.lang.String
StackMap stack:
aload 1
iload 2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 5
start local 5 6: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
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 7 0 this Ljava/util/regex/Pattern;
0 7 1 input Ljava/lang/String;
1 7 2 len I
2 7 3 firstTwoCharacters Ljava/lang/String;
3 7 4 result Ljava/lang/String;
6 7 5 remainder Ljava/lang/String;
MethodParameters:
Name Flags
input
private void RemoveQEQuoting();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
getfield java.util.regex.Pattern.patternLength:I
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 0
getfield java.util.regex.Pattern.temp:[I
iload 2
iaload
bipush 92
if_icmpeq 5
4: iinc 2 1
goto 7
5: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern.temp:[I
iload 2
iconst_1
iadd
iaload
bipush 81
if_icmpeq 8
6: iinc 2 2
7: StackMap locals:
StackMap stack:
iload 2
iload 1
iconst_1
isub
if_icmplt 3
8: StackMap locals:
StackMap stack:
iload 2
iload 1
iconst_1
isub
if_icmplt 10
9: return
10: StackMap locals:
StackMap stack:
iload 2
istore 3
start local 3 11: iinc 2 2
12: iload 3
iconst_3
iload 1
iload 2
isub
imul
iadd
iconst_2
iadd
newarray 10
astore 4
start local 4 13: aload 0
getfield java.util.regex.Pattern.temp:[I
iconst_0
aload 4
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
14: iconst_1
istore 5
start local 5 15: iconst_1
istore 6
start local 6 16: goto 49
17: StackMap locals: java.util.regex.Pattern int int int int[] int int
StackMap stack:
aload 0
getfield java.util.regex.Pattern.temp:[I
iload 2
iinc 2 1
iaload
istore 7
start local 7 18: iload 7
invokestatic java.util.regex.ASCII.isAscii:(I)Z
ifeq 19
iload 7
invokestatic java.util.regex.ASCII.isAlpha:(I)Z
ifeq 21
19: StackMap locals: int
StackMap stack:
aload 4
iload 3
iinc 3 1
iload 7
iastore
20: goto 48
StackMap locals:
StackMap stack:
21: iload 7
invokestatic java.util.regex.ASCII.isDigit:(I)Z
ifeq 28
22: iload 6
ifeq 26
23: aload 4
iload 3
iinc 3 1
bipush 92
iastore
24: aload 4
iload 3
iinc 3 1
bipush 120
iastore
25: aload 4
iload 3
iinc 3 1
bipush 51
iastore
26: StackMap locals:
StackMap stack:
aload 4
iload 3
iinc 3 1
iload 7
iastore
27: goto 48
StackMap locals:
StackMap stack:
28: iload 7
bipush 92
if_icmpeq 32
29: iload 5
ifeq 30
aload 4
iload 3
iinc 3 1
bipush 92
iastore
30: StackMap locals:
StackMap stack:
aload 4
iload 3
iinc 3 1
iload 7
iastore
31: goto 48
StackMap locals:
StackMap stack:
32: iload 5
ifeq 40
33: aload 0
getfield java.util.regex.Pattern.temp:[I
iload 2
iaload
bipush 69
if_icmpne 37
34: iinc 2 1
35: iconst_0
istore 5
36: goto 48
37: StackMap locals:
StackMap stack:
aload 4
iload 3
iinc 3 1
bipush 92
iastore
38: aload 4
iload 3
iinc 3 1
bipush 92
iastore
39: goto 48
40: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern.temp:[I
iload 2
iaload
bipush 81
if_icmpne 45
41: iinc 2 1
42: iconst_1
istore 5
43: iconst_1
istore 6
44: goto 49
45: StackMap locals:
StackMap stack:
aload 4
iload 3
iinc 3 1
iload 7
iastore
46: iload 2
iload 1
if_icmpeq 48
47: aload 4
iload 3
iinc 3 1
aload 0
getfield java.util.regex.Pattern.temp:[I
iload 2
iinc 2 1
iaload
iastore
48: StackMap locals:
StackMap stack:
iconst_0
istore 6
end local 7 49: StackMap locals:
StackMap stack:
iload 2
iload 1
if_icmplt 17
50: aload 0
iload 3
putfield java.util.regex.Pattern.patternLength:I
51: aload 0
aload 4
iload 3
iconst_2
iadd
invokestatic java.util.Arrays.copyOf:([II)[I
putfield java.util.regex.Pattern.temp:[I
52: return
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 53 0 this Ljava/util/regex/Pattern;
1 53 1 pLen I
2 53 2 i I
11 53 3 j I
13 53 4 newtemp [I
15 53 5 inQuote Z
16 53 6 beginQuote Z
18 49 7 c I
private void compile();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
sipush 128
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 3
aload 0
bipush 16
invokevirtual java.util.regex.Pattern.has:(I)Z
ifne 3
1: aload 0
invokevirtual java.util.regex.Pattern.normalize:()V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.regex.Pattern.pattern:Ljava/lang/String;
putfield java.util.regex.Pattern.normalizedPattern:Ljava/lang/String;
4: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.regex.Pattern.normalizedPattern:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
putfield java.util.regex.Pattern.patternLength:I
5: aload 0
aload 0
getfield java.util.regex.Pattern.patternLength:I
iconst_2
iadd
newarray 10
putfield java.util.regex.Pattern.temp:[I
6: aload 0
iconst_0
putfield java.util.regex.Pattern.hasSupplementary:Z
7: iconst_0
istore 2
start local 2 8: iconst_0
istore 3
start local 3 9: goto 15
10: StackMap locals: java.util.regex.Pattern top int int
StackMap stack:
aload 0
getfield java.util.regex.Pattern.normalizedPattern:Ljava/lang/String;
iload 3
invokevirtual java.lang.String.codePointAt:(I)I
istore 1
start local 1 11: iload 1
invokestatic java.util.regex.Pattern.isSupplementary:(I)Z
ifeq 13
12: aload 0
iconst_1
putfield java.util.regex.Pattern.hasSupplementary:Z
13: StackMap locals: java.util.regex.Pattern int int int
StackMap stack:
aload 0
getfield java.util.regex.Pattern.temp:[I
iload 2
iinc 2 1
iload 1
iastore
14: iload 3
iload 1
invokestatic java.lang.Character.charCount:(I)I
iadd
istore 3
end local 1 StackMap locals: java.util.regex.Pattern top int int
StackMap stack:
15: iload 3
aload 0
getfield java.util.regex.Pattern.patternLength:I
if_icmplt 10
end local 3 16: aload 0
iload 2
putfield java.util.regex.Pattern.patternLength:I
17: aload 0
bipush 16
invokevirtual java.util.regex.Pattern.has:(I)Z
ifne 19
18: aload 0
invokevirtual java.util.regex.Pattern.RemoveQEQuoting:()V
19: StackMap locals:
StackMap stack:
aload 0
bipush 32
newarray 10
putfield java.util.regex.Pattern.buffer:[I
20: aload 0
bipush 10
anewarray java.util.regex.Pattern$GroupHead
putfield java.util.regex.Pattern.groupNodes:[Ljava/util/regex/Pattern$GroupHead;
21: aload 0
aconst_null
putfield java.util.regex.Pattern.namedGroups:Ljava/util/Map;
22: aload 0
bipush 16
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 26
23: aload 0
aload 0
aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
getfield java.util.regex.Pattern.patternLength:I
aload 0
getfield java.util.regex.Pattern.hasSupplementary:Z
invokevirtual java.util.regex.Pattern.newSlice:([IIZ)Ljava/util/regex/Pattern$Node;
putfield java.util.regex.Pattern.matchRoot:Ljava/util/regex/Pattern$Node;
24: aload 0
getfield java.util.regex.Pattern.matchRoot:Ljava/util/regex/Pattern$Node;
getstatic java.util.regex.Pattern.lastAccept:Ljava/util/regex/Pattern$Node;
putfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
25: goto 31
26: StackMap locals:
StackMap stack:
aload 0
aload 0
getstatic java.util.regex.Pattern.lastAccept:Ljava/util/regex/Pattern$Node;
invokevirtual java.util.regex.Pattern.expr:(Ljava/util/regex/Pattern$Node;)Ljava/util/regex/Pattern$Node;
putfield java.util.regex.Pattern.matchRoot:Ljava/util/regex/Pattern$Node;
27: aload 0
getfield java.util.regex.Pattern.patternLength:I
aload 0
getfield java.util.regex.Pattern.cursor:I
if_icmpeq 31
28: aload 0
invokevirtual java.util.regex.Pattern.peek:()I
bipush 41
if_icmpne 30
29: aload 0
ldc "Unmatched closing ')'"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
30: StackMap locals:
StackMap stack:
aload 0
ldc "Unexpected internal error"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
31: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern.matchRoot:Ljava/util/regex/Pattern$Node;
instanceof java.util.regex.Pattern$Slice
ifeq 38
32: aload 0
aload 0
getfield java.util.regex.Pattern.matchRoot:Ljava/util/regex/Pattern$Node;
invokestatic java.util.regex.Pattern$BnM.optimize:(Ljava/util/regex/Pattern$Node;)Ljava/util/regex/Pattern$Node;
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
33: aload 0
getfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
aload 0
getfield java.util.regex.Pattern.matchRoot:Ljava/util/regex/Pattern$Node;
if_acmpne 44
34: aload 0
aload 0
getfield java.util.regex.Pattern.hasSupplementary:Z
ifeq 35
new java.util.regex.Pattern$StartS
dup
aload 0
getfield java.util.regex.Pattern.matchRoot:Ljava/util/regex/Pattern$Node;
invokespecial java.util.regex.Pattern$StartS.<init>:(Ljava/util/regex/Pattern$Node;)V
goto 36
StackMap locals:
StackMap stack: java.util.regex.Pattern
35: new java.util.regex.Pattern$Start
dup
aload 0
getfield java.util.regex.Pattern.matchRoot:Ljava/util/regex/Pattern$Node;
invokespecial java.util.regex.Pattern$Start.<init>:(Ljava/util/regex/Pattern$Node;)V
StackMap locals: java.util.regex.Pattern top int
StackMap stack: java.util.regex.Pattern java.util.regex.Pattern$Start
36: putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
37: goto 44
StackMap locals:
StackMap stack:
38: aload 0
getfield java.util.regex.Pattern.matchRoot:Ljava/util/regex/Pattern$Node;
instanceof java.util.regex.Pattern$Begin
ifne 39
aload 0
getfield java.util.regex.Pattern.matchRoot:Ljava/util/regex/Pattern$Node;
instanceof java.util.regex.Pattern$First
ifeq 41
39: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.regex.Pattern.matchRoot:Ljava/util/regex/Pattern$Node;
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
40: goto 44
41: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.regex.Pattern.hasSupplementary:Z
ifeq 42
new java.util.regex.Pattern$StartS
dup
aload 0
getfield java.util.regex.Pattern.matchRoot:Ljava/util/regex/Pattern$Node;
invokespecial java.util.regex.Pattern$StartS.<init>:(Ljava/util/regex/Pattern$Node;)V
goto 43
StackMap locals:
StackMap stack: java.util.regex.Pattern
42: new java.util.regex.Pattern$Start
dup
aload 0
getfield java.util.regex.Pattern.matchRoot:Ljava/util/regex/Pattern$Node;
invokespecial java.util.regex.Pattern$Start.<init>:(Ljava/util/regex/Pattern$Node;)V
StackMap locals: java.util.regex.Pattern top int
StackMap stack: java.util.regex.Pattern java.util.regex.Pattern$Start
43: putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
44: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield java.util.regex.Pattern.temp:[I
45: aload 0
aconst_null
putfield java.util.regex.Pattern.buffer:[I
46: aload 0
aconst_null
putfield java.util.regex.Pattern.groupNodes:[Ljava/util/regex/Pattern$GroupHead;
47: aload 0
iconst_0
putfield java.util.regex.Pattern.patternLength:I
48: aload 0
iconst_1
putfield java.util.regex.Pattern.compiled:Z
49: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Ljava/util/regex/Pattern;
11 15 1 c I
8 50 2 count I
9 16 3 x I
java.util.Map<java.lang.String, java.lang.Integer> namedGroups();
descriptor: ()Ljava/util/Map;
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.regex.Pattern.namedGroups:Ljava/util/Map;
ifnonnull 2
1: aload 0
new java.util.HashMap
dup
iconst_2
invokespecial java.util.HashMap.<init>:(I)V
putfield java.util.regex.Pattern.namedGroups:Ljava/util/Map;
2: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern.namedGroups:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/regex/Pattern;
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
private static void printObjectTree(java.util.regex.Pattern$Node);
descriptor: (Ljava/util/regex/Pattern$Node;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: goto 32
1: StackMap locals:
StackMap stack:
aload 0
instanceof java.util.regex.Pattern$Prolog
ifeq 6
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 0
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
3: aload 0
checkcast java.util.regex.Pattern$Prolog
getfield java.util.regex.Pattern$Prolog.loop:Ljava/util/regex/Pattern$Loop;
invokestatic java.util.regex.Pattern.printObjectTree:(Ljava/util/regex/Pattern$Node;)V
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "**** end contents prolog loop"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: goto 26
StackMap locals:
StackMap stack:
6: aload 0
instanceof java.util.regex.Pattern$Loop
ifeq 11
7: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 0
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
8: aload 0
checkcast java.util.regex.Pattern$Loop
getfield java.util.regex.Pattern$Loop.body:Ljava/util/regex/Pattern$Node;
invokestatic java.util.regex.Pattern.printObjectTree:(Ljava/util/regex/Pattern$Node;)V
9: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "**** end contents Loop body"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: goto 26
StackMap locals:
StackMap stack:
11: aload 0
instanceof java.util.regex.Pattern$Curly
ifeq 16
12: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 0
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
13: aload 0
checkcast java.util.regex.Pattern$Curly
getfield java.util.regex.Pattern$Curly.atom:Ljava/util/regex/Pattern$Node;
invokestatic java.util.regex.Pattern.printObjectTree:(Ljava/util/regex/Pattern$Node;)V
14: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "**** end contents Curly body"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
15: goto 26
StackMap locals:
StackMap stack:
16: aload 0
instanceof java.util.regex.Pattern$GroupCurly
ifeq 21
17: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 0
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
18: aload 0
checkcast java.util.regex.Pattern$GroupCurly
getfield java.util.regex.Pattern$GroupCurly.atom:Ljava/util/regex/Pattern$Node;
invokestatic java.util.regex.Pattern.printObjectTree:(Ljava/util/regex/Pattern$Node;)V
19: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "**** end contents GroupCurly body"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
20: goto 26
StackMap locals:
StackMap stack:
21: aload 0
instanceof java.util.regex.Pattern$GroupTail
ifeq 25
22: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 0
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
23: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Tail next is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
24: return
25: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 0
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
26: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
astore 0
27: aload 0
ifnull 29
28: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "->next:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
29: StackMap locals:
StackMap stack:
aload 0
getstatic java.util.regex.Pattern.accept:Ljava/util/regex/Pattern$Node;
if_acmpne 32
30: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Accept Node"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
31: aconst_null
astore 0
32: StackMap locals:
StackMap stack:
aload 0
ifnonnull 1
33: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 node Ljava/util/regex/Pattern$Node;
MethodParameters:
Name Flags
node
private boolean has(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.regex.Pattern.flags:I
iload 1
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/regex/Pattern;
0 2 1 f I
MethodParameters:
Name Flags
f
private void accept(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
dup
getfield java.util.regex.Pattern.cursor:I
dup_x1
iconst_1
iadd
putfield java.util.regex.Pattern.cursor:I
iaload
istore 3
start local 3 1: aload 0
iconst_4
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 3
2: aload 0
iload 3
invokevirtual java.util.regex.Pattern.parsePastWhitespace:(I)I
istore 3
3: StackMap locals: int
StackMap stack:
iload 1
iload 3
if_icmpeq 5
4: aload 0
aload 2
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/regex/Pattern;
0 6 1 ch I
0 6 2 s Ljava/lang/String;
1 6 3 testChar I
MethodParameters:
Name Flags
ch
s
private void mark(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
getfield java.util.regex.Pattern.patternLength:I
iload 1
iastore
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/regex/Pattern;
0 2 1 c I
MethodParameters:
Name Flags
c
private int peek();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
getfield java.util.regex.Pattern.cursor:I
iaload
istore 1
start local 1 1: aload 0
iconst_4
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 3
2: aload 0
iload 1
invokevirtual java.util.regex.Pattern.peekPastWhitespace:(I)I
istore 1
3: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/regex/Pattern;
1 4 1 ch I
private int read();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
dup
getfield java.util.regex.Pattern.cursor:I
dup_x1
iconst_1
iadd
putfield java.util.regex.Pattern.cursor:I
iaload
istore 1
start local 1 1: aload 0
iconst_4
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 3
2: aload 0
iload 1
invokevirtual java.util.regex.Pattern.parsePastWhitespace:(I)I
istore 1
3: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/regex/Pattern;
1 4 1 ch I
private int readEscaped();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
dup
getfield java.util.regex.Pattern.cursor:I
dup_x1
iconst_1
iadd
putfield java.util.regex.Pattern.cursor:I
iaload
istore 1
start local 1 1: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/regex/Pattern;
1 2 1 ch I
private int next();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
dup
getfield java.util.regex.Pattern.cursor:I
iconst_1
iadd
dup_x1
putfield java.util.regex.Pattern.cursor:I
iaload
istore 1
start local 1 1: aload 0
iconst_4
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 3
2: aload 0
iload 1
invokevirtual java.util.regex.Pattern.peekPastWhitespace:(I)I
istore 1
3: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/regex/Pattern;
1 4 1 ch I
private int nextEscaped();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
dup
getfield java.util.regex.Pattern.cursor:I
iconst_1
iadd
dup_x1
putfield java.util.regex.Pattern.cursor:I
iaload
istore 1
start local 1 1: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/regex/Pattern;
1 2 1 ch I
private int peekPastWhitespace(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: goto 5
1: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
dup
getfield java.util.regex.Pattern.cursor:I
iconst_1
iadd
dup_x1
putfield java.util.regex.Pattern.cursor:I
iaload
istore 1
2: StackMap locals:
StackMap stack:
iload 1
invokestatic java.util.regex.ASCII.isSpace:(I)Z
ifne 1
3: iload 1
bipush 35
if_icmpne 5
4: aload 0
invokevirtual java.util.regex.Pattern.peekPastLine:()I
istore 1
5: StackMap locals:
StackMap stack:
iload 1
invokestatic java.util.regex.ASCII.isSpace:(I)Z
ifne 2
iload 1
bipush 35
if_icmpeq 2
6: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/regex/Pattern;
0 7 1 ch I
MethodParameters:
Name Flags
ch
private int parsePastWhitespace(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: goto 5
1: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
dup
getfield java.util.regex.Pattern.cursor:I
dup_x1
iconst_1
iadd
putfield java.util.regex.Pattern.cursor:I
iaload
istore 1
2: StackMap locals:
StackMap stack:
iload 1
invokestatic java.util.regex.ASCII.isSpace:(I)Z
ifne 1
3: iload 1
bipush 35
if_icmpne 5
4: aload 0
invokevirtual java.util.regex.Pattern.parsePastLine:()I
istore 1
5: StackMap locals:
StackMap stack:
iload 1
invokestatic java.util.regex.ASCII.isSpace:(I)Z
ifne 2
iload 1
bipush 35
if_icmpeq 2
6: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/regex/Pattern;
0 7 1 ch I
MethodParameters:
Name Flags
ch
private int parsePastLine();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
dup
getfield java.util.regex.Pattern.cursor:I
dup_x1
iconst_1
iadd
putfield java.util.regex.Pattern.cursor:I
iaload
istore 1
start local 1 1: goto 3
2: StackMap locals: int
StackMap stack:
aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
dup
getfield java.util.regex.Pattern.cursor:I
dup_x1
iconst_1
iadd
putfield java.util.regex.Pattern.cursor:I
iaload
istore 1
3: StackMap locals:
StackMap stack:
iload 1
ifeq 4
aload 0
iload 1
invokevirtual java.util.regex.Pattern.isLineSeparator:(I)Z
ifeq 2
4: StackMap locals:
StackMap stack:
iload 1
ifne 7
aload 0
getfield java.util.regex.Pattern.cursor:I
aload 0
getfield java.util.regex.Pattern.patternLength:I
if_icmple 7
5: aload 0
aload 0
getfield java.util.regex.Pattern.patternLength:I
putfield java.util.regex.Pattern.cursor:I
6: aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
dup
getfield java.util.regex.Pattern.cursor:I
dup_x1
iconst_1
iadd
putfield java.util.regex.Pattern.cursor:I
iaload
istore 1
7: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/util/regex/Pattern;
1 8 1 ch I
private int peekPastLine();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
dup
getfield java.util.regex.Pattern.cursor:I
iconst_1
iadd
dup_x1
putfield java.util.regex.Pattern.cursor:I
iaload
istore 1
start local 1 1: goto 3
2: StackMap locals: int
StackMap stack:
aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
dup
getfield java.util.regex.Pattern.cursor:I
iconst_1
iadd
dup_x1
putfield java.util.regex.Pattern.cursor:I
iaload
istore 1
3: StackMap locals:
StackMap stack:
iload 1
ifeq 4
aload 0
iload 1
invokevirtual java.util.regex.Pattern.isLineSeparator:(I)Z
ifeq 2
4: StackMap locals:
StackMap stack:
iload 1
ifne 7
aload 0
getfield java.util.regex.Pattern.cursor:I
aload 0
getfield java.util.regex.Pattern.patternLength:I
if_icmple 7
5: aload 0
aload 0
getfield java.util.regex.Pattern.patternLength:I
putfield java.util.regex.Pattern.cursor:I
6: aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
getfield java.util.regex.Pattern.cursor:I
iaload
istore 1
7: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/util/regex/Pattern;
1 8 1 ch I
private boolean isLineSeparator(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 3
1: iload 1
bipush 10
if_icmpne 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iload 1
bipush 10
if_icmpeq 8
4: iload 1
bipush 13
if_icmpeq 8
5: iload 1
iconst_1
ior
sipush 8233
if_icmpeq 8
6: iload 1
sipush 133
if_icmpeq 8
7: iconst_0
ireturn
StackMap locals:
StackMap stack:
8: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/util/regex/Pattern;
0 9 1 ch I
MethodParameters:
Name Flags
ch
private int skip();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield java.util.regex.Pattern.cursor:I
istore 1
start local 1 1: aload 0
getfield java.util.regex.Pattern.temp:[I
iload 1
iconst_1
iadd
iaload
istore 2
start local 2 2: aload 0
iload 1
iconst_2
iadd
putfield java.util.regex.Pattern.cursor:I
3: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/regex/Pattern;
1 4 1 i I
2 4 2 ch I
private void unread();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield java.util.regex.Pattern.cursor:I
iconst_1
isub
putfield java.util.regex.Pattern.cursor:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/regex/Pattern;
private java.util.regex.PatternSyntaxException error(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: new java.util.regex.PatternSyntaxException
dup
aload 1
aload 0
getfield java.util.regex.Pattern.normalizedPattern:Ljava/lang/String;
aload 0
getfield java.util.regex.Pattern.cursor:I
iconst_1
isub
invokespecial java.util.regex.PatternSyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/regex/Pattern;
0 1 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
private boolean findSupplementary(int, int);
descriptor: (II)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
istore 3
start local 3 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
getfield java.util.regex.Pattern.temp:[I
iload 3
iaload
invokestatic java.util.regex.Pattern.isSupplementary:(I)Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 2
if_icmplt 2
end local 3 6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/regex/Pattern;
0 7 1 start I
0 7 2 end I
1 6 3 i I
MethodParameters:
Name Flags
start
end
private static final boolean isSupplementary(int);
descriptor: (I)Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
ldc 65536
if_icmpge 3
1: iload 0
i2c
invokestatic java.lang.Character.isSurrogate:(C)Z
ifne 3
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 ch I
MethodParameters:
Name Flags
ch
private java.util.regex.Pattern$Node expr(java.util.regex.Pattern$Node);
descriptor: (Ljava/util/regex/Pattern$Node;)Ljava/util/regex/Pattern$Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: aconst_null
astore 5
start local 5 4: StackMap locals: java.util.regex.Pattern java.util.regex.Pattern$Node java.util.regex.Pattern$Node java.util.regex.Pattern$Node java.util.regex.Pattern$Branch java.util.regex.Pattern$Node
StackMap stack:
aload 0
aload 1
invokevirtual java.util.regex.Pattern.sequence:(Ljava/util/regex/Pattern$Node;)Ljava/util/regex/Pattern$Node;
astore 6
start local 6 5: aload 0
getfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
astore 7
start local 7 6: aload 2
ifnonnull 10
7: aload 6
astore 2
8: aload 7
astore 3
9: goto 25
10: StackMap locals: java.util.regex.Pattern$Node java.util.regex.Pattern$Node
StackMap stack:
aload 5
ifnonnull 13
11: new java.util.regex.Pattern$BranchConn
dup
invokespecial java.util.regex.Pattern$BranchConn.<init>:()V
astore 5
12: aload 5
aload 1
putfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
13: StackMap locals:
StackMap stack:
aload 6
aload 1
if_acmpne 16
14: aconst_null
astore 6
15: goto 17
16: StackMap locals:
StackMap stack:
aload 7
aload 5
putfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
17: StackMap locals:
StackMap stack:
aload 2
aload 4
if_acmpne 20
18: aload 4
aload 6
invokevirtual java.util.regex.Pattern$Branch.add:(Ljava/util/regex/Pattern$Node;)V
19: goto 25
20: StackMap locals:
StackMap stack:
aload 2
aload 1
if_acmpne 23
21: aconst_null
astore 2
22: goto 24
23: StackMap locals:
StackMap stack:
aload 3
aload 5
putfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
24: StackMap locals:
StackMap stack:
new java.util.regex.Pattern$Branch
dup
aload 2
aload 6
aload 5
invokespecial java.util.regex.Pattern$Branch.<init>:(Ljava/util/regex/Pattern$Node;Ljava/util/regex/Pattern$Node;Ljava/util/regex/Pattern$Node;)V
dup
astore 4
astore 2
25: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.peek:()I
bipush 124
if_icmpeq 27
26: aload 2
areturn
27: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
end local 7 end local 6 28: goto 4
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 29 0 this Ljava/util/regex/Pattern;
0 29 1 end Ljava/util/regex/Pattern$Node;
1 29 2 prev Ljava/util/regex/Pattern$Node;
2 29 3 firstTail Ljava/util/regex/Pattern$Node;
3 29 4 branch Ljava/util/regex/Pattern$Branch;
4 29 5 branchConn Ljava/util/regex/Pattern$Node;
5 28 6 node Ljava/util/regex/Pattern$Node;
6 28 7 nodeTail Ljava/util/regex/Pattern$Node;
MethodParameters:
Name Flags
end
private java.util.regex.Pattern$Node sequence(java.util.regex.Pattern$Node);
descriptor: (Ljava/util/regex/Pattern$Node;)Ljava/util/regex/Pattern$Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: StackMap locals: java.util.regex.Pattern$Node java.util.regex.Pattern$Node java.util.regex.Pattern$Node
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.peek:()I
istore 5
start local 5 4: iload 5
lookupswitch { // 14
0: 57
36: 39
40: 5
41: 52
42: 55
43: 55
46: 44
63: 55
91: 13
92: 15
93: 53
94: 31
124: 52
125: 53
default: 59
}
5: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.group0:()Ljava/util/regex/Pattern$Node;
astore 4
6: aload 4
ifnonnull 8
7: goto 3
8: StackMap locals:
StackMap stack:
aload 2
ifnonnull 10
9: aload 4
astore 2
goto 11
10: StackMap locals:
StackMap stack:
aload 3
aload 4
putfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
11: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
astore 3
12: goto 3
13: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual java.util.regex.Pattern.clazz:(Z)Ljava/util/regex/Pattern$CharProperty;
astore 4
14: goto 60
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.nextEscaped:()I
istore 5
16: iload 5
bipush 112
if_icmpeq 17
iload 5
bipush 80
if_icmpne 28
17: StackMap locals:
StackMap stack:
iconst_1
istore 6
start local 6 18: iload 5
bipush 80
if_icmpne 19
iconst_1
goto 20
StackMap locals: int
StackMap stack:
19: iconst_0
StackMap locals:
StackMap stack: int
20: istore 7
start local 7 21: aload 0
invokevirtual java.util.regex.Pattern.next:()I
istore 5
22: iload 5
bipush 123
if_icmpeq 25
23: aload 0
invokevirtual java.util.regex.Pattern.unread:()V
24: goto 26
25: StackMap locals: int
StackMap stack:
iconst_0
istore 6
26: StackMap locals:
StackMap stack:
aload 0
iload 6
iload 7
invokevirtual java.util.regex.Pattern.family:(ZZ)Ljava/util/regex/Pattern$CharProperty;
astore 4
end local 7 end local 6 27: goto 60
28: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.unread:()V
29: aload 0
invokevirtual java.util.regex.Pattern.atom:()Ljava/util/regex/Pattern$Node;
astore 4
30: goto 60
31: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
32: aload 0
bipush 8
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 37
33: aload 0
iconst_1
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 35
34: new java.util.regex.Pattern$UnixCaret
dup
invokespecial java.util.regex.Pattern$UnixCaret.<init>:()V
astore 4
goto 60
35: StackMap locals:
StackMap stack:
new java.util.regex.Pattern$Caret
dup
invokespecial java.util.regex.Pattern$Caret.<init>:()V
astore 4
36: goto 60
37: StackMap locals:
StackMap stack:
new java.util.regex.Pattern$Begin
dup
invokespecial java.util.regex.Pattern$Begin.<init>:()V
astore 4
38: goto 60
39: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
40: aload 0
iconst_1
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 42
41: new java.util.regex.Pattern$UnixDollar
dup
aload 0
bipush 8
invokevirtual java.util.regex.Pattern.has:(I)Z
invokespecial java.util.regex.Pattern$UnixDollar.<init>:(Z)V
astore 4
goto 60
42: StackMap locals:
StackMap stack:
new java.util.regex.Pattern$Dollar
dup
aload 0
bipush 8
invokevirtual java.util.regex.Pattern.has:(I)Z
invokespecial java.util.regex.Pattern$Dollar.<init>:(Z)V
astore 4
43: goto 60
44: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
45: aload 0
bipush 32
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 48
46: new java.util.regex.Pattern$All
dup
invokespecial java.util.regex.Pattern$All.<init>:()V
astore 4
47: goto 60
48: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 50
49: new java.util.regex.Pattern$UnixDot
dup
invokespecial java.util.regex.Pattern$UnixDot.<init>:()V
astore 4
goto 60
50: StackMap locals:
StackMap stack:
new java.util.regex.Pattern$Dot
dup
invokespecial java.util.regex.Pattern$Dot.<init>:()V
astore 4
51: goto 60
52: StackMap locals:
StackMap stack:
goto 67
53: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.atom:()Ljava/util/regex/Pattern$Node;
astore 4
54: goto 60
55: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
56: aload 0
new java.lang.StringBuilder
dup
ldc "Dangling meta character '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
57: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern.cursor:I
aload 0
getfield java.util.regex.Pattern.patternLength:I
if_icmplt 59
58: goto 67
59: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.atom:()Ljava/util/regex/Pattern$Node;
astore 4
60: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual java.util.regex.Pattern.closure:(Ljava/util/regex/Pattern$Node;)Ljava/util/regex/Pattern$Node;
astore 4
61: aload 2
ifnonnull 64
62: aload 4
dup
astore 3
astore 2
63: goto 3
64: StackMap locals:
StackMap stack:
aload 3
aload 4
putfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
65: aload 4
astore 3
end local 5 66: goto 3
67: StackMap locals:
StackMap stack:
aload 2
ifnonnull 69
68: aload 1
areturn
69: StackMap locals:
StackMap stack:
aload 3
aload 1
putfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
70: aload 0
aload 3
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
71: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 72 0 this Ljava/util/regex/Pattern;
0 72 1 end Ljava/util/regex/Pattern$Node;
1 72 2 head Ljava/util/regex/Pattern$Node;
2 72 3 tail Ljava/util/regex/Pattern$Node;
3 72 4 node Ljava/util/regex/Pattern$Node;
4 66 5 ch I
18 27 6 oneLetter Z
21 27 7 comp Z
MethodParameters:
Name Flags
end
private java.util.regex.Pattern$Node atom();
descriptor: ()Ljava/util/regex/Pattern$Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_m1
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: aload 0
invokevirtual java.util.regex.Pattern.peek:()I
istore 4
start local 4 4: StackMap locals: java.util.regex.Pattern int int int int
StackMap stack:
iload 4
lookupswitch { // 13
0: 40
36: 9
40: 9
41: 9
42: 5
43: 5
46: 9
63: 5
91: 9
92: 10
94: 9
123: 5
124: 9
default: 42
}
5: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmple 49
6: aload 0
iload 2
putfield java.util.regex.Pattern.cursor:I
7: iinc 1 -1
8: goto 49
9: StackMap locals:
StackMap stack:
goto 49
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.nextEscaped:()I
istore 4
11: iload 4
bipush 112
if_icmpeq 12
iload 4
bipush 80
if_icmpne 24
12: StackMap locals:
StackMap stack:
iload 1
ifle 15
13: aload 0
invokevirtual java.util.regex.Pattern.unread:()V
14: goto 49
15: StackMap locals:
StackMap stack:
iload 4
bipush 80
if_icmpne 16
iconst_1
goto 17
StackMap locals:
StackMap stack:
16: iconst_0
StackMap locals:
StackMap stack: int
17: istore 5
start local 5 18: iconst_1
istore 6
start local 6 19: aload 0
invokevirtual java.util.regex.Pattern.next:()I
istore 4
20: iload 4
bipush 123
if_icmpeq 22
21: aload 0
invokevirtual java.util.regex.Pattern.unread:()V
goto 23
22: StackMap locals: int int
StackMap stack:
iconst_0
istore 6
23: StackMap locals:
StackMap stack:
aload 0
iload 6
iload 5
invokevirtual java.util.regex.Pattern.family:(ZZ)Ljava/util/regex/Pattern$CharProperty;
areturn
end local 6 end local 5 24: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.unread:()V
25: aload 0
getfield java.util.regex.Pattern.cursor:I
istore 2
26: aload 0
iconst_0
iload 1
ifne 27
iconst_1
goto 28
StackMap locals: java.util.regex.Pattern int int int int
StackMap stack: java.util.regex.Pattern int
27: iconst_0
StackMap locals: java.util.regex.Pattern int int int int
StackMap stack: java.util.regex.Pattern int int
28: iconst_0
invokevirtual java.util.regex.Pattern.escape:(ZZZ)I
istore 4
29: iload 4
iflt 36
30: aload 0
iload 4
iload 1
invokevirtual java.util.regex.Pattern.append:(II)V
31: iinc 1 1
32: iload 4
invokestatic java.util.regex.Pattern.isSupplementary:(I)Z
ifeq 34
33: iconst_1
istore 3
34: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.peek:()I
istore 4
35: goto 4
36: StackMap locals:
StackMap stack:
iload 1
ifne 38
37: aload 0
getfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
areturn
38: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield java.util.regex.Pattern.cursor:I
39: goto 49
40: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern.cursor:I
aload 0
getfield java.util.regex.Pattern.patternLength:I
if_icmplt 42
41: goto 49
42: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern.cursor:I
istore 2
43: aload 0
iload 4
iload 1
invokevirtual java.util.regex.Pattern.append:(II)V
44: iinc 1 1
45: iload 4
invokestatic java.util.regex.Pattern.isSupplementary:(I)Z
ifeq 47
46: iconst_1
istore 3
47: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.next:()I
istore 4
48: goto 4
49: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmpne 51
50: aload 0
aload 0
getfield java.util.regex.Pattern.buffer:[I
iconst_0
iaload
invokevirtual java.util.regex.Pattern.newSingle:(I)Ljava/util/regex/Pattern$CharProperty;
areturn
51: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.regex.Pattern.buffer:[I
iload 1
iload 3
invokevirtual java.util.regex.Pattern.newSlice:([IIZ)Ljava/util/regex/Pattern$Node;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Ljava/util/regex/Pattern;
1 52 1 first I
2 52 2 prev I
3 52 3 hasSupplementary Z
4 52 4 ch I
18 24 5 comp Z
19 24 6 oneLetter Z
private void append(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
aload 0
getfield java.util.regex.Pattern.buffer:[I
arraylength
if_icmplt 4
1: iload 2
iload 2
iadd
newarray 10
astore 3
start local 3 2: aload 0
getfield java.util.regex.Pattern.buffer:[I
iconst_0
aload 3
iconst_0
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 0
aload 3
putfield java.util.regex.Pattern.buffer:[I
end local 3 4: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern.buffer:[I
iload 2
iload 1
iastore
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/regex/Pattern;
0 6 1 ch I
0 6 2 len I
2 4 3 tmp [I
MethodParameters:
Name Flags
ch
len
private java.util.regex.Pattern$Node ref(int);
descriptor: (I)Ljava/util/regex/Pattern$Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 12
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.peek:()I
istore 3
start local 3 3: iload 3
tableswitch { // 48 - 57
48: 4
49: 4
50: 4
51: 4
52: 4
53: 4
54: 4
55: 4
56: 4
57: 4
default: 11
}
4: StackMap locals: int
StackMap stack:
iload 1
bipush 10
imul
iload 3
bipush 48
isub
iadd
istore 4
start local 4 5: aload 0
getfield java.util.regex.Pattern.capturingGroupCount:I
iconst_1
isub
iload 4
if_icmpge 8
6: iconst_1
istore 2
7: goto 12
8: StackMap locals: int
StackMap stack:
iload 4
istore 1
9: aload 0
invokevirtual java.util.regex.Pattern.read:()I
pop
10: goto 12
end local 4 11: StackMap locals:
StackMap stack:
iconst_1
istore 2
end local 3 12: StackMap locals:
StackMap stack:
iload 2
ifeq 2
13: aload 0
iconst_2
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 15
14: new java.util.regex.Pattern$CIBackRef
dup
iload 1
aload 0
bipush 64
invokevirtual java.util.regex.Pattern.has:(I)Z
invokespecial java.util.regex.Pattern$CIBackRef.<init>:(IZ)V
areturn
15: StackMap locals:
StackMap stack:
new java.util.regex.Pattern$BackRef
dup
iload 1
invokespecial java.util.regex.Pattern$BackRef.<init>:(I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/util/regex/Pattern;
0 16 1 refNum I
1 16 2 done Z
3 12 3 ch I
5 11 4 newRefNum I
MethodParameters:
Name Flags
refNum
private int escape(boolean, boolean, boolean);
descriptor: (ZZZ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual java.util.regex.Pattern.skip:()I
istore 4
start local 4 1: iload 4
tableswitch { // 48 - 122
48: 2
49: 3
50: 3
51: 3
52: 3
53: 3
54: 3
55: 3
56: 3
57: 3
58: 102
59: 102
60: 102
61: 102
62: 102
63: 102
64: 102
65: 7
66: 10
67: 13
68: 14
69: 19
70: 19
71: 20
72: 23
73: 25
74: 25
75: 25
76: 25
77: 25
78: 25
79: 25
80: 25
81: 25
82: 26
83: 29
84: 34
85: 34
86: 35
87: 37
88: 42
89: 42
90: 43
91: 102
92: 102
93: 102
94: 102
95: 102
96: 102
97: 49
98: 50
99: 53
100: 54
101: 59
102: 60
103: 61
104: 62
105: 64
106: 64
107: 65
108: 77
109: 77
110: 78
111: 79
112: 79
113: 79
114: 80
115: 81
116: 86
117: 87
118: 88
119: 92
120: 97
121: 98
122: 99
default: 102
}
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.o:()I
ireturn
3: StackMap locals:
StackMap stack:
iload 1
ifeq 4
goto 103
4: StackMap locals:
StackMap stack:
iload 2
ifeq 6
5: aload 0
aload 0
iload 4
bipush 48
isub
invokevirtual java.util.regex.Pattern.ref:(I)Ljava/util/regex/Pattern$Node;
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
6: StackMap locals:
StackMap stack:
iconst_m1
ireturn
7: StackMap locals:
StackMap stack:
iload 1
ifeq 8
goto 103
8: StackMap locals:
StackMap stack:
iload 2
ifeq 9
aload 0
new java.util.regex.Pattern$Begin
dup
invokespecial java.util.regex.Pattern$Begin.<init>:()V
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
9: StackMap locals:
StackMap stack:
iconst_m1
ireturn
10: StackMap locals:
StackMap stack:
iload 1
ifeq 11
goto 103
11: StackMap locals:
StackMap stack:
iload 2
ifeq 12
aload 0
new java.util.regex.Pattern$Bound
dup
getstatic java.util.regex.Pattern$Bound.NONE:I
aload 0
sipush 256
invokevirtual java.util.regex.Pattern.has:(I)Z
invokespecial java.util.regex.Pattern$Bound.<init>:(IZ)V
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
12: StackMap locals:
StackMap stack:
iconst_m1
ireturn
13: StackMap locals:
StackMap stack:
goto 103
14: StackMap locals:
StackMap stack:
iload 2
ifeq 18
aload 0
aload 0
sipush 256
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 16
15: new java.util.regex.Pattern$Utype
dup
getstatic java.util.regex.UnicodeProp.DIGIT:Ljava/util/regex/UnicodeProp;
invokespecial java.util.regex.Pattern$Utype.<init>:(Ljava/util/regex/UnicodeProp;)V
invokevirtual java.util.regex.Pattern$Utype.complement:()Ljava/util/regex/Pattern$CharProperty;
goto 17
16: StackMap locals:
StackMap stack: java.util.regex.Pattern
new java.util.regex.Pattern$Ctype
dup
sipush 1024
invokespecial java.util.regex.Pattern$Ctype.<init>:(I)V
invokevirtual java.util.regex.Pattern$Ctype.complement:()Ljava/util/regex/Pattern$CharProperty;
17: StackMap locals: java.util.regex.Pattern int int int int
StackMap stack: java.util.regex.Pattern java.util.regex.Pattern$CharProperty
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
18: StackMap locals:
StackMap stack:
iconst_m1
ireturn
19: StackMap locals:
StackMap stack:
goto 103
20: StackMap locals:
StackMap stack:
iload 1
ifeq 21
goto 103
21: StackMap locals:
StackMap stack:
iload 2
ifeq 22
aload 0
new java.util.regex.Pattern$LastMatch
dup
invokespecial java.util.regex.Pattern$LastMatch.<init>:()V
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
22: StackMap locals:
StackMap stack:
iconst_m1
ireturn
23: StackMap locals:
StackMap stack:
iload 2
ifeq 24
aload 0
new java.util.regex.Pattern$HorizWS
dup
invokespecial java.util.regex.Pattern$HorizWS.<init>:()V
invokevirtual java.util.regex.Pattern$HorizWS.complement:()Ljava/util/regex/Pattern$CharProperty;
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
24: StackMap locals:
StackMap stack:
iconst_m1
ireturn
25: StackMap locals:
StackMap stack:
goto 103
26: StackMap locals:
StackMap stack:
iload 1
ifeq 27
goto 103
27: StackMap locals:
StackMap stack:
iload 2
ifeq 28
aload 0
new java.util.regex.Pattern$LineEnding
dup
invokespecial java.util.regex.Pattern$LineEnding.<init>:()V
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
28: StackMap locals:
StackMap stack:
iconst_m1
ireturn
29: StackMap locals:
StackMap stack:
iload 2
ifeq 33
aload 0
aload 0
sipush 256
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 31
30: new java.util.regex.Pattern$Utype
dup
getstatic java.util.regex.UnicodeProp.WHITE_SPACE:Ljava/util/regex/UnicodeProp;
invokespecial java.util.regex.Pattern$Utype.<init>:(Ljava/util/regex/UnicodeProp;)V
invokevirtual java.util.regex.Pattern$Utype.complement:()Ljava/util/regex/Pattern$CharProperty;
goto 32
31: StackMap locals:
StackMap stack: java.util.regex.Pattern
new java.util.regex.Pattern$Ctype
dup
sipush 2048
invokespecial java.util.regex.Pattern$Ctype.<init>:(I)V
invokevirtual java.util.regex.Pattern$Ctype.complement:()Ljava/util/regex/Pattern$CharProperty;
32: StackMap locals: java.util.regex.Pattern int int int int
StackMap stack: java.util.regex.Pattern java.util.regex.Pattern$CharProperty
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
33: StackMap locals:
StackMap stack:
iconst_m1
ireturn
34: StackMap locals:
StackMap stack:
goto 103
35: StackMap locals:
StackMap stack:
iload 2
ifeq 36
aload 0
new java.util.regex.Pattern$VertWS
dup
invokespecial java.util.regex.Pattern$VertWS.<init>:()V
invokevirtual java.util.regex.Pattern$VertWS.complement:()Ljava/util/regex/Pattern$CharProperty;
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
36: StackMap locals:
StackMap stack:
iconst_m1
ireturn
37: StackMap locals:
StackMap stack:
iload 2
ifeq 41
aload 0
aload 0
sipush 256
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 39
38: new java.util.regex.Pattern$Utype
dup
getstatic java.util.regex.UnicodeProp.WORD:Ljava/util/regex/UnicodeProp;
invokespecial java.util.regex.Pattern$Utype.<init>:(Ljava/util/regex/UnicodeProp;)V
invokevirtual java.util.regex.Pattern$Utype.complement:()Ljava/util/regex/Pattern$CharProperty;
goto 40
39: StackMap locals:
StackMap stack: java.util.regex.Pattern
new java.util.regex.Pattern$Ctype
dup
ldc 67328
invokespecial java.util.regex.Pattern$Ctype.<init>:(I)V
invokevirtual java.util.regex.Pattern$Ctype.complement:()Ljava/util/regex/Pattern$CharProperty;
40: StackMap locals: java.util.regex.Pattern int int int int
StackMap stack: java.util.regex.Pattern java.util.regex.Pattern$CharProperty
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
41: StackMap locals:
StackMap stack:
iconst_m1
ireturn
42: StackMap locals:
StackMap stack:
goto 103
43: StackMap locals:
StackMap stack:
iload 1
ifeq 44
goto 103
44: StackMap locals:
StackMap stack:
iload 2
ifeq 48
45: aload 0
iconst_1
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 47
46: aload 0
new java.util.regex.Pattern$UnixDollar
dup
iconst_0
invokespecial java.util.regex.Pattern$UnixDollar.<init>:(Z)V
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
goto 48
47: StackMap locals:
StackMap stack:
aload 0
new java.util.regex.Pattern$Dollar
dup
iconst_0
invokespecial java.util.regex.Pattern$Dollar.<init>:(Z)V
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
48: StackMap locals:
StackMap stack:
iconst_m1
ireturn
49: StackMap locals:
StackMap stack:
bipush 7
ireturn
50: StackMap locals:
StackMap stack:
iload 1
ifeq 51
goto 103
51: StackMap locals:
StackMap stack:
iload 2
ifeq 52
aload 0
new java.util.regex.Pattern$Bound
dup
getstatic java.util.regex.Pattern$Bound.BOTH:I
aload 0
sipush 256
invokevirtual java.util.regex.Pattern.has:(I)Z
invokespecial java.util.regex.Pattern$Bound.<init>:(IZ)V
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
52: StackMap locals:
StackMap stack:
iconst_m1
ireturn
53: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.c:()I
ireturn
54: StackMap locals:
StackMap stack:
iload 2
ifeq 58
aload 0
aload 0
sipush 256
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 56
55: new java.util.regex.Pattern$Utype
dup
getstatic java.util.regex.UnicodeProp.DIGIT:Ljava/util/regex/UnicodeProp;
invokespecial java.util.regex.Pattern$Utype.<init>:(Ljava/util/regex/UnicodeProp;)V
goto 57
56: StackMap locals:
StackMap stack: java.util.regex.Pattern
new java.util.regex.Pattern$Ctype
dup
sipush 1024
invokespecial java.util.regex.Pattern$Ctype.<init>:(I)V
57: StackMap locals: java.util.regex.Pattern int int int int
StackMap stack: java.util.regex.Pattern java.util.regex.Pattern$CharProperty
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
58: StackMap locals:
StackMap stack:
iconst_m1
ireturn
59: StackMap locals:
StackMap stack:
bipush 27
ireturn
60: StackMap locals:
StackMap stack:
bipush 12
ireturn
61: StackMap locals:
StackMap stack:
goto 103
62: StackMap locals:
StackMap stack:
iload 2
ifeq 63
aload 0
new java.util.regex.Pattern$HorizWS
dup
invokespecial java.util.regex.Pattern$HorizWS.<init>:()V
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
63: StackMap locals:
StackMap stack:
iconst_m1
ireturn
64: StackMap locals:
StackMap stack:
goto 103
65: StackMap locals:
StackMap stack:
iload 1
ifeq 67
66: goto 103
67: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.read:()I
bipush 60
if_icmpeq 69
68: aload 0
ldc "\\k is not followed by '<' for named capturing group"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
69: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual java.util.regex.Pattern.read:()I
invokevirtual java.util.regex.Pattern.groupname:(I)Ljava/lang/String;
astore 5
start local 5 70: aload 0
invokevirtual java.util.regex.Pattern.namedGroups:()Ljava/util/Map;
aload 5
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 72
71: aload 0
new java.lang.StringBuilder
dup
ldc "(named capturing group <"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "> does not exit"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
72: StackMap locals: java.lang.String
StackMap stack:
iload 2
ifeq 76
73: aload 0
iconst_2
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 75
74: aload 0
new java.util.regex.Pattern$CIBackRef
dup
aload 0
invokevirtual java.util.regex.Pattern.namedGroups:()Ljava/util/Map;
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 0
bipush 64
invokevirtual java.util.regex.Pattern.has:(I)Z
invokespecial java.util.regex.Pattern$CIBackRef.<init>:(IZ)V
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
goto 76
75: StackMap locals:
StackMap stack:
aload 0
new java.util.regex.Pattern$BackRef
dup
aload 0
invokevirtual java.util.regex.Pattern.namedGroups:()Ljava/util/Map;
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokespecial java.util.regex.Pattern$BackRef.<init>:(I)V
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
76: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 5 77: StackMap locals:
StackMap stack:
goto 103
78: StackMap locals:
StackMap stack:
bipush 10
ireturn
79: StackMap locals:
StackMap stack:
goto 103
80: StackMap locals:
StackMap stack:
bipush 13
ireturn
81: StackMap locals:
StackMap stack:
iload 2
ifeq 85
aload 0
aload 0
sipush 256
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 83
82: new java.util.regex.Pattern$Utype
dup
getstatic java.util.regex.UnicodeProp.WHITE_SPACE:Ljava/util/regex/UnicodeProp;
invokespecial java.util.regex.Pattern$Utype.<init>:(Ljava/util/regex/UnicodeProp;)V
goto 84
83: StackMap locals:
StackMap stack: java.util.regex.Pattern
new java.util.regex.Pattern$Ctype
dup
sipush 2048
invokespecial java.util.regex.Pattern$Ctype.<init>:(I)V
84: StackMap locals: java.util.regex.Pattern int int int int
StackMap stack: java.util.regex.Pattern java.util.regex.Pattern$CharProperty
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
85: StackMap locals:
StackMap stack:
iconst_m1
ireturn
86: StackMap locals:
StackMap stack:
bipush 9
ireturn
87: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.u:()I
ireturn
88: StackMap locals:
StackMap stack:
iload 3
ifeq 90
89: bipush 11
ireturn
90: StackMap locals:
StackMap stack:
iload 2
ifeq 91
aload 0
new java.util.regex.Pattern$VertWS
dup
invokespecial java.util.regex.Pattern$VertWS.<init>:()V
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
91: StackMap locals:
StackMap stack:
iconst_m1
ireturn
92: StackMap locals:
StackMap stack:
iload 2
ifeq 96
aload 0
aload 0
sipush 256
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 94
93: new java.util.regex.Pattern$Utype
dup
getstatic java.util.regex.UnicodeProp.WORD:Ljava/util/regex/UnicodeProp;
invokespecial java.util.regex.Pattern$Utype.<init>:(Ljava/util/regex/UnicodeProp;)V
goto 95
94: StackMap locals:
StackMap stack: java.util.regex.Pattern
new java.util.regex.Pattern$Ctype
dup
ldc 67328
invokespecial java.util.regex.Pattern$Ctype.<init>:(I)V
95: StackMap locals: java.util.regex.Pattern int int int int
StackMap stack: java.util.regex.Pattern java.util.regex.Pattern$CharProperty
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
96: StackMap locals:
StackMap stack:
iconst_m1
ireturn
97: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.x:()I
ireturn
98: StackMap locals:
StackMap stack:
goto 103
99: StackMap locals:
StackMap stack:
iload 1
ifeq 100
goto 103
100: StackMap locals:
StackMap stack:
iload 2
ifeq 101
aload 0
new java.util.regex.Pattern$End
dup
invokespecial java.util.regex.Pattern$End.<init>:()V
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
101: StackMap locals:
StackMap stack:
iconst_m1
ireturn
102: StackMap locals:
StackMap stack:
iload 4
ireturn
103: StackMap locals:
StackMap stack:
aload 0
ldc "Illegal/unsupported escape sequence"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 104 0 this Ljava/util/regex/Pattern;
0 104 1 inclass Z
0 104 2 create Z
0 104 3 isrange Z
1 104 4 ch I
70 77 5 name Ljava/lang/String;
MethodParameters:
Name Flags
inclass
create
isrange
private java.util.regex.Pattern$CharProperty clazz(boolean);
descriptor: (Z)Ljava/util/regex/Pattern$CharProperty;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: new java.util.regex.Pattern$BitClass
dup
invokespecial java.util.regex.Pattern$BitClass.<init>:()V
astore 4
start local 4 3: iconst_1
istore 5
start local 5 4: iconst_1
istore 6
start local 6 5: aload 0
invokevirtual java.util.regex.Pattern.next:()I
istore 7
start local 7 6: StackMap locals: java.util.regex.Pattern int java.util.regex.Pattern$CharProperty java.util.regex.Pattern$CharProperty java.util.regex.Pattern$BitClass int int int
StackMap stack:
iload 7
lookupswitch { // 5
0: 48
38: 22
91: 15
93: 51
94: 7
default: 56
}
7: StackMap locals:
StackMap stack:
iload 6
ifeq 57
8: aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
getfield java.util.regex.Pattern.cursor:I
iconst_1
isub
iaload
bipush 91
if_icmpeq 10
9: goto 57
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.next:()I
istore 7
11: iload 5
ifeq 12
iconst_0
goto 13
StackMap locals:
StackMap stack:
12: iconst_1
StackMap locals:
StackMap stack: int
13: istore 5
14: goto 6
15: StackMap locals:
StackMap stack:
iconst_0
istore 6
16: aload 0
iconst_1
invokevirtual java.util.regex.Pattern.clazz:(Z)Ljava/util/regex/Pattern$CharProperty;
astore 3
17: aload 2
ifnonnull 19
18: aload 3
astore 2
goto 20
19: StackMap locals:
StackMap stack:
aload 2
aload 3
invokestatic java.util.regex.Pattern.union:(Ljava/util/regex/Pattern$CharProperty;Ljava/util/regex/Pattern$CharProperty;)Ljava/util/regex/Pattern$CharProperty;
astore 2
20: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.peek:()I
istore 7
21: goto 6
22: StackMap locals:
StackMap stack:
iconst_0
istore 6
23: aload 0
invokevirtual java.util.regex.Pattern.next:()I
istore 7
24: iload 7
bipush 38
if_icmpne 46
25: aload 0
invokevirtual java.util.regex.Pattern.next:()I
istore 7
26: aconst_null
astore 8
start local 8 27: goto 36
28: StackMap locals: java.util.regex.Pattern$CharProperty
StackMap stack:
iload 7
bipush 91
if_icmpne 33
29: aload 8
ifnonnull 31
30: aload 0
iconst_1
invokevirtual java.util.regex.Pattern.clazz:(Z)Ljava/util/regex/Pattern$CharProperty;
astore 8
goto 35
31: StackMap locals:
StackMap stack:
aload 8
aload 0
iconst_1
invokevirtual java.util.regex.Pattern.clazz:(Z)Ljava/util/regex/Pattern$CharProperty;
invokestatic java.util.regex.Pattern.union:(Ljava/util/regex/Pattern$CharProperty;Ljava/util/regex/Pattern$CharProperty;)Ljava/util/regex/Pattern$CharProperty;
astore 8
32: goto 35
33: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.unread:()V
34: aload 0
iconst_0
invokevirtual java.util.regex.Pattern.clazz:(Z)Ljava/util/regex/Pattern$CharProperty;
astore 8
35: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.peek:()I
istore 7
36: StackMap locals:
StackMap stack:
iload 7
bipush 93
if_icmpeq 37
iload 7
bipush 38
if_icmpne 28
37: StackMap locals:
StackMap stack:
aload 8
ifnull 39
38: aload 8
astore 3
39: StackMap locals:
StackMap stack:
aload 2
ifnonnull 44
40: aload 8
ifnonnull 42
41: aload 0
ldc "Bad class syntax"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
42: StackMap locals:
StackMap stack:
aload 8
astore 2
43: goto 6
44: StackMap locals:
StackMap stack:
aload 2
aload 3
invokestatic java.util.regex.Pattern.intersection:(Ljava/util/regex/Pattern$CharProperty;Ljava/util/regex/Pattern$CharProperty;)Ljava/util/regex/Pattern$CharProperty;
astore 2
end local 8 45: goto 6
46: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.unread:()V
47: goto 57
48: StackMap locals:
StackMap stack:
iconst_0
istore 6
49: aload 0
getfield java.util.regex.Pattern.cursor:I
aload 0
getfield java.util.regex.Pattern.patternLength:I
if_icmplt 57
50: aload 0
ldc "Unclosed character class"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
51: StackMap locals:
StackMap stack:
iconst_0
istore 6
52: aload 2
ifnull 57
53: iload 1
ifeq 55
54: aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
55: StackMap locals:
StackMap stack:
aload 2
areturn
56: StackMap locals:
StackMap stack:
iconst_0
istore 6
57: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual java.util.regex.Pattern.range:(Ljava/util/regex/Pattern$BitClass;)Ljava/util/regex/Pattern$CharProperty;
astore 3
58: iload 5
ifeq 65
59: aload 2
ifnonnull 62
60: aload 3
astore 2
61: goto 70
62: StackMap locals:
StackMap stack:
aload 2
aload 3
if_acmpeq 70
63: aload 2
aload 3
invokestatic java.util.regex.Pattern.union:(Ljava/util/regex/Pattern$CharProperty;Ljava/util/regex/Pattern$CharProperty;)Ljava/util/regex/Pattern$CharProperty;
astore 2
64: goto 70
65: StackMap locals:
StackMap stack:
aload 2
ifnonnull 68
66: aload 3
invokevirtual java.util.regex.Pattern$CharProperty.complement:()Ljava/util/regex/Pattern$CharProperty;
astore 2
67: goto 70
68: StackMap locals:
StackMap stack:
aload 2
aload 3
if_acmpeq 70
69: aload 2
aload 3
invokestatic java.util.regex.Pattern.setDifference:(Ljava/util/regex/Pattern$CharProperty;Ljava/util/regex/Pattern$CharProperty;)Ljava/util/regex/Pattern$CharProperty;
astore 2
70: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.peek:()I
istore 7
71: goto 6
end local 7 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 72 0 this Ljava/util/regex/Pattern;
0 72 1 consume Z
1 72 2 prev Ljava/util/regex/Pattern$CharProperty;
2 72 3 node Ljava/util/regex/Pattern$CharProperty;
3 72 4 bits Ljava/util/regex/Pattern$BitClass;
4 72 5 include Z
5 72 6 firstInClass Z
6 72 7 ch I
27 45 8 rightNode Ljava/util/regex/Pattern$CharProperty;
MethodParameters:
Name Flags
consume
private java.util.regex.Pattern$CharProperty bitsOrSingle(java.util.regex.Pattern$BitClass, int);
descriptor: (Ljava/util/regex/Pattern$BitClass;I)Ljava/util/regex/Pattern$CharProperty;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
sipush 256
if_icmpge 8
1: aload 0
iconst_2
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 7
aload 0
bipush 64
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 7
2: iload 2
sipush 255
if_icmpeq 8
iload 2
sipush 181
if_icmpeq 8
3: iload 2
bipush 73
if_icmpeq 8
iload 2
bipush 105
if_icmpeq 8
4: iload 2
bipush 83
if_icmpeq 8
iload 2
bipush 115
if_icmpeq 8
5: iload 2
bipush 75
if_icmpeq 8
iload 2
bipush 107
if_icmpeq 8
6: iload 2
sipush 197
if_icmpeq 8
iload 2
sipush 229
if_icmpeq 8
7: StackMap locals:
StackMap stack:
aload 1
iload 2
aload 0
invokevirtual java.util.regex.Pattern.flags:()I
invokevirtual java.util.regex.Pattern$BitClass.add:(II)Ljava/util/regex/Pattern$BitClass;
areturn
8: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual java.util.regex.Pattern.newSingle:(I)Ljava/util/regex/Pattern$CharProperty;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/util/regex/Pattern;
0 9 1 bits Ljava/util/regex/Pattern$BitClass;
0 9 2 ch I
MethodParameters:
Name Flags
bits
ch
private java.util.regex.Pattern$CharProperty range(java.util.regex.Pattern$BitClass);
descriptor: (Ljava/util/regex/Pattern$BitClass;)Ljava/util/regex/Pattern$CharProperty;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.util.regex.Pattern.peek:()I
istore 2
start local 2 1: iload 2
bipush 92
if_icmpne 20
2: aload 0
invokevirtual java.util.regex.Pattern.nextEscaped:()I
istore 2
3: iload 2
bipush 112
if_icmpeq 4
iload 2
bipush 80
if_icmpne 13
4: StackMap locals: int
StackMap stack:
iload 2
bipush 80
if_icmpne 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 3
start local 3 7: iconst_1
istore 4
start local 4 8: aload 0
invokevirtual java.util.regex.Pattern.next:()I
istore 2
9: iload 2
bipush 123
if_icmpeq 11
10: aload 0
invokevirtual java.util.regex.Pattern.unread:()V
goto 12
11: StackMap locals: int int
StackMap stack:
iconst_0
istore 4
12: StackMap locals:
StackMap stack:
aload 0
iload 4
iload 3
invokevirtual java.util.regex.Pattern.family:(ZZ)Ljava/util/regex/Pattern$CharProperty;
areturn
end local 4 end local 3 13: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
getfield java.util.regex.Pattern.cursor:I
iconst_1
iadd
iaload
bipush 45
if_icmpne 14
iconst_1
goto 15
StackMap locals:
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 3
start local 3 16: aload 0
invokevirtual java.util.regex.Pattern.unread:()V
17: aload 0
iconst_1
iconst_1
iload 3
invokevirtual java.util.regex.Pattern.escape:(ZZZ)I
istore 2
18: iload 2
iconst_m1
if_icmpne 21
19: aload 0
getfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
checkcast java.util.regex.Pattern$CharProperty
areturn
end local 3 20: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
21: StackMap locals:
StackMap stack:
iload 2
iflt 39
22: aload 0
invokevirtual java.util.regex.Pattern.peek:()I
bipush 45
if_icmpne 38
23: aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
getfield java.util.regex.Pattern.cursor:I
iconst_1
iadd
iaload
istore 3
start local 3 24: iload 3
bipush 91
if_icmpne 26
25: aload 0
aload 1
iload 2
invokevirtual java.util.regex.Pattern.bitsOrSingle:(Ljava/util/regex/Pattern$BitClass;I)Ljava/util/regex/Pattern$CharProperty;
areturn
26: StackMap locals: int
StackMap stack:
iload 3
bipush 93
if_icmpeq 38
27: aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
28: aload 0
invokevirtual java.util.regex.Pattern.peek:()I
istore 4
start local 4 29: iload 4
bipush 92
if_icmpne 32
30: aload 0
iconst_1
iconst_0
iconst_1
invokevirtual java.util.regex.Pattern.escape:(ZZZ)I
istore 4
31: goto 33
32: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
33: StackMap locals:
StackMap stack:
iload 4
iload 2
if_icmpge 35
34: aload 0
ldc "Illegal character range"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
35: StackMap locals:
StackMap stack:
aload 0
iconst_2
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 37
36: aload 0
iload 2
iload 4
invokevirtual java.util.regex.Pattern.caseInsensitiveRangeFor:(II)Ljava/util/regex/Pattern$CharProperty;
areturn
37: StackMap locals:
StackMap stack:
iload 2
iload 4
invokestatic java.util.regex.Pattern.rangeFor:(II)Ljava/util/regex/Pattern$CharProperty;
areturn
end local 4 end local 3 38: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual java.util.regex.Pattern.bitsOrSingle:(Ljava/util/regex/Pattern$BitClass;I)Ljava/util/regex/Pattern$CharProperty;
areturn
39: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "Unexpected character '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Ljava/util/regex/Pattern;
0 40 1 bits Ljava/util/regex/Pattern$BitClass;
1 40 2 ch I
7 13 3 comp Z
8 13 4 oneLetter Z
16 20 3 isrange Z
24 38 3 endRange I
29 38 4 m I
MethodParameters:
Name Flags
bits
private java.util.regex.Pattern$CharProperty family(boolean, boolean);
descriptor: (ZZ)Ljava/util/regex/Pattern$CharProperty;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
1: aconst_null
astore 4
start local 4 2: iload 1
ifeq 10
3: aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
getfield java.util.regex.Pattern.cursor:I
iaload
istore 5
start local 5 4: iload 5
invokestatic java.lang.Character.isSupplementaryCodePoint:(I)Z
ifne 7
5: iload 5
i2c
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
astore 3
start local 3 6: goto 8
end local 3 7: StackMap locals: java.util.regex.Pattern int int top java.util.regex.Pattern$CharProperty int
StackMap stack:
new java.lang.String
dup
aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
getfield java.util.regex.Pattern.cursor:I
iconst_1
invokespecial java.lang.String.<init>:([III)V
astore 3
start local 3 8: StackMap locals: java.util.regex.Pattern int int java.lang.String java.util.regex.Pattern$CharProperty int
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.read:()I
pop
end local 5 9: goto 20
end local 3 10: StackMap locals: java.util.regex.Pattern int int top java.util.regex.Pattern$CharProperty
StackMap stack:
aload 0
getfield java.util.regex.Pattern.cursor:I
istore 5
start local 5 11: aload 0
bipush 125
invokevirtual java.util.regex.Pattern.mark:(I)V
12: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.read:()I
bipush 125
if_icmpne 12
13: aload 0
iconst_0
invokevirtual java.util.regex.Pattern.mark:(I)V
14: aload 0
getfield java.util.regex.Pattern.cursor:I
istore 6
start local 6 15: iload 6
aload 0
getfield java.util.regex.Pattern.patternLength:I
if_icmple 17
16: aload 0
ldc "Unclosed character family"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
17: StackMap locals: int
StackMap stack:
iload 5
iconst_1
iadd
iload 6
if_icmplt 19
18: aload 0
ldc "Empty character family"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
19: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 0
getfield java.util.regex.Pattern.temp:[I
iload 5
iload 6
iload 5
isub
iconst_1
isub
invokespecial java.lang.String.<init>:([III)V
astore 3
end local 6 end local 5 start local 3 20: StackMap locals: java.util.regex.Pattern int int java.lang.String java.util.regex.Pattern$CharProperty
StackMap stack:
aload 3
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
istore 5
start local 5 21: iload 5
iconst_m1
if_icmpeq 36
22: aload 3
iload 5
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 6
start local 6 23: aload 3
iconst_0
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 3
24: ldc "sc"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 25
ldc "script"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
25: StackMap locals: int java.lang.String
StackMap stack:
aload 0
aload 6
invokevirtual java.util.regex.Pattern.unicodeScriptPropertyFor:(Ljava/lang/String;)Ljava/util/regex/Pattern$CharProperty;
astore 4
26: goto 55
StackMap locals:
StackMap stack:
27: ldc "blk"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 28
ldc "block"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 30
28: StackMap locals:
StackMap stack:
aload 0
aload 6
invokevirtual java.util.regex.Pattern.unicodeBlockPropertyFor:(Ljava/lang/String;)Ljava/util/regex/Pattern$CharProperty;
astore 4
29: goto 55
StackMap locals:
StackMap stack:
30: ldc "gc"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 31
ldc "general_category"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 33
31: StackMap locals:
StackMap stack:
aload 0
aload 6
invokevirtual java.util.regex.Pattern.charPropertyNodeFor:(Ljava/lang/String;)Ljava/util/regex/Pattern$CharProperty;
astore 4
32: goto 55
33: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "Unknown Unicode property {name=<"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
34: ldc "value=<"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
35: invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
end local 6 36: StackMap locals:
StackMap stack:
aload 3
ldc "In"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 39
37: aload 0
aload 3
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.util.regex.Pattern.unicodeBlockPropertyFor:(Ljava/lang/String;)Ljava/util/regex/Pattern$CharProperty;
astore 4
38: goto 55
StackMap locals:
StackMap stack:
39: aload 3
ldc "Is"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 49
40: aload 3
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
41: aload 3
invokestatic java.util.regex.UnicodeProp.forName:(Ljava/lang/String;)Ljava/util/regex/UnicodeProp;
astore 6
start local 6 42: aload 6
ifnull 44
43: new java.util.regex.Pattern$Utype
dup
aload 6
invokespecial java.util.regex.Pattern$Utype.<init>:(Ljava/util/regex/UnicodeProp;)V
astore 4
44: StackMap locals: java.util.regex.UnicodeProp
StackMap stack:
aload 4
ifnonnull 46
45: aload 3
invokestatic java.util.regex.Pattern$CharPropertyNames.charPropertyFor:(Ljava/lang/String;)Ljava/util/regex/Pattern$CharProperty;
astore 4
46: StackMap locals:
StackMap stack:
aload 4
ifnonnull 55
47: aload 0
aload 3
invokevirtual java.util.regex.Pattern.unicodeScriptPropertyFor:(Ljava/lang/String;)Ljava/util/regex/Pattern$CharProperty;
astore 4
end local 6 48: goto 55
49: StackMap locals:
StackMap stack:
aload 0
sipush 256
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 53
50: aload 3
invokestatic java.util.regex.UnicodeProp.forPOSIXName:(Ljava/lang/String;)Ljava/util/regex/UnicodeProp;
astore 6
start local 6 51: aload 6
ifnull 53
52: new java.util.regex.Pattern$Utype
dup
aload 6
invokespecial java.util.regex.Pattern$Utype.<init>:(Ljava/util/regex/UnicodeProp;)V
astore 4
end local 6 53: StackMap locals:
StackMap stack:
aload 4
ifnonnull 55
54: aload 0
aload 3
invokevirtual java.util.regex.Pattern.charPropertyNodeFor:(Ljava/lang/String;)Ljava/util/regex/Pattern$CharProperty;
astore 4
55: StackMap locals:
StackMap stack:
iload 2
ifeq 59
56: aload 4
instanceof java.util.regex.Pattern$Category
ifne 57
aload 4
instanceof java.util.regex.Pattern$Block
ifeq 58
57: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield java.util.regex.Pattern.hasSupplementary:Z
58: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.util.regex.Pattern$CharProperty.complement:()Ljava/util/regex/Pattern$CharProperty;
astore 4
59: StackMap locals:
StackMap stack:
aload 4
areturn
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 60 0 this Ljava/util/regex/Pattern;
0 60 1 singleLetter Z
0 60 2 maybeComplement Z
6 7 3 name Ljava/lang/String;
8 10 3 name Ljava/lang/String;
20 60 3 name Ljava/lang/String;
2 60 4 node Ljava/util/regex/Pattern$CharProperty;
4 9 5 c I
11 20 5 i I
15 20 6 j I
21 60 5 i I
23 36 6 value Ljava/lang/String;
42 48 6 uprop Ljava/util/regex/UnicodeProp;
51 53 6 uprop Ljava/util/regex/UnicodeProp;
MethodParameters:
Name Flags
singleLetter
maybeComplement
private java.util.regex.Pattern$CharProperty unicodeScriptPropertyFor(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/regex/Pattern$CharProperty;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.lang.Character$UnicodeScript.forName:(Ljava/lang/String;)Ljava/lang/Character$UnicodeScript;
astore 2
start local 2 1: goto 4
end local 2 StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
2: pop
3: aload 0
new java.lang.StringBuilder
dup
ldc "Unknown character script name {"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
start local 2 4: StackMap locals: java.lang.Character$UnicodeScript
StackMap stack:
new java.util.regex.Pattern$Script
dup
aload 2
invokespecial java.util.regex.Pattern$Script.<init>:(Ljava/lang/Character$UnicodeScript;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/regex/Pattern;
0 5 1 name Ljava/lang/String;
1 2 2 script Ljava/lang/Character$UnicodeScript;
4 5 2 script Ljava/lang/Character$UnicodeScript;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
name
private java.util.regex.Pattern$CharProperty unicodeBlockPropertyFor(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/regex/Pattern$CharProperty;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.lang.Character$UnicodeBlock.forName:(Ljava/lang/String;)Ljava/lang/Character$UnicodeBlock;
astore 2
start local 2 1: goto 4
end local 2 StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
2: pop
3: aload 0
new java.lang.StringBuilder
dup
ldc "Unknown character block name {"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
start local 2 4: StackMap locals: java.lang.Character$UnicodeBlock
StackMap stack:
new java.util.regex.Pattern$Block
dup
aload 2
invokespecial java.util.regex.Pattern$Block.<init>:(Ljava/lang/Character$UnicodeBlock;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/regex/Pattern;
0 5 1 name Ljava/lang/String;
1 2 2 block Ljava/lang/Character$UnicodeBlock;
4 5 2 block Ljava/lang/Character$UnicodeBlock;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
name
private java.util.regex.Pattern$CharProperty charPropertyNodeFor(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/regex/Pattern$CharProperty;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.regex.Pattern$CharPropertyNames.charPropertyFor:(Ljava/lang/String;)Ljava/util/regex/Pattern$CharProperty;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aload 0
new java.lang.StringBuilder
dup
ldc "Unknown character property name {"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
3: StackMap locals: java.util.regex.Pattern$CharProperty
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/regex/Pattern;
0 4 1 name Ljava/lang/String;
1 4 2 p Ljava/util/regex/Pattern$CharProperty;
MethodParameters:
Name Flags
name
private java.lang.String groupname(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 2
iload 1
invokestatic java.lang.Character.toChars:(I)[C
invokevirtual java.lang.StringBuilder.append:([C)Ljava/lang/StringBuilder;
pop
2: goto 4
3: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 2
iload 1
invokestatic java.lang.Character.toChars:(I)[C
invokevirtual java.lang.StringBuilder.append:([C)Ljava/lang/StringBuilder;
pop
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.read:()I
dup
istore 1
invokestatic java.util.regex.ASCII.isLower:(I)Z
ifne 3
iload 1
invokestatic java.util.regex.ASCII.isUpper:(I)Z
ifne 3
5: iload 1
invokestatic java.util.regex.ASCII.isDigit:(I)Z
ifne 3
6: aload 2
invokevirtual java.lang.StringBuilder.length:()I
ifne 8
7: aload 0
ldc "named capturing group has 0 length name"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
8: StackMap locals:
StackMap stack:
iload 1
bipush 62
if_icmpeq 10
9: aload 0
ldc "named capturing group is missing trailing '>'"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
10: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/util/regex/Pattern;
0 11 1 ch I
1 11 2 sb Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
ch
private java.util.regex.Pattern$Node group0();
descriptor: ()Ljava/util/regex/Pattern$Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=12, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aconst_null
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: aload 0
getfield java.util.regex.Pattern.flags:I
istore 4
start local 4 4: aload 0
aconst_null
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
5: aload 0
invokevirtual java.util.regex.Pattern.next:()I
istore 5
start local 5 6: iload 5
bipush 63
if_icmpne 84
7: aload 0
invokevirtual java.util.regex.Pattern.skip:()I
istore 5
8: iload 5
lookupswitch { // 7
33: 13
36: 72
58: 9
60: 26
61: 13
62: 21
64: 72
default: 73
}
9: StackMap locals: java.util.regex.Pattern int java.util.regex.Pattern$Node java.util.regex.Pattern$Node int int
StackMap stack:
aload 0
iconst_1
invokevirtual java.util.regex.Pattern.createGroup:(Z)Ljava/util/regex/Pattern$Node;
astore 2
10: aload 0
getfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
astore 3
11: aload 2
aload 0
aload 3
invokevirtual java.util.regex.Pattern.expr:(Ljava/util/regex/Pattern$Node;)Ljava/util/regex/Pattern$Node;
putfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
12: goto 88
13: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual java.util.regex.Pattern.createGroup:(Z)Ljava/util/regex/Pattern$Node;
astore 2
14: aload 0
getfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
astore 3
15: aload 2
aload 0
aload 3
invokevirtual java.util.regex.Pattern.expr:(Ljava/util/regex/Pattern$Node;)Ljava/util/regex/Pattern$Node;
putfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
16: iload 5
bipush 61
if_icmpne 19
17: new java.util.regex.Pattern$Pos
dup
aload 2
invokespecial java.util.regex.Pattern$Pos.<init>:(Ljava/util/regex/Pattern$Node;)V
dup
astore 3
astore 2
18: goto 88
19: StackMap locals:
StackMap stack:
new java.util.regex.Pattern$Neg
dup
aload 2
invokespecial java.util.regex.Pattern$Neg.<init>:(Ljava/util/regex/Pattern$Node;)V
dup
astore 3
astore 2
20: goto 88
21: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual java.util.regex.Pattern.createGroup:(Z)Ljava/util/regex/Pattern$Node;
astore 2
22: aload 0
getfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
astore 3
23: aload 2
aload 0
aload 3
invokevirtual java.util.regex.Pattern.expr:(Ljava/util/regex/Pattern$Node;)Ljava/util/regex/Pattern$Node;
putfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
24: new java.util.regex.Pattern$Ques
dup
aload 2
iconst_3
invokespecial java.util.regex.Pattern$Ques.<init>:(Ljava/util/regex/Pattern$Node;I)V
dup
astore 3
astore 2
25: goto 88
26: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.read:()I
istore 5
27: iload 5
invokestatic java.util.regex.ASCII.isLower:(I)Z
ifne 28
iload 5
invokestatic java.util.regex.ASCII.isUpper:(I)Z
ifeq 39
28: StackMap locals:
StackMap stack:
aload 0
iload 5
invokevirtual java.util.regex.Pattern.groupname:(I)Ljava/lang/String;
astore 6
start local 6 29: aload 0
invokevirtual java.util.regex.Pattern.namedGroups:()Ljava/util/Map;
aload 6
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 33
30: aload 0
new java.lang.StringBuilder
dup
ldc "Named capturing group <"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
31: ldc "> is already defined"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
32: invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
33: StackMap locals: java.lang.String
StackMap stack:
iconst_1
istore 1
34: aload 0
iconst_0
invokevirtual java.util.regex.Pattern.createGroup:(Z)Ljava/util/regex/Pattern$Node;
astore 2
35: aload 0
getfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
astore 3
36: aload 0
invokevirtual java.util.regex.Pattern.namedGroups:()Ljava/util/Map;
aload 6
aload 0
getfield java.util.regex.Pattern.capturingGroupCount:I
iconst_1
isub
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
37: aload 2
aload 0
aload 3
invokevirtual java.util.regex.Pattern.expr:(Ljava/util/regex/Pattern$Node;)Ljava/util/regex/Pattern$Node;
putfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
38: goto 88
end local 6 39: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern.cursor:I
istore 6
start local 6 40: aload 0
iconst_1
invokevirtual java.util.regex.Pattern.createGroup:(Z)Ljava/util/regex/Pattern$Node;
astore 2
41: aload 0
getfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
astore 3
42: aload 2
aload 0
aload 3
invokevirtual java.util.regex.Pattern.expr:(Ljava/util/regex/Pattern$Node;)Ljava/util/regex/Pattern$Node;
putfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
43: aload 3
getstatic java.util.regex.Pattern.lookbehindEnd:Ljava/util/regex/Pattern$Node;
putfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
44: new java.util.regex.Pattern$TreeInfo
dup
invokespecial java.util.regex.Pattern$TreeInfo.<init>:()V
astore 7
start local 7 45: aload 2
aload 7
invokevirtual java.util.regex.Pattern$Node.study:(Ljava/util/regex/Pattern$TreeInfo;)Z
pop
46: aload 7
getfield java.util.regex.Pattern$TreeInfo.maxValid:Z
ifne 48
47: aload 0
ldc "Look-behind group does not have an obvious maximum length"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
48: StackMap locals: int java.util.regex.Pattern$TreeInfo
StackMap stack:
aload 0
iload 6
aload 0
getfield java.util.regex.Pattern.patternLength:I
invokevirtual java.util.regex.Pattern.findSupplementary:(II)Z
istore 8
start local 8 49: iload 5
bipush 61
if_icmpne 60
50: iload 8
ifeq 55
51: new java.util.regex.Pattern$BehindS
dup
aload 2
aload 7
getfield java.util.regex.Pattern$TreeInfo.maxLength:I
52: aload 7
getfield java.util.regex.Pattern$TreeInfo.minLength:I
53: invokespecial java.util.regex.Pattern$BehindS.<init>:(Ljava/util/regex/Pattern$Node;II)V
54: goto 58
55: StackMap locals: int
StackMap stack:
new java.util.regex.Pattern$Behind
dup
aload 2
aload 7
getfield java.util.regex.Pattern$TreeInfo.maxLength:I
56: aload 7
getfield java.util.regex.Pattern$TreeInfo.minLength:I
57: invokespecial java.util.regex.Pattern$Behind.<init>:(Ljava/util/regex/Pattern$Node;II)V
58: StackMap locals:
StackMap stack: java.util.regex.Pattern$Behind
dup
astore 3
astore 2
59: goto 88
StackMap locals:
StackMap stack:
60: iload 5
bipush 33
if_icmpne 71
61: iload 8
ifeq 66
62: new java.util.regex.Pattern$NotBehindS
dup
aload 2
aload 7
getfield java.util.regex.Pattern$TreeInfo.maxLength:I
63: aload 7
getfield java.util.regex.Pattern$TreeInfo.minLength:I
64: invokespecial java.util.regex.Pattern$NotBehindS.<init>:(Ljava/util/regex/Pattern$Node;II)V
65: goto 69
66: StackMap locals:
StackMap stack:
new java.util.regex.Pattern$NotBehind
dup
aload 2
aload 7
getfield java.util.regex.Pattern$TreeInfo.maxLength:I
67: aload 7
getfield java.util.regex.Pattern$TreeInfo.minLength:I
68: invokespecial java.util.regex.Pattern$NotBehind.<init>:(Ljava/util/regex/Pattern$Node;II)V
69: StackMap locals:
StackMap stack: java.util.regex.Pattern$NotBehind
dup
astore 3
astore 2
70: goto 88
71: StackMap locals:
StackMap stack:
aload 0
ldc "Unknown look-behind group"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
end local 8 end local 7 end local 6 72: StackMap locals:
StackMap stack:
aload 0
ldc "Unknown group type"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
73: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.unread:()V
74: aload 0
invokevirtual java.util.regex.Pattern.addFlag:()V
75: aload 0
invokevirtual java.util.regex.Pattern.read:()I
istore 5
76: iload 5
bipush 41
if_icmpne 78
77: aconst_null
areturn
78: StackMap locals:
StackMap stack:
iload 5
bipush 58
if_icmpeq 80
79: aload 0
ldc "Unknown inline modifier"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
80: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual java.util.regex.Pattern.createGroup:(Z)Ljava/util/regex/Pattern$Node;
astore 2
81: aload 0
getfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
astore 3
82: aload 2
aload 0
aload 3
invokevirtual java.util.regex.Pattern.expr:(Ljava/util/regex/Pattern$Node;)Ljava/util/regex/Pattern$Node;
putfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
83: goto 88
84: StackMap locals:
StackMap stack:
iconst_1
istore 1
85: aload 0
iconst_0
invokevirtual java.util.regex.Pattern.createGroup:(Z)Ljava/util/regex/Pattern$Node;
astore 2
86: aload 0
getfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
astore 3
87: aload 2
aload 0
aload 3
invokevirtual java.util.regex.Pattern.expr:(Ljava/util/regex/Pattern$Node;)Ljava/util/regex/Pattern$Node;
putfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
88: StackMap locals:
StackMap stack:
aload 0
bipush 41
ldc "Unclosed group"
invokevirtual java.util.regex.Pattern.accept:(ILjava/lang/String;)V
89: aload 0
iload 4
putfield java.util.regex.Pattern.flags:I
90: aload 0
aload 2
invokevirtual java.util.regex.Pattern.closure:(Ljava/util/regex/Pattern$Node;)Ljava/util/regex/Pattern$Node;
astore 6
start local 6 91: aload 6
aload 2
if_acmpne 94
92: aload 0
aload 3
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
93: aload 6
areturn
94: StackMap locals: java.util.regex.Pattern$Node
StackMap stack:
aload 2
aload 3
if_acmpne 97
95: aload 0
aload 6
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
96: aload 6
areturn
97: StackMap locals:
StackMap stack:
aload 6
instanceof java.util.regex.Pattern$Ques
ifeq 110
98: aload 6
checkcast java.util.regex.Pattern$Ques
astore 7
start local 7 99: aload 7
getfield java.util.regex.Pattern$Ques.type:I
iconst_2
if_icmpne 102
100: aload 0
aload 6
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
101: aload 6
areturn
102: StackMap locals: java.util.regex.Pattern$Ques
StackMap stack:
aload 3
new java.util.regex.Pattern$BranchConn
dup
invokespecial java.util.regex.Pattern$BranchConn.<init>:()V
putfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
103: aload 3
getfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
astore 3
104: aload 7
getfield java.util.regex.Pattern$Ques.type:I
ifne 107
105: new java.util.regex.Pattern$Branch
dup
aload 2
aconst_null
aload 3
invokespecial java.util.regex.Pattern$Branch.<init>:(Ljava/util/regex/Pattern$Node;Ljava/util/regex/Pattern$Node;Ljava/util/regex/Pattern$Node;)V
astore 2
106: goto 108
107: StackMap locals:
StackMap stack:
new java.util.regex.Pattern$Branch
dup
aconst_null
aload 2
aload 3
invokespecial java.util.regex.Pattern$Branch.<init>:(Ljava/util/regex/Pattern$Node;Ljava/util/regex/Pattern$Node;Ljava/util/regex/Pattern$Node;)V
astore 2
108: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
109: aload 2
areturn
end local 7 110: StackMap locals:
StackMap stack:
aload 6
instanceof java.util.regex.Pattern$Curly
ifeq 138
111: aload 6
checkcast java.util.regex.Pattern$Curly
astore 7
start local 7 112: aload 7
getfield java.util.regex.Pattern$Curly.type:I
iconst_2
if_icmpne 115
113: aload 0
aload 6
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
114: aload 6
areturn
115: StackMap locals: java.util.regex.Pattern$Curly
StackMap stack:
new java.util.regex.Pattern$TreeInfo
dup
invokespecial java.util.regex.Pattern$TreeInfo.<init>:()V
astore 8
start local 8 116: aload 2
aload 8
invokevirtual java.util.regex.Pattern$Node.study:(Ljava/util/regex/Pattern$TreeInfo;)Z
ifeq 125
117: aload 3
checkcast java.util.regex.Pattern$GroupTail
pop
118: aload 0
new java.util.regex.Pattern$GroupCurly
dup
aload 2
getfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
aload 7
getfield java.util.regex.Pattern$Curly.cmin:I
119: aload 7
getfield java.util.regex.Pattern$Curly.cmax:I
aload 7
getfield java.util.regex.Pattern$Curly.type:I
120: aload 3
checkcast java.util.regex.Pattern$GroupTail
getfield java.util.regex.Pattern$GroupTail.localIndex:I
121: aload 3
checkcast java.util.regex.Pattern$GroupTail
getfield java.util.regex.Pattern$GroupTail.groupIndex:I
122: iload 1
invokespecial java.util.regex.Pattern$GroupCurly.<init>:(Ljava/util/regex/Pattern$Node;IIIIIZ)V
123: dup_x1
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
astore 2
124: aload 2
areturn
125: StackMap locals: java.util.regex.Pattern$TreeInfo
StackMap stack:
aload 2
checkcast java.util.regex.Pattern$GroupHead
getfield java.util.regex.Pattern$GroupHead.localIndex:I
istore 9
start local 9 126: aload 7
getfield java.util.regex.Pattern$Curly.type:I
ifne 129
127: new java.util.regex.Pattern$Loop
dup
aload 0
getfield java.util.regex.Pattern.localCount:I
iload 9
invokespecial java.util.regex.Pattern$Loop.<init>:(II)V
astore 10
start local 10 128: goto 130
end local 10 129: StackMap locals: int
StackMap stack:
new java.util.regex.Pattern$LazyLoop
dup
aload 0
getfield java.util.regex.Pattern.localCount:I
iload 9
invokespecial java.util.regex.Pattern$LazyLoop.<init>:(II)V
astore 10
start local 10 130: StackMap locals: java.util.regex.Pattern$Loop
StackMap stack:
new java.util.regex.Pattern$Prolog
dup
aload 10
invokespecial java.util.regex.Pattern$Prolog.<init>:(Ljava/util/regex/Pattern$Loop;)V
astore 11
start local 11 131: aload 0
dup
getfield java.util.regex.Pattern.localCount:I
iconst_1
iadd
putfield java.util.regex.Pattern.localCount:I
132: aload 10
aload 7
getfield java.util.regex.Pattern$Curly.cmin:I
putfield java.util.regex.Pattern$Loop.cmin:I
133: aload 10
aload 7
getfield java.util.regex.Pattern$Curly.cmax:I
putfield java.util.regex.Pattern$Loop.cmax:I
134: aload 10
aload 2
putfield java.util.regex.Pattern$Loop.body:Ljava/util/regex/Pattern$Node;
135: aload 3
aload 10
putfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
136: aload 0
aload 10
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
137: aload 11
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 138: StackMap locals: java.util.regex.Pattern int java.util.regex.Pattern$Node java.util.regex.Pattern$Node int int java.util.regex.Pattern$Node
StackMap stack:
aload 0
ldc "Internal logic error"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
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 139 0 this Ljava/util/regex/Pattern;
1 139 1 capturingGroup Z
2 139 2 head Ljava/util/regex/Pattern$Node;
3 139 3 tail Ljava/util/regex/Pattern$Node;
4 139 4 save I
6 139 5 ch I
29 39 6 name Ljava/lang/String;
40 72 6 start I
45 72 7 info Ljava/util/regex/Pattern$TreeInfo;
49 72 8 hasSupplementary Z
91 139 6 node Ljava/util/regex/Pattern$Node;
99 110 7 ques Ljava/util/regex/Pattern$Ques;
112 138 7 curly Ljava/util/regex/Pattern$Curly;
116 138 8 info Ljava/util/regex/Pattern$TreeInfo;
126 138 9 temp I
128 129 10 loop Ljava/util/regex/Pattern$Loop;
130 138 10 loop Ljava/util/regex/Pattern$Loop;
131 138 11 prolog Ljava/util/regex/Pattern$Prolog;
private java.util.regex.Pattern$Node createGroup(boolean);
descriptor: (Z)Ljava/util/regex/Pattern$Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield java.util.regex.Pattern.localCount:I
dup_x1
iconst_1
iadd
putfield java.util.regex.Pattern.localCount:I
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: iload 1
ifne 4
3: aload 0
dup
getfield java.util.regex.Pattern.capturingGroupCount:I
dup_x1
iconst_1
iadd
putfield java.util.regex.Pattern.capturingGroupCount:I
istore 3
4: StackMap locals: int int
StackMap stack:
new java.util.regex.Pattern$GroupHead
dup
iload 2
invokespecial java.util.regex.Pattern$GroupHead.<init>:(I)V
astore 4
start local 4 5: aload 0
new java.util.regex.Pattern$GroupTail
dup
iload 2
iload 3
invokespecial java.util.regex.Pattern$GroupTail.<init>:(II)V
putfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
6: iload 1
ifne 8
iload 3
bipush 10
if_icmpge 8
7: aload 0
getfield java.util.regex.Pattern.groupNodes:[Ljava/util/regex/Pattern$GroupHead;
iload 3
aload 4
aastore
8: StackMap locals: java.util.regex.Pattern$GroupHead
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/util/regex/Pattern;
0 9 1 anonymous Z
1 9 2 localIndex I
2 9 3 groupIndex I
5 9 4 head Ljava/util/regex/Pattern$GroupHead;
MethodParameters:
Name Flags
anonymous
private void addFlag();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.util.regex.Pattern.peek:()I
istore 1
start local 1 1: StackMap locals: int
StackMap stack:
iload 1
lookupswitch { // 9
45: 18
85: 16
99: 12
100: 8
105: 2
109: 4
115: 6
117: 10
120: 14
default: 20
}
2: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.util.regex.Pattern.flags:I
iconst_2
ior
putfield java.util.regex.Pattern.flags:I
3: goto 21
4: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.util.regex.Pattern.flags:I
bipush 8
ior
putfield java.util.regex.Pattern.flags:I
5: goto 21
6: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.util.regex.Pattern.flags:I
bipush 32
ior
putfield java.util.regex.Pattern.flags:I
7: goto 21
8: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.util.regex.Pattern.flags:I
iconst_1
ior
putfield java.util.regex.Pattern.flags:I
9: goto 21
10: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.util.regex.Pattern.flags:I
bipush 64
ior
putfield java.util.regex.Pattern.flags:I
11: goto 21
12: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.util.regex.Pattern.flags:I
sipush 128
ior
putfield java.util.regex.Pattern.flags:I
13: goto 21
14: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.util.regex.Pattern.flags:I
iconst_4
ior
putfield java.util.regex.Pattern.flags:I
15: goto 21
16: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.util.regex.Pattern.flags:I
sipush 320
ior
putfield java.util.regex.Pattern.flags:I
17: goto 21
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.next:()I
istore 1
19: aload 0
invokevirtual java.util.regex.Pattern.subFlag:()V
20: StackMap locals:
StackMap stack:
return
21: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.next:()I
istore 1
22: goto 1
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljava/util/regex/Pattern;
1 23 1 ch I
private void subFlag();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.util.regex.Pattern.peek:()I
istore 1
start local 1 1: StackMap locals: int
StackMap stack:
iload 1
lookupswitch { // 8
85: 16
99: 12
100: 8
105: 2
109: 4
115: 6
117: 10
120: 14
default: 17
}
2: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.util.regex.Pattern.flags:I
bipush -3
iand
putfield java.util.regex.Pattern.flags:I
3: goto 18
4: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.util.regex.Pattern.flags:I
bipush -9
iand
putfield java.util.regex.Pattern.flags:I
5: goto 18
6: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.util.regex.Pattern.flags:I
bipush -33
iand
putfield java.util.regex.Pattern.flags:I
7: goto 18
8: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.util.regex.Pattern.flags:I
bipush -2
iand
putfield java.util.regex.Pattern.flags:I
9: goto 18
10: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.util.regex.Pattern.flags:I
bipush -65
iand
putfield java.util.regex.Pattern.flags:I
11: goto 18
12: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.util.regex.Pattern.flags:I
sipush -129
iand
putfield java.util.regex.Pattern.flags:I
13: goto 18
14: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.util.regex.Pattern.flags:I
bipush -5
iand
putfield java.util.regex.Pattern.flags:I
15: goto 18
16: StackMap locals:
StackMap stack:
aload 0
dup
getfield java.util.regex.Pattern.flags:I
sipush -321
iand
putfield java.util.regex.Pattern.flags:I
17: StackMap locals:
StackMap stack:
return
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.next:()I
istore 1
19: goto 1
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/util/regex/Pattern;
1 20 1 ch I
private java.util.regex.Pattern$Node closure(java.util.regex.Pattern$Node);
descriptor: (Ljava/util/regex/Pattern$Node;)Ljava/util/regex/Pattern$Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.util.regex.Pattern.peek:()I
istore 2
start local 2 1: iload 2
lookupswitch { // 4
42: 10
43: 18
63: 2
123: 26
default: 58
}
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.next:()I
istore 2
3: iload 2
bipush 63
if_icmpne 6
4: aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
5: new java.util.regex.Pattern$Ques
dup
aload 1
iconst_1
invokespecial java.util.regex.Pattern$Ques.<init>:(Ljava/util/regex/Pattern$Node;I)V
areturn
6: StackMap locals:
StackMap stack:
iload 2
bipush 43
if_icmpne 9
7: aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
8: new java.util.regex.Pattern$Ques
dup
aload 1
iconst_2
invokespecial java.util.regex.Pattern$Ques.<init>:(Ljava/util/regex/Pattern$Node;I)V
areturn
9: StackMap locals:
StackMap stack:
new java.util.regex.Pattern$Ques
dup
aload 1
iconst_0
invokespecial java.util.regex.Pattern$Ques.<init>:(Ljava/util/regex/Pattern$Node;I)V
areturn
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.next:()I
istore 2
11: iload 2
bipush 63
if_icmpne 14
12: aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
13: new java.util.regex.Pattern$Curly
dup
aload 1
iconst_0
ldc 2147483647
iconst_1
invokespecial java.util.regex.Pattern$Curly.<init>:(Ljava/util/regex/Pattern$Node;III)V
areturn
14: StackMap locals:
StackMap stack:
iload 2
bipush 43
if_icmpne 17
15: aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
16: new java.util.regex.Pattern$Curly
dup
aload 1
iconst_0
ldc 2147483647
iconst_2
invokespecial java.util.regex.Pattern$Curly.<init>:(Ljava/util/regex/Pattern$Node;III)V
areturn
17: StackMap locals:
StackMap stack:
new java.util.regex.Pattern$Curly
dup
aload 1
iconst_0
ldc 2147483647
iconst_0
invokespecial java.util.regex.Pattern$Curly.<init>:(Ljava/util/regex/Pattern$Node;III)V
areturn
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.next:()I
istore 2
19: iload 2
bipush 63
if_icmpne 22
20: aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
21: new java.util.regex.Pattern$Curly
dup
aload 1
iconst_1
ldc 2147483647
iconst_1
invokespecial java.util.regex.Pattern$Curly.<init>:(Ljava/util/regex/Pattern$Node;III)V
areturn
22: StackMap locals:
StackMap stack:
iload 2
bipush 43
if_icmpne 25
23: aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
24: new java.util.regex.Pattern$Curly
dup
aload 1
iconst_1
ldc 2147483647
iconst_2
invokespecial java.util.regex.Pattern$Curly.<init>:(Ljava/util/regex/Pattern$Node;III)V
areturn
25: StackMap locals:
StackMap stack:
new java.util.regex.Pattern$Curly
dup
aload 1
iconst_1
ldc 2147483647
iconst_0
invokespecial java.util.regex.Pattern$Curly.<init>:(Ljava/util/regex/Pattern$Node;III)V
areturn
26: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern.temp:[I
aload 0
getfield java.util.regex.Pattern.cursor:I
iconst_1
iadd
iaload
istore 2
27: iload 2
invokestatic java.util.regex.ASCII.isDigit:(I)Z
ifeq 57
28: aload 0
invokevirtual java.util.regex.Pattern.skip:()I
pop
29: iconst_0
istore 3
start local 3 30: StackMap locals: int
StackMap stack:
iload 3
bipush 10
imul
iload 2
bipush 48
isub
iadd
istore 3
31: aload 0
invokevirtual java.util.regex.Pattern.read:()I
dup
istore 2
invokestatic java.util.regex.ASCII.isDigit:(I)Z
ifne 30
32: iload 3
istore 4
start local 4 33: iload 2
bipush 44
if_icmpne 42
34: aload 0
invokevirtual java.util.regex.Pattern.read:()I
istore 2
35: ldc 2147483647
istore 4
36: iload 2
bipush 125
if_icmpeq 42
37: iconst_0
istore 4
38: goto 41
39: StackMap locals: int
StackMap stack:
iload 4
bipush 10
imul
iload 2
bipush 48
isub
iadd
istore 4
40: aload 0
invokevirtual java.util.regex.Pattern.read:()I
istore 2
41: StackMap locals:
StackMap stack:
iload 2
invokestatic java.util.regex.ASCII.isDigit:(I)Z
ifne 39
42: StackMap locals:
StackMap stack:
iload 2
bipush 125
if_icmpeq 44
43: aload 0
ldc "Unclosed counted closure"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
44: StackMap locals:
StackMap stack:
iload 3
iload 4
ior
iload 4
iload 3
isub
ior
ifge 46
45: aload 0
ldc "Illegal repetition range"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
46: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.peek:()I
istore 2
47: iload 2
bipush 63
if_icmpne 51
48: aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
49: new java.util.regex.Pattern$Curly
dup
aload 1
iload 3
iload 4
iconst_1
invokespecial java.util.regex.Pattern$Curly.<init>:(Ljava/util/regex/Pattern$Node;III)V
astore 5
start local 5 50: goto 56
end local 5 StackMap locals:
StackMap stack:
51: iload 2
bipush 43
if_icmpne 55
52: aload 0
invokevirtual java.util.regex.Pattern.next:()I
pop
53: new java.util.regex.Pattern$Curly
dup
aload 1
iload 3
iload 4
iconst_2
invokespecial java.util.regex.Pattern$Curly.<init>:(Ljava/util/regex/Pattern$Node;III)V
astore 5
start local 5 54: goto 56
end local 5 55: StackMap locals:
StackMap stack:
new java.util.regex.Pattern$Curly
dup
aload 1
iload 3
iload 4
iconst_0
invokespecial java.util.regex.Pattern$Curly.<init>:(Ljava/util/regex/Pattern$Node;III)V
astore 5
start local 5 56: StackMap locals: java.util.regex.Pattern$Curly
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 57: StackMap locals:
StackMap stack:
aload 0
ldc "Illegal repetition"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
58: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 59 0 this Ljava/util/regex/Pattern;
0 59 1 prev Ljava/util/regex/Pattern$Node;
1 59 2 ch I
30 57 3 cmin I
33 57 4 cmax I
50 51 5 curly Ljava/util/regex/Pattern$Curly;
54 55 5 curly Ljava/util/regex/Pattern$Curly;
56 57 5 curly Ljava/util/regex/Pattern$Curly;
MethodParameters:
Name Flags
prev
private int c();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.regex.Pattern.cursor:I
aload 0
getfield java.util.regex.Pattern.patternLength:I
if_icmpge 2
1: aload 0
invokevirtual java.util.regex.Pattern.read:()I
bipush 64
ixor
ireturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "Illegal control escape sequence"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/regex/Pattern;
private int o();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.util.regex.Pattern.read:()I
istore 1
start local 1 1: iload 1
bipush 48
isub
bipush 55
iload 1
isub
ior
iflt 11
2: aload 0
invokevirtual java.util.regex.Pattern.read:()I
istore 2
start local 2 3: iload 2
bipush 48
isub
bipush 55
iload 2
isub
ior
iflt 9
4: aload 0
invokevirtual java.util.regex.Pattern.read:()I
istore 3
start local 3 5: iload 3
bipush 48
isub
bipush 55
iload 3
isub
ior
iflt 7
iload 1
bipush 48
isub
bipush 51
iload 1
isub
ior
iflt 7
6: iload 1
bipush 48
isub
bipush 64
imul
iload 2
bipush 48
isub
bipush 8
imul
iadd
iload 3
bipush 48
isub
iadd
ireturn
7: StackMap locals: int int int
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.unread:()V
8: iload 1
bipush 48
isub
bipush 8
imul
iload 2
bipush 48
isub
iadd
ireturn
end local 3 9: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.unread:()V
10: iload 1
bipush 48
isub
ireturn
end local 2 11: StackMap locals:
StackMap stack:
aload 0
ldc "Illegal octal escape sequence"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/regex/Pattern;
1 12 1 n I
3 11 2 m I
5 9 3 o I
private int x();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.util.regex.Pattern.read:()I
istore 1
start local 1 1: iload 1
invokestatic java.util.regex.ASCII.isHexDigit:(I)Z
ifeq 5
2: aload 0
invokevirtual java.util.regex.Pattern.read:()I
istore 2
start local 2 3: iload 2
invokestatic java.util.regex.ASCII.isHexDigit:(I)Z
ifeq 15
4: iload 1
invokestatic java.util.regex.ASCII.toDigit:(I)I
bipush 16
imul
iload 2
invokestatic java.util.regex.ASCII.toDigit:(I)I
iadd
ireturn
end local 2 5: StackMap locals: int
StackMap stack:
iload 1
bipush 123
if_icmpne 15
aload 0
invokevirtual java.util.regex.Pattern.peek:()I
invokestatic java.util.regex.ASCII.isHexDigit:(I)Z
ifeq 15
6: iconst_0
istore 2
start local 2 7: goto 11
8: StackMap locals: int
StackMap stack:
iload 2
iconst_4
ishl
iload 1
invokestatic java.util.regex.ASCII.toDigit:(I)I
iadd
istore 2
9: iload 2
ldc 1114111
if_icmple 11
10: aload 0
ldc "Hexadecimal codepoint is too big"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.read:()I
dup
istore 1
invokestatic java.util.regex.ASCII.isHexDigit:(I)Z
ifne 8
12: iload 1
bipush 125
if_icmpeq 14
13: aload 0
ldc "Unclosed hexadecimal escape sequence"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
14: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 15: StackMap locals:
StackMap stack:
aload 0
ldc "Illegal hexadecimal escape sequence"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/util/regex/Pattern;
1 16 1 n I
3 5 2 m I
7 15 2 ch I
private int cursor();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.regex.Pattern.cursor:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/regex/Pattern;
private void setcursor(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield java.util.regex.Pattern.cursor:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/regex/Pattern;
0 2 1 pos I
MethodParameters:
Name Flags
pos
private int uxxxx();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 8
3: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual java.util.regex.Pattern.read:()I
istore 3
start local 3 4: iload 3
invokestatic java.util.regex.ASCII.isHexDigit:(I)Z
ifne 6
5: aload 0
ldc "Illegal Unicode escape sequence"
invokevirtual java.util.regex.Pattern.error:(Ljava/lang/String;)Ljava/util/regex/PatternSyntaxException;
athrow
6: StackMap locals: int
StackMap stack:
iload 1
bipush 16
imul
iload 3
invokestatic java.util.regex.ASCII.toDigit:(I)I
iadd
istore 1
end local 3 7: iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
iconst_4
if_icmplt 3
end local 2 9: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/regex/Pattern;
1 10 1 n I
2 9 2 i I
4 7 3 ch I
private int u();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.util.regex.Pattern.uxxxx:()I
istore 1
start local 1 1: iload 1
i2c
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 8
2: aload 0
invokevirtual java.util.regex.Pattern.cursor:()I
istore 2
start local 2 3: aload 0
invokevirtual java.util.regex.Pattern.read:()I
bipush 92
if_icmpne 7
aload 0
invokevirtual java.util.regex.Pattern.read:()I
bipush 117
if_icmpne 7
4: aload 0
invokevirtual java.util.regex.Pattern.uxxxx:()I
istore 3
start local 3 5: iload 3
i2c
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 7
6: iload 1
i2c
iload 3
i2c
invokestatic java.lang.Character.toCodePoint:(CC)I
ireturn
end local 3 7: StackMap locals: int int
StackMap stack:
aload 0
iload 2
invokevirtual java.util.regex.Pattern.setcursor:(I)V
end local 2 8: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/util/regex/Pattern;
1 9 1 n I
3 8 2 cur I
5 7 3 n2 I
private static final int countChars(java.lang.CharSequence, int, int);
descriptor: (Ljava/lang/CharSequence;II)I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iconst_1
if_icmpne 4
aload 0
iload 1
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifne 4
1: getstatic java.util.regex.Pattern.$assertionsDisabled:Z
ifne 3
iload 1
iflt 2
iload 1
aload 0
invokeinterface java.lang.CharSequence.length:()I
if_icmplt 3
StackMap locals:
StackMap stack:
2: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.lang.CharSequence.length:()I
istore 3
start local 3 5: iload 1
istore 4
start local 4 6: iload 2
iflt 17
7: getstatic java.util.regex.Pattern.$assertionsDisabled:Z
ifne 9
iload 1
iflt 8
iload 1
iload 3
if_icmplt 9
StackMap locals: int int
StackMap stack:
8: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 10: goto 15
11: StackMap locals: int
StackMap stack:
aload 0
iload 4
iinc 4 1
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 14
12: iload 4
iload 3
if_icmpge 14
aload 0
iload 4
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 14
13: iinc 4 1
14: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
15: iload 4
iload 3
if_icmpge 16
iload 5
iload 2
if_icmplt 11
end local 5 16: StackMap locals:
StackMap stack:
iload 4
iload 1
isub
ireturn
17: StackMap locals:
StackMap stack:
getstatic java.util.regex.Pattern.$assertionsDisabled:Z
ifne 19
iload 1
iflt 18
iload 1
iload 3
if_icmple 19
StackMap locals:
StackMap stack:
18: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals:
StackMap stack:
iload 1
ifne 21
20: iconst_0
ireturn
21: StackMap locals:
StackMap stack:
iload 2
ineg
istore 5
start local 5 22: iconst_0
istore 6
start local 6 23: goto 28
24: StackMap locals: int int
StackMap stack:
aload 0
iinc 4 -1
iload 4
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 27
25: iload 4
ifle 27
aload 0
iload 4
iconst_1
isub
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 27
26: iinc 4 -1
27: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
28: iload 4
ifle 29
iload 6
iload 5
if_icmplt 24
end local 6 29: StackMap locals:
StackMap stack:
iload 1
iload 4
isub
ireturn
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 30 0 seq Ljava/lang/CharSequence;
0 30 1 index I
0 30 2 lengthInCodePoints I
5 30 3 length I
6 30 4 x I
10 16 5 i I
22 30 5 len I
23 29 6 i I
MethodParameters:
Name Flags
seq
index
lengthInCodePoints
private static final int countCodePoints(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokeinterface java.lang.CharSequence.length:()I
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 8
4: StackMap locals: int int int
StackMap stack:
iinc 2 1
5: aload 0
iload 3
iinc 3 1
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 8
6: iload 3
iload 1
if_icmpge 8
aload 0
iload 3
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 8
7: iinc 3 1
8: StackMap locals:
StackMap stack:
iload 3
iload 1
if_icmplt 4
end local 3 9: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 seq Ljava/lang/CharSequence;
1 10 1 length I
2 10 2 n I
3 9 3 i I
MethodParameters:
Name Flags
seq
private java.util.regex.Pattern$CharProperty newSingle(int);
descriptor: (I)Ljava/util/regex/Pattern$CharProperty;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
iconst_2
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 11
1: aload 0
bipush 64
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 6
2: iload 1
invokestatic java.lang.Character.toUpperCase:(I)I
istore 3
start local 3 3: iload 3
invokestatic java.lang.Character.toLowerCase:(I)I
istore 2
start local 2 4: iload 3
iload 2
if_icmpeq 11
5: new java.util.regex.Pattern$SingleU
dup
iload 2
invokespecial java.util.regex.Pattern$SingleU.<init>:(I)V
areturn
end local 3 end local 2 6: StackMap locals:
StackMap stack:
iload 1
invokestatic java.util.regex.ASCII.isAscii:(I)Z
ifeq 11
7: iload 1
invokestatic java.util.regex.ASCII.toLower:(I)I
istore 2
start local 2 8: iload 1
invokestatic java.util.regex.ASCII.toUpper:(I)I
istore 3
start local 3 9: iload 2
iload 3
if_icmpeq 11
10: new java.util.regex.Pattern$SingleI
dup
iload 2
iload 3
invokespecial java.util.regex.Pattern$SingleI.<init>:(II)V
areturn
end local 3 end local 2 11: StackMap locals:
StackMap stack:
iload 1
invokestatic java.util.regex.Pattern.isSupplementary:(I)Z
ifeq 13
12: new java.util.regex.Pattern$SingleS
dup
iload 1
invokespecial java.util.regex.Pattern$SingleS.<init>:(I)V
areturn
13: StackMap locals:
StackMap stack:
new java.util.regex.Pattern$Single
dup
iload 1
invokespecial java.util.regex.Pattern$Single.<init>:(I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/util/regex/Pattern;
0 14 1 ch I
4 6 2 lower I
8 11 2 lower I
3 6 3 upper I
9 11 3 upper I
MethodParameters:
Name Flags
ch final
private java.util.regex.Pattern$Node newSlice(int[], int, boolean);
descriptor: ([IIZ)Ljava/util/regex/Pattern$Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
newarray 10
astore 4
start local 4 1: aload 0
iconst_2
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 21
2: aload 0
bipush 64
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 13
3: iconst_0
istore 5
start local 5 4: goto 9
5: StackMap locals: int[] int
StackMap stack:
aload 4
iload 5
6: aload 1
iload 5
iaload
invokestatic java.lang.Character.toUpperCase:(I)I
7: invokestatic java.lang.Character.toLowerCase:(I)I
iastore
8: iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
iload 2
if_icmplt 5
end local 5 10: iload 3
ifeq 11
new java.util.regex.Pattern$SliceUS
dup
aload 4
invokespecial java.util.regex.Pattern$SliceUS.<init>:([I)V
goto 12
StackMap locals:
StackMap stack:
11: new java.util.regex.Pattern$SliceU
dup
aload 4
invokespecial java.util.regex.Pattern$SliceU.<init>:([I)V
StackMap locals:
StackMap stack: java.util.regex.Pattern$SliceNode
12: areturn
13: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 14: goto 17
15: StackMap locals: int
StackMap stack:
aload 4
iload 5
aload 1
iload 5
iaload
invokestatic java.util.regex.ASCII.toLower:(I)I
iastore
16: iinc 5 1
StackMap locals:
StackMap stack:
17: iload 5
iload 2
if_icmplt 15
end local 5 18: iload 3
ifeq 19
new java.util.regex.Pattern$SliceIS
dup
aload 4
invokespecial java.util.regex.Pattern$SliceIS.<init>:([I)V
goto 20
StackMap locals:
StackMap stack:
19: new java.util.regex.Pattern$SliceI
dup
aload 4
invokespecial java.util.regex.Pattern$SliceI.<init>:([I)V
StackMap locals:
StackMap stack: java.util.regex.Pattern$SliceNode
20: areturn
21: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 22: goto 25
23: StackMap locals: int
StackMap stack:
aload 4
iload 5
aload 1
iload 5
iaload
iastore
24: iinc 5 1
StackMap locals:
StackMap stack:
25: iload 5
iload 2
if_icmplt 23
end local 5 26: iload 3
ifeq 27
new java.util.regex.Pattern$SliceS
dup
aload 4
invokespecial java.util.regex.Pattern$SliceS.<init>:([I)V
goto 28
StackMap locals:
StackMap stack:
27: new java.util.regex.Pattern$Slice
dup
aload 4
invokespecial java.util.regex.Pattern$Slice.<init>:([I)V
StackMap locals:
StackMap stack: java.util.regex.Pattern$SliceNode
28: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Ljava/util/regex/Pattern;
0 29 1 buf [I
0 29 2 count I
0 29 3 hasSupplementary Z
1 29 4 tmp [I
4 10 5 i I
14 18 5 i I
22 26 5 i I
MethodParameters:
Name Flags
buf
count
hasSupplementary
private static boolean inRange(int, int, int);
descriptor: (III)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 0
iload 1
if_icmpgt 1
iload 1
iload 2
if_icmpgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 lower I
0 2 1 ch I
0 2 2 upper I
MethodParameters:
Name Flags
lower
ch
upper
private static java.util.regex.Pattern$CharProperty rangeFor(int, int);
descriptor: (II)Ljava/util/regex/Pattern$CharProperty;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.util.regex.Pattern$2
dup
iload 0
iload 1
invokespecial java.util.regex.Pattern$2.<init>:(II)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 lower I
0 1 1 upper I
MethodParameters:
Name Flags
lower final
upper final
private java.util.regex.Pattern$CharProperty caseInsensitiveRangeFor(int, int);
descriptor: (II)Ljava/util/regex/Pattern$CharProperty;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
bipush 64
invokevirtual java.util.regex.Pattern.has:(I)Z
ifeq 2
1: new java.util.regex.Pattern$3
dup
aload 0
iload 1
iload 2
invokespecial java.util.regex.Pattern$3.<init>:(Ljava/util/regex/Pattern;II)V
areturn
2: StackMap locals:
StackMap stack:
new java.util.regex.Pattern$4
dup
aload 0
iload 1
iload 2
invokespecial java.util.regex.Pattern$4.<init>:(Ljava/util/regex/Pattern;II)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/regex/Pattern;
0 3 1 lower I
0 3 2 upper I
MethodParameters:
Name Flags
lower final
upper final
private static java.util.regex.Pattern$CharProperty union(java.util.regex.Pattern$CharProperty, java.util.regex.Pattern$CharProperty);
descriptor: (Ljava/util/regex/Pattern$CharProperty;Ljava/util/regex/Pattern$CharProperty;)Ljava/util/regex/Pattern$CharProperty;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.util.regex.Pattern$5
dup
aload 0
aload 1
invokespecial java.util.regex.Pattern$5.<init>:(Ljava/util/regex/Pattern$CharProperty;Ljava/util/regex/Pattern$CharProperty;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 lhs Ljava/util/regex/Pattern$CharProperty;
0 1 1 rhs Ljava/util/regex/Pattern$CharProperty;
MethodParameters:
Name Flags
lhs final
rhs final
private static java.util.regex.Pattern$CharProperty intersection(java.util.regex.Pattern$CharProperty, java.util.regex.Pattern$CharProperty);
descriptor: (Ljava/util/regex/Pattern$CharProperty;Ljava/util/regex/Pattern$CharProperty;)Ljava/util/regex/Pattern$CharProperty;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.util.regex.Pattern$6
dup
aload 0
aload 1
invokespecial java.util.regex.Pattern$6.<init>:(Ljava/util/regex/Pattern$CharProperty;Ljava/util/regex/Pattern$CharProperty;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 lhs Ljava/util/regex/Pattern$CharProperty;
0 1 1 rhs Ljava/util/regex/Pattern$CharProperty;
MethodParameters:
Name Flags
lhs final
rhs final
private static java.util.regex.Pattern$CharProperty setDifference(java.util.regex.Pattern$CharProperty, java.util.regex.Pattern$CharProperty);
descriptor: (Ljava/util/regex/Pattern$CharProperty;Ljava/util/regex/Pattern$CharProperty;)Ljava/util/regex/Pattern$CharProperty;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.util.regex.Pattern$7
dup
aload 1
aload 0
invokespecial java.util.regex.Pattern$7.<init>:(Ljava/util/regex/Pattern$CharProperty;Ljava/util/regex/Pattern$CharProperty;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 lhs Ljava/util/regex/Pattern$CharProperty;
0 1 1 rhs Ljava/util/regex/Pattern$CharProperty;
MethodParameters:
Name Flags
lhs final
rhs final
private static boolean hasBaseCharacter(java.util.regex.Matcher, int, java.lang.CharSequence);
descriptor: (Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.util.regex.Matcher.transparentBounds:Z
ifne 2
1: aload 0
getfield java.util.regex.Matcher.from:I
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
3: StackMap locals:
StackMap stack: int
istore 3
start local 3 4: iload 1
istore 4
start local 4 5: goto 13
6: StackMap locals: int int
StackMap stack:
aload 2
iload 4
invokestatic java.lang.Character.codePointAt:(Ljava/lang/CharSequence;I)I
istore 5
start local 5 7: iload 5
invokestatic java.lang.Character.isLetterOrDigit:(I)Z
ifeq 9
8: iconst_1
ireturn
9: StackMap locals: int
StackMap stack:
iload 5
invokestatic java.lang.Character.getType:(I)I
bipush 6
if_icmpne 11
10: goto 12
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 12: StackMap locals:
StackMap stack:
iinc 4 -1
StackMap locals:
StackMap stack:
13: iload 4
iload 3
if_icmpge 6
end local 4 14: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 matcher Ljava/util/regex/Matcher;
0 15 1 i I
0 15 2 seq Ljava/lang/CharSequence;
4 15 3 start I
5 14 4 x I
7 12 5 ch I
MethodParameters:
Name Flags
matcher
i
seq
public java.util.function.Predicate<java.lang.String> asPredicate();
descriptor: ()Ljava/util/function/Predicate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic test(Ljava/util/regex/Pattern;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
java/util/regex/Pattern.lambda$0(Ljava/lang/String;)Z (7)
(Ljava/lang/String;)Z
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/regex/Pattern;
Signature: ()Ljava/util/function/Predicate<Ljava/lang/String;>;
public java.util.stream.Stream<java.lang.String> splitAsStream(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.util.regex.Pattern$1MatcherIterator
dup
aload 0
aload 1
invokespecial java.util.regex.Pattern$1MatcherIterator.<init>:(Ljava/util/regex/Pattern;Ljava/lang/CharSequence;)V
sipush 272
1: invokestatic java.util.Spliterators.spliteratorUnknownSize:(Ljava/util/Iterator;I)Ljava/util/Spliterator;
2: iconst_0
3: invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/regex/Pattern;
0 4 1 input Ljava/lang/CharSequence;
Signature: (Ljava/lang/CharSequence;)Ljava/util/stream/Stream<Ljava/lang/String;>;
MethodParameters:
Name Flags
input final
private boolean lambda$0(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.find:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/regex/Pattern;
0 1 1 s Ljava/lang/String;
}
SourceFile: "Pattern.java"
NestMembers:
java.util.regex.Pattern$1 java.util.regex.Pattern$1MatcherIterator java.util.regex.Pattern$2 java.util.regex.Pattern$3 java.util.regex.Pattern$4 java.util.regex.Pattern$5 java.util.regex.Pattern$6 java.util.regex.Pattern$7 java.util.regex.Pattern$All java.util.regex.Pattern$BackRef java.util.regex.Pattern$Begin java.util.regex.Pattern$Behind java.util.regex.Pattern$BehindS java.util.regex.Pattern$BitClass java.util.regex.Pattern$Block java.util.regex.Pattern$BmpCharProperty java.util.regex.Pattern$BnM java.util.regex.Pattern$BnMS java.util.regex.Pattern$Bound java.util.regex.Pattern$Branch java.util.regex.Pattern$BranchConn java.util.regex.Pattern$CIBackRef java.util.regex.Pattern$Caret java.util.regex.Pattern$Category java.util.regex.Pattern$CharProperty java.util.regex.Pattern$CharProperty$1 java.util.regex.Pattern$CharPropertyNames java.util.regex.Pattern$CharPropertyNames$1 java.util.regex.Pattern$CharPropertyNames$10 java.util.regex.Pattern$CharPropertyNames$11 java.util.regex.Pattern$CharPropertyNames$12 java.util.regex.Pattern$CharPropertyNames$13 java.util.regex.Pattern$CharPropertyNames$14 java.util.regex.Pattern$CharPropertyNames$15 java.util.regex.Pattern$CharPropertyNames$16 java.util.regex.Pattern$CharPropertyNames$17 java.util.regex.Pattern$CharPropertyNames$18 java.util.regex.Pattern$CharPropertyNames$19 java.util.regex.Pattern$CharPropertyNames$2 java.util.regex.Pattern$CharPropertyNames$20 java.util.regex.Pattern$CharPropertyNames$21 java.util.regex.Pattern$CharPropertyNames$22 java.util.regex.Pattern$CharPropertyNames$23 java.util.regex.Pattern$CharPropertyNames$3 java.util.regex.Pattern$CharPropertyNames$4 java.util.regex.Pattern$CharPropertyNames$5 java.util.regex.Pattern$CharPropertyNames$6 java.util.regex.Pattern$CharPropertyNames$7 java.util.regex.Pattern$CharPropertyNames$8 java.util.regex.Pattern$CharPropertyNames$9 java.util.regex.Pattern$CharPropertyNames$CharPropertyFactory java.util.regex.Pattern$CharPropertyNames$CloneableProperty java.util.regex.Pattern$Conditional java.util.regex.Pattern$Ctype java.util.regex.Pattern$Curly java.util.regex.Pattern$Dollar java.util.regex.Pattern$Dot java.util.regex.Pattern$End java.util.regex.Pattern$First java.util.regex.Pattern$GroupCurly java.util.regex.Pattern$GroupHead java.util.regex.Pattern$GroupRef java.util.regex.Pattern$GroupTail java.util.regex.Pattern$HorizWS java.util.regex.Pattern$LastMatch java.util.regex.Pattern$LastNode java.util.regex.Pattern$LazyLoop java.util.regex.Pattern$LineEnding java.util.regex.Pattern$Loop java.util.regex.Pattern$Neg java.util.regex.Pattern$Node java.util.regex.Pattern$NotBehind java.util.regex.Pattern$NotBehindS java.util.regex.Pattern$Pos java.util.regex.Pattern$Prolog java.util.regex.Pattern$Ques java.util.regex.Pattern$Script java.util.regex.Pattern$Single java.util.regex.Pattern$SingleI java.util.regex.Pattern$SingleS java.util.regex.Pattern$SingleU java.util.regex.Pattern$Slice java.util.regex.Pattern$SliceI java.util.regex.Pattern$SliceIS java.util.regex.Pattern$SliceNode java.util.regex.Pattern$SliceS java.util.regex.Pattern$SliceU java.util.regex.Pattern$SliceUS java.util.regex.Pattern$Start java.util.regex.Pattern$StartS java.util.regex.Pattern$TreeInfo java.util.regex.Pattern$UnixCaret java.util.regex.Pattern$UnixDollar java.util.regex.Pattern$UnixDot java.util.regex.Pattern$Utype java.util.regex.Pattern$VertWS
InnerClasses:
public final UnicodeBlock = java.lang.Character$UnicodeBlock of java.lang.Character
public final UnicodeScript = java.lang.Character$UnicodeScript of java.lang.Character
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Form = java.text.Normalizer$Form of java.text.Normalizer
java.util.regex.Pattern$1
MatcherIterator = java.util.regex.Pattern$1MatcherIterator
java.util.regex.Pattern$2
java.util.regex.Pattern$3
java.util.regex.Pattern$4
java.util.regex.Pattern$5
java.util.regex.Pattern$6
java.util.regex.Pattern$7
final All = java.util.regex.Pattern$All of java.util.regex.Pattern
BackRef = java.util.regex.Pattern$BackRef of java.util.regex.Pattern
final Begin = java.util.regex.Pattern$Begin of java.util.regex.Pattern
Behind = java.util.regex.Pattern$Behind of java.util.regex.Pattern
final BehindS = java.util.regex.Pattern$BehindS of java.util.regex.Pattern
private final BitClass = java.util.regex.Pattern$BitClass of java.util.regex.Pattern
final Block = java.util.regex.Pattern$Block of java.util.regex.Pattern
private abstract BmpCharProperty = java.util.regex.Pattern$BmpCharProperty of java.util.regex.Pattern
BnM = java.util.regex.Pattern$BnM of java.util.regex.Pattern
final BnMS = java.util.regex.Pattern$BnMS of java.util.regex.Pattern
final Bound = java.util.regex.Pattern$Bound of java.util.regex.Pattern
final Branch = java.util.regex.Pattern$Branch of java.util.regex.Pattern
final BranchConn = java.util.regex.Pattern$BranchConn of java.util.regex.Pattern
CIBackRef = java.util.regex.Pattern$CIBackRef of java.util.regex.Pattern
final Caret = java.util.regex.Pattern$Caret of java.util.regex.Pattern
final Category = java.util.regex.Pattern$Category of java.util.regex.Pattern
private abstract CharProperty = java.util.regex.Pattern$CharProperty of java.util.regex.Pattern
private CharPropertyNames = java.util.regex.Pattern$CharPropertyNames of java.util.regex.Pattern
final Conditional = java.util.regex.Pattern$Conditional of java.util.regex.Pattern
final Ctype = java.util.regex.Pattern$Ctype of java.util.regex.Pattern
final Curly = java.util.regex.Pattern$Curly of java.util.regex.Pattern
final Dollar = java.util.regex.Pattern$Dollar of java.util.regex.Pattern
final Dot = java.util.regex.Pattern$Dot of java.util.regex.Pattern
final End = java.util.regex.Pattern$End of java.util.regex.Pattern
final First = java.util.regex.Pattern$First of java.util.regex.Pattern
final GroupCurly = java.util.regex.Pattern$GroupCurly of java.util.regex.Pattern
final GroupHead = java.util.regex.Pattern$GroupHead of java.util.regex.Pattern
final GroupRef = java.util.regex.Pattern$GroupRef of java.util.regex.Pattern
final GroupTail = java.util.regex.Pattern$GroupTail of java.util.regex.Pattern
final HorizWS = java.util.regex.Pattern$HorizWS of java.util.regex.Pattern
final LastMatch = java.util.regex.Pattern$LastMatch of java.util.regex.Pattern
LastNode = java.util.regex.Pattern$LastNode of java.util.regex.Pattern
final LazyLoop = java.util.regex.Pattern$LazyLoop of java.util.regex.Pattern
final LineEnding = java.util.regex.Pattern$LineEnding of java.util.regex.Pattern
Loop = java.util.regex.Pattern$Loop of java.util.regex.Pattern
final Neg = java.util.regex.Pattern$Neg of java.util.regex.Pattern
Node = java.util.regex.Pattern$Node of java.util.regex.Pattern
NotBehind = java.util.regex.Pattern$NotBehind of java.util.regex.Pattern
final NotBehindS = java.util.regex.Pattern$NotBehindS of java.util.regex.Pattern
final Pos = java.util.regex.Pattern$Pos of java.util.regex.Pattern
final Prolog = java.util.regex.Pattern$Prolog of java.util.regex.Pattern
final Ques = java.util.regex.Pattern$Ques of java.util.regex.Pattern
final Script = java.util.regex.Pattern$Script of java.util.regex.Pattern
final Single = java.util.regex.Pattern$Single of java.util.regex.Pattern
final SingleI = java.util.regex.Pattern$SingleI of java.util.regex.Pattern
final SingleS = java.util.regex.Pattern$SingleS of java.util.regex.Pattern
final SingleU = java.util.regex.Pattern$SingleU of java.util.regex.Pattern
final Slice = java.util.regex.Pattern$Slice of java.util.regex.Pattern
SliceI = java.util.regex.Pattern$SliceI of java.util.regex.Pattern
SliceIS = java.util.regex.Pattern$SliceIS of java.util.regex.Pattern
SliceNode = java.util.regex.Pattern$SliceNode of java.util.regex.Pattern
final SliceS = java.util.regex.Pattern$SliceS of java.util.regex.Pattern
final SliceU = java.util.regex.Pattern$SliceU of java.util.regex.Pattern
final SliceUS = java.util.regex.Pattern$SliceUS of java.util.regex.Pattern
Start = java.util.regex.Pattern$Start of java.util.regex.Pattern
final StartS = java.util.regex.Pattern$StartS of java.util.regex.Pattern
final TreeInfo = java.util.regex.Pattern$TreeInfo of java.util.regex.Pattern
final UnixCaret = java.util.regex.Pattern$UnixCaret of java.util.regex.Pattern
final UnixDollar = java.util.regex.Pattern$UnixDollar of java.util.regex.Pattern
final UnixDot = java.util.regex.Pattern$UnixDot of java.util.regex.Pattern
final Utype = java.util.regex.Pattern$Utype of java.util.regex.Pattern
final VertWS = java.util.regex.Pattern$VertWS of java.util.regex.Pattern