class java.util.regex.PrintPattern
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.util.regex.PrintPattern
super_class: java.lang.Object
{
private static java.util.HashMap<java.util.regex.Pattern$Node, java.lang.Integer> ids;
descriptor: Ljava/util/HashMap;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/HashMap<Ljava/util/regex/Pattern$Node;Ljava/lang/Integer;>;
static java.util.HashMap<java.util.regex.Pattern$CharPredicate, java.lang.String> pmap;
descriptor: Ljava/util/HashMap;
flags: (0x0008) ACC_STATIC
Signature: Ljava/util/HashMap<Ljava/util/regex/Pattern$CharPredicate;Ljava/lang/String;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic java.util.regex.PrintPattern.ids:Ljava/util/HashMap;
1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic java.util.regex.PrintPattern.pmap:Ljava/util/HashMap;
2: getstatic java.util.regex.PrintPattern.pmap:Ljava/util/HashMap;
invokestatic java.util.regex.Pattern.ALL:()Ljava/util/regex/Pattern$CharPredicate;
ldc "All"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: getstatic java.util.regex.PrintPattern.pmap:Ljava/util/HashMap;
invokestatic java.util.regex.Pattern.DOT:()Ljava/util/regex/Pattern$CharPredicate;
ldc "Dot"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: getstatic java.util.regex.PrintPattern.pmap:Ljava/util/HashMap;
invokestatic java.util.regex.Pattern.UNIXDOT:()Ljava/util/regex/Pattern$CharPredicate;
ldc "UnixDot"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: getstatic java.util.regex.PrintPattern.pmap:Ljava/util/HashMap;
invokestatic java.util.regex.Pattern.VertWS:()Ljava/util/regex/Pattern$BmpCharPredicate;
ldc "VertWS"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: getstatic java.util.regex.PrintPattern.pmap:Ljava/util/HashMap;
invokestatic java.util.regex.Pattern.HorizWS:()Ljava/util/regex/Pattern$BmpCharPredicate;
ldc "HorizWS"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: getstatic java.util.regex.PrintPattern.pmap:Ljava/util/HashMap;
invokestatic java.util.regex.CharPredicates.ASCII_DIGIT:()Ljava/util/regex/Pattern$BmpCharPredicate;
ldc "ASCII.DIGIT"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: getstatic java.util.regex.PrintPattern.pmap:Ljava/util/HashMap;
invokestatic java.util.regex.CharPredicates.ASCII_WORD:()Ljava/util/regex/Pattern$BmpCharPredicate;
ldc "ASCII.WORD"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic java.util.regex.PrintPattern.pmap:Ljava/util/HashMap;
invokestatic java.util.regex.CharPredicates.ASCII_SPACE:()Ljava/util/regex/Pattern$BmpCharPredicate;
ldc "ASCII.SPACE"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/regex/PrintPattern;
private static void print(java.util.regex.Pattern$Node, java.lang.String, int);
descriptor: (Ljava/util/regex/Pattern$Node;Ljava/lang/String;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.util.regex.PrintPattern.ids:Ljava/util/HashMap;
aload 0
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifne 2
1: getstatic java.util.regex.PrintPattern.ids:Ljava/util/HashMap;
aload 0
getstatic java.util.regex.PrintPattern.ids:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "%6d:%"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
ifne 3
ldc ""
goto 4
StackMap locals:
StackMap stack: java.lang.StringBuilder
3: iload 2
iconst_1
ishl
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
StackMap locals: java.util.regex.Pattern$Node java.lang.String int
StackMap stack: java.lang.StringBuilder java.io.Serializable
4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "s<%s>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_3
anewarray java.lang.Object
dup
iconst_0
getstatic java.util.regex.PrintPattern.ids:Ljava/util/HashMap;
aload 0
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
aastore
dup
iconst_1
ldc ""
aastore
dup
iconst_2
aload 1
aastore
invokestatic java.util.regex.PrintPattern.print:(Ljava/lang/String;[Ljava/lang/Object;)V
5: getstatic java.util.regex.PrintPattern.ids:Ljava/util/HashMap;
aload 0
getfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifeq 7
6: ldc " (=>%d)"
getstatic java.util.regex.PrintPattern.ids:Ljava/util/HashMap;
aload 0
getfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokestatic java.util.regex.PrintPattern.print:(Ljava/lang/String;I)V
7: StackMap locals:
StackMap stack:
ldc "%n"
iconst_0
anewarray java.lang.Object
invokestatic java.util.regex.PrintPattern.print:(Ljava/lang/String;[Ljava/lang/Object;)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 node Ljava/util/regex/Pattern$Node;
0 9 1 text Ljava/lang/String;
0 9 2 depth I
MethodParameters:
Name Flags
node
text
depth
private static void print(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc " %"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
ifne 1
ldc ""
goto 2
StackMap locals:
StackMap stack: java.lang.StringBuilder
1: iload 1
iconst_1
ishl
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
StackMap locals: java.lang.String int
StackMap stack: java.lang.StringBuilder java.io.Serializable
2: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "s<%s>%n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc ""
aastore
dup
iconst_1
aload 0
aastore
invokestatic java.util.regex.PrintPattern.print:(Ljava/lang/String;[Ljava/lang/Object;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 s Ljava/lang/String;
0 4 1 depth I
MethodParameters:
Name Flags
s
depth
private static void print(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 0
aload 1
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 fmt Ljava/lang/String;
0 2 1 args [Ljava/lang/Object;
MethodParameters:
Name Flags
fmt
args
private static java.lang.String toStringCPS(int[]);
descriptor: ([I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
arraylength
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 1: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: int[] java.lang.StringBuilder top int int int[]
StackMap stack:
2: aload 5
iload 3
iaload
istore 2
start local 2 3: aload 1
iload 2
invokestatic java.util.regex.PrintPattern.toStringCP:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 2 4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 2
6: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 cps [I
1 7 1 sb Ljava/lang/StringBuilder;
3 4 2 cp I
MethodParameters:
Name Flags
cps
private static java.lang.String toStringCP(int);
descriptor: (I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
invokestatic java.util.regex.ASCII.isPrint:(I)Z
ifeq 1
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
iload 0
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 2
1: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "\\u"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
bipush 16
invokestatic java.lang.Integer.toString:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
2: StackMap locals:
StackMap stack: java.lang.String
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 cp I
MethodParameters:
Name Flags
cp
private static java.lang.String toStringRange(int, int);
descriptor: (II)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ldc 2147483647
if_icmpne 6
1: iload 0
ifne 3
2: ldc " * "
areturn
3: StackMap locals:
StackMap stack:
iload 0
iconst_1
if_icmpne 5
4: ldc " + "
areturn
5: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "{"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", max}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
6: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "{"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 min I
0 7 1 max I
MethodParameters:
Name Flags
min
max
private static java.lang.String toStringCtype(int);
descriptor: (I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
lookupswitch { // 14
256: 1
512: 2
768: 10
1024: 3
1792: 11
2048: 4
4096: 5
5888: 12
8192: 6
16384: 7
32768: 14
65280: 9
65536: 8
67328: 13
default: 15
}
1: StackMap locals:
StackMap stack:
ldc "ASCII.UPPER"
areturn
2: StackMap locals:
StackMap stack:
ldc "ASCII.LOWER"
areturn
3: StackMap locals:
StackMap stack:
ldc "ASCII.DIGIT"
areturn
4: StackMap locals:
StackMap stack:
ldc "ASCII.SPACE"
areturn
5: StackMap locals:
StackMap stack:
ldc "ASCII.PUNCT"
areturn
6: StackMap locals:
StackMap stack:
ldc "ASCII.CNTRL"
areturn
7: StackMap locals:
StackMap stack:
ldc "ASCII.BLANK"
areturn
8: StackMap locals:
StackMap stack:
ldc "ASCII.UNDER"
areturn
9: StackMap locals:
StackMap stack:
ldc "ASCII.ASCII"
areturn
10: StackMap locals:
StackMap stack:
ldc "ASCII.ALPHA"
areturn
11: StackMap locals:
StackMap stack:
ldc "ASCII.ALNUM"
areturn
12: StackMap locals:
StackMap stack:
ldc "ASCII.GRAPH"
areturn
13: StackMap locals:
StackMap stack:
ldc "ASCII.WORD"
areturn
14: StackMap locals:
StackMap stack:
ldc "ASCII.XDIGIT"
areturn
15: StackMap locals:
StackMap stack:
ldc "ASCII ?"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 type I
MethodParameters:
Name Flags
type
private static java.lang.String toString(java.util.regex.Pattern$Node);
descriptor: (Ljava/util/regex/Pattern$Node;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
aload 1
bipush 36
invokevirtual java.lang.String.lastIndexOf:(I)I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 node Ljava/util/regex/Pattern$Node;
1 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
node
static void walk(java.util.regex.Pattern$Node, int);
descriptor: (Ljava/util/regex/Pattern$Node;I)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: iinc 1 1
1: goto 98
2: StackMap locals:
StackMap stack:
aload 0
invokestatic java.util.regex.PrintPattern.toString:(Ljava/util/regex/Pattern$Node;)Ljava/lang/String;
astore 2
start local 2 3: aload 0
instanceof java.util.regex.Pattern$Prolog
ifeq 13
4: aload 0
aload 2
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/util/regex/Pattern$Node;Ljava/lang/String;I)V
5: aload 0
checkcast java.util.regex.Pattern$Prolog
getfield java.util.regex.Pattern$Prolog.loop:Ljava/util/regex/Pattern$Loop;
astore 4
start local 4 6: aload 4
invokestatic java.util.regex.PrintPattern.toString:(Ljava/util/regex/Pattern$Node;)Ljava/lang/String;
astore 2
7: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
getfield java.util.regex.Pattern$Loop.cmin:I
aload 4
getfield java.util.regex.Pattern$Loop.cmax:I
invokestatic java.util.regex.PrintPattern.toStringRange:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 8: aload 4
aload 3
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/util/regex/Pattern$Node;Ljava/lang/String;I)V
9: aload 4
getfield java.util.regex.Pattern$Loop.body:Ljava/util/regex/Pattern$Node;
iload 1
invokestatic java.util.regex.PrintPattern.walk:(Ljava/util/regex/Pattern$Node;I)V
10: new java.lang.StringBuilder
dup
ldc "/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/lang/String;I)V
11: aload 4
astore 0
end local 4 12: goto 97
end local 3 StackMap locals: java.lang.String
StackMap stack:
13: aload 0
instanceof java.util.regex.Pattern$Loop
ifeq 15
14: return
15: StackMap locals:
StackMap stack:
aload 0
instanceof java.util.regex.Pattern$Curly
ifeq 22
16: aload 0
checkcast java.util.regex.Pattern$Curly
astore 4
start local 4 17: new java.lang.StringBuilder
dup
ldc "Curly "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
getfield java.util.regex.Pattern$Curly.type:Ljava/util/regex/Pattern$Qtype;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
getfield java.util.regex.Pattern$Curly.cmin:I
aload 4
getfield java.util.regex.Pattern$Curly.cmax:I
invokestatic java.util.regex.PrintPattern.toStringRange:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 18: aload 0
aload 3
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/util/regex/Pattern$Node;Ljava/lang/String;I)V
19: aload 4
getfield java.util.regex.Pattern$Curly.atom:Ljava/util/regex/Pattern$Node;
iload 1
invokestatic java.util.regex.PrintPattern.walk:(Ljava/util/regex/Pattern$Node;I)V
20: ldc "/Curly"
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/lang/String;I)V
end local 4 21: goto 97
end local 3 StackMap locals:
StackMap stack:
22: aload 0
instanceof java.util.regex.Pattern$GroupCurly
ifeq 31
23: aload 0
checkcast java.util.regex.Pattern$GroupCurly
astore 4
start local 4 24: new java.lang.StringBuilder
dup
ldc "GroupCurly "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
getfield java.util.regex.Pattern$GroupCurly.groupIndex:I
iconst_2
idiv
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
25: ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
getfield java.util.regex.Pattern$GroupCurly.type:Ljava/util/regex/Pattern$Qtype;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
getfield java.util.regex.Pattern$GroupCurly.cmin:I
aload 4
getfield java.util.regex.Pattern$GroupCurly.cmax:I
invokestatic java.util.regex.PrintPattern.toStringRange:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 27: aload 0
aload 3
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/util/regex/Pattern$Node;Ljava/lang/String;I)V
28: aload 4
getfield java.util.regex.Pattern$GroupCurly.atom:Ljava/util/regex/Pattern$Node;
iload 1
invokestatic java.util.regex.PrintPattern.walk:(Ljava/util/regex/Pattern$Node;I)V
29: ldc "/GroupCurly"
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/lang/String;I)V
end local 4 30: goto 97
end local 3 StackMap locals:
StackMap stack:
31: aload 0
instanceof java.util.regex.Pattern$GroupHead
ifeq 39
32: aload 0
checkcast java.util.regex.Pattern$GroupHead
astore 4
start local 4 33: aload 4
getfield java.util.regex.Pattern$GroupHead.tail:Ljava/util/regex/Pattern$GroupTail;
astore 5
start local 5 34: aload 4
new java.lang.StringBuilder
dup
ldc "Group.head "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
getfield java.util.regex.Pattern$GroupTail.groupIndex:I
iconst_2
idiv
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/util/regex/Pattern$Node;Ljava/lang/String;I)V
35: aload 4
getfield java.util.regex.Pattern$GroupHead.next:Ljava/util/regex/Pattern$Node;
iload 1
invokestatic java.util.regex.PrintPattern.walk:(Ljava/util/regex/Pattern$Node;I)V
36: aload 5
new java.lang.StringBuilder
dup
ldc "/Group.tail "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
getfield java.util.regex.Pattern$GroupTail.groupIndex:I
iconst_2
idiv
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/util/regex/Pattern$Node;Ljava/lang/String;I)V
37: aload 5
astore 0
end local 5 end local 4 38: goto 97
StackMap locals:
StackMap stack:
39: aload 0
instanceof java.util.regex.Pattern$GroupTail
ifeq 41
40: return
41: StackMap locals:
StackMap stack:
aload 0
instanceof java.util.regex.Pattern$Ques
ifeq 46
42: aload 0
new java.lang.StringBuilder
dup
ldc "Ques "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
checkcast java.util.regex.Pattern$Ques
getfield java.util.regex.Pattern$Ques.type:Ljava/util/regex/Pattern$Qtype;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/util/regex/Pattern$Node;Ljava/lang/String;I)V
43: aload 0
checkcast java.util.regex.Pattern$Ques
getfield java.util.regex.Pattern$Ques.atom:Ljava/util/regex/Pattern$Node;
iload 1
invokestatic java.util.regex.PrintPattern.walk:(Ljava/util/regex/Pattern$Node;I)V
44: ldc "/Ques"
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/lang/String;I)V
45: goto 97
StackMap locals:
StackMap stack:
46: aload 0
instanceof java.util.regex.Pattern$Branch
ifeq 61
47: aload 0
checkcast java.util.regex.Pattern$Branch
astore 4
start local 4 48: aload 4
aload 2
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/util/regex/Pattern$Node;Ljava/lang/String;I)V
49: iconst_0
istore 5
start local 5 50: StackMap locals: java.util.regex.Pattern$Node int java.lang.String top java.util.regex.Pattern$Branch int
StackMap stack:
aload 4
getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
iload 5
aaload
ifnull 53
51: aload 4
getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
iload 5
aaload
iload 1
invokestatic java.util.regex.PrintPattern.walk:(Ljava/util/regex/Pattern$Node;I)V
52: goto 54
53: StackMap locals:
StackMap stack:
ldc " (accepted)"
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/lang/String;I)V
54: StackMap locals:
StackMap stack:
iinc 5 1
iload 5
aload 4
getfield java.util.regex.Pattern$Branch.size:I
if_icmpne 56
55: goto 58
56: StackMap locals:
StackMap stack:
ldc "-branch.separator-"
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/lang/String;I)V
57: goto 50
58: StackMap locals:
StackMap stack:
aload 4
getfield java.util.regex.Pattern$Branch.conn:Ljava/util/regex/Pattern$Node;
astore 0
59: aload 0
ldc "/Branch"
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/util/regex/Pattern$Node;Ljava/lang/String;I)V
end local 5 end local 4 60: goto 97
StackMap locals: java.util.regex.Pattern$Node int java.lang.String
StackMap stack:
61: aload 0
instanceof java.util.regex.Pattern$BranchConn
ifeq 63
62: return
63: StackMap locals:
StackMap stack:
aload 0
instanceof java.util.regex.Pattern$CharProperty
ifeq 70
64: getstatic java.util.regex.PrintPattern.pmap:Ljava/util/HashMap;
aload 0
checkcast java.util.regex.Pattern$CharProperty
getfield java.util.regex.Pattern$CharProperty.predicate:Ljava/util/regex/Pattern$CharPredicate;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 65: aload 3
ifnonnull 67
66: aload 0
invokestatic java.util.regex.PrintPattern.toString:(Ljava/util/regex/Pattern$Node;)Ljava/lang/String;
astore 3
goto 68
67: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Single \""
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;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
68: StackMap locals:
StackMap stack:
aload 0
aload 3
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/util/regex/Pattern$Node;Ljava/lang/String;I)V
69: goto 97
end local 3 StackMap locals:
StackMap stack:
70: aload 0
instanceof java.util.regex.Pattern$SliceNode
ifeq 76
71: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
72: aload 0
checkcast java.util.regex.Pattern$SliceNode
getfield java.util.regex.Pattern$SliceNode.buffer:[I
invokestatic java.util.regex.PrintPattern.toStringCPS:([I)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;
73: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 74: aload 0
aload 3
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/util/regex/Pattern$Node;Ljava/lang/String;I)V
75: goto 97
end local 3 StackMap locals:
StackMap stack:
76: aload 0
instanceof java.util.regex.Pattern$CharPropertyGreedy
ifeq 87
77: aload 0
checkcast java.util.regex.Pattern$CharPropertyGreedy
astore 4
start local 4 78: getstatic java.util.regex.PrintPattern.pmap:Ljava/util/HashMap;
aload 4
getfield java.util.regex.Pattern$CharPropertyGreedy.predicate:Ljava/util/regex/Pattern$CharPredicate;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 79: aload 5
ifnonnull 81
80: aload 4
getfield java.util.regex.Pattern$CharPropertyGreedy.predicate:Ljava/util/regex/Pattern$CharPredicate;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 5
goto 82
81: StackMap locals: java.util.regex.Pattern$Node int java.lang.String top java.util.regex.Pattern$CharPropertyGreedy java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Single \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
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 5
82: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
getfield java.util.regex.Pattern$CharPropertyGreedy.cmin:I
ifne 83
ldc "*"
goto 84
StackMap locals:
StackMap stack: java.lang.StringBuilder
83: ldc "+"
StackMap locals: java.util.regex.Pattern$Node int java.lang.String top java.util.regex.Pattern$CharPropertyGreedy java.lang.String
StackMap stack: java.lang.StringBuilder java.lang.String
84: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 85: aload 0
aload 3
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/util/regex/Pattern$Node;Ljava/lang/String;I)V
end local 5 end local 4 86: goto 97
end local 3 StackMap locals: java.util.regex.Pattern$Node int java.lang.String
StackMap stack:
87: aload 0
instanceof java.util.regex.Pattern$BackRef
ifeq 91
88: new java.lang.StringBuilder
dup
ldc "GroupBackRef "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
checkcast java.util.regex.Pattern$BackRef
getfield java.util.regex.Pattern$BackRef.groupIndex:I
iconst_2
idiv
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 89: aload 0
aload 3
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/util/regex/Pattern$Node;Ljava/lang/String;I)V
90: goto 97
end local 3 StackMap locals:
StackMap stack:
91: aload 0
instanceof java.util.regex.Pattern$LastNode
ifeq 94
92: aload 0
ldc "END"
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/util/regex/Pattern$Node;Ljava/lang/String;I)V
93: goto 97
StackMap locals:
StackMap stack:
94: aload 0
getstatic java.util.regex.Pattern.accept:Ljava/util/regex/Pattern$Node;
if_acmpne 96
95: return
96: StackMap locals:
StackMap stack:
aload 0
aload 2
iload 1
invokestatic java.util.regex.PrintPattern.print:(Ljava/util/regex/Pattern$Node;Ljava/lang/String;I)V
97: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
astore 0
end local 2 98: StackMap locals:
StackMap stack:
aload 0
ifnonnull 2
99: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 100 0 node Ljava/util/regex/Pattern$Node;
0 100 1 depth I
3 98 2 name Ljava/lang/String;
8 13 3 str Ljava/lang/String;
18 22 3 str Ljava/lang/String;
27 31 3 str Ljava/lang/String;
65 70 3 str Ljava/lang/String;
74 76 3 str Ljava/lang/String;
85 87 3 str Ljava/lang/String;
89 91 3 str Ljava/lang/String;
6 12 4 loop Ljava/util/regex/Pattern$Loop;
17 21 4 c Ljava/util/regex/Pattern$Curly;
24 30 4 gc Ljava/util/regex/Pattern$GroupCurly;
33 38 4 head Ljava/util/regex/Pattern$GroupHead;
34 38 5 tail Ljava/util/regex/Pattern$GroupTail;
48 60 4 b Ljava/util/regex/Pattern$Branch;
50 60 5 i I
78 86 4 gcp Ljava/util/regex/Pattern$CharPropertyGreedy;
79 86 5 pstr Ljava/lang/String;
MethodParameters:
Name Flags
node
depth
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
iconst_0
aaload
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
astore 1
start local 1 1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " Pattern: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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
2: aload 1
getfield java.util.regex.Pattern.root:Ljava/util/regex/Pattern$Node;
iconst_0
invokestatic java.util.regex.PrintPattern.walk:(Ljava/util/regex/Pattern$Node;I)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 args [Ljava/lang/String;
1 4 1 p Ljava/util/regex/Pattern;
MethodParameters:
Name Flags
args
}
SourceFile: "PrintPattern.java"
InnerClasses:
BackRef = java.util.regex.Pattern$BackRef of java.util.regex.Pattern
abstract BmpCharPredicate = java.util.regex.Pattern$BmpCharPredicate 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
abstract CharPredicate = java.util.regex.Pattern$CharPredicate of java.util.regex.Pattern
CharProperty = java.util.regex.Pattern$CharProperty of java.util.regex.Pattern
CharPropertyGreedy = java.util.regex.Pattern$CharPropertyGreedy of java.util.regex.Pattern
final Curly = java.util.regex.Pattern$Curly 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 GroupTail = java.util.regex.Pattern$GroupTail of java.util.regex.Pattern
LastNode = java.util.regex.Pattern$LastNode of java.util.regex.Pattern
Loop = java.util.regex.Pattern$Loop of java.util.regex.Pattern
Node = java.util.regex.Pattern$Node 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
SliceNode = java.util.regex.Pattern$SliceNode of java.util.regex.Pattern