final class java.util.regex.Pattern$Branch extends java.util.regex.Pattern$Node
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.util.regex.Pattern$Branch
super_class: java.util.regex.Pattern$Node
{
java.util.regex.Pattern$Node[] atoms;
descriptor: [Ljava/util/regex/Pattern$Node;
flags: (0x0000)
int size;
descriptor: I
flags: (0x0000)
java.util.regex.Pattern$Node conn;
descriptor: Ljava/util/regex/Pattern$Node;
flags: (0x0000)
void <init>(java.util.regex.Pattern$Node, java.util.regex.Pattern$Node, java.util.regex.Pattern$Node);
descriptor: (Ljava/util/regex/Pattern$Node;Ljava/util/regex/Pattern$Node;Ljava/util/regex/Pattern$Node;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.util.regex.Pattern$Node.<init>:()V
1: aload 0
iconst_2
anewarray java.util.regex.Pattern$Node
putfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
2: aload 0
iconst_2
putfield java.util.regex.Pattern$Branch.size:I
3: aload 0
aload 3
putfield java.util.regex.Pattern$Branch.conn:Ljava/util/regex/Pattern$Node;
4: aload 0
getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
iconst_0
aload 1
aastore
5: aload 0
getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
iconst_1
aload 2
aastore
6: return
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$Branch;
0 7 1 first Ljava/util/regex/Pattern$Node;
0 7 2 second Ljava/util/regex/Pattern$Node;
0 7 3 branchConn Ljava/util/regex/Pattern$Node;
MethodParameters:
Name Flags
first
second
branchConn
void add(java.util.regex.Pattern$Node);
descriptor: (Ljava/util/regex/Pattern$Node;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.regex.Pattern$Branch.size:I
aload 0
getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
arraylength
if_icmplt 4
1: aload 0
getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
arraylength
iconst_2
imul
anewarray java.util.regex.Pattern$Node
astore 2
start local 2 2: aload 0
getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
iconst_0
aload 2
iconst_0
aload 0
getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 0
aload 2
putfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
end local 2 4: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
aload 0
dup
getfield java.util.regex.Pattern$Branch.size:I
dup_x1
iconst_1
iadd
putfield java.util.regex.Pattern$Branch.size:I
aload 1
aastore
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/regex/Pattern$Branch;
0 6 1 node Ljava/util/regex/Pattern$Node;
2 4 2 tmp [Ljava/util/regex/Pattern$Node;
MethodParameters:
Name Flags
node
boolean match(java.util.regex.Matcher, int, java.lang.CharSequence);
descriptor: (Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z
flags: (0x0000)
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 8
2: StackMap locals: int
StackMap stack:
aload 0
getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
iload 4
aaload
ifnonnull 5
3: aload 0
getfield java.util.regex.Pattern$Branch.conn:Ljava/util/regex/Pattern$Node;
getfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
aload 1
iload 2
aload 3
invokevirtual java.util.regex.Pattern$Node.match:(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z
ifeq 7
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
iload 4
aaload
aload 1
iload 2
aload 3
invokevirtual java.util.regex.Pattern$Node.match:(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z
ifeq 7
6: iconst_1
ireturn
7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
aload 0
getfield java.util.regex.Pattern$Branch.size:I
if_icmplt 2
end local 4 9: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/regex/Pattern$Branch;
0 10 1 matcher Ljava/util/regex/Matcher;
0 10 2 i I
0 10 3 seq Ljava/lang/CharSequence;
1 9 4 n I
MethodParameters:
Name Flags
matcher
i
seq
boolean study(java.util.regex.Pattern$TreeInfo);
descriptor: (Ljava/util/regex/Pattern$TreeInfo;)Z
flags: (0x0000)
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 1
getfield java.util.regex.Pattern$TreeInfo.minLength:I
istore 2
start local 2 1: aload 1
getfield java.util.regex.Pattern$TreeInfo.maxLength:I
istore 3
start local 3 2: aload 1
getfield java.util.regex.Pattern$TreeInfo.maxValid:Z
istore 4
start local 4 3: ldc 2147483647
istore 5
start local 5 4: iconst_m1
istore 6
start local 6 5: iconst_0
istore 7
start local 7 6: goto 14
7: StackMap locals: java.util.regex.Pattern$Branch java.util.regex.Pattern$TreeInfo int int int int int int
StackMap stack:
aload 1
invokevirtual java.util.regex.Pattern$TreeInfo.reset:()V
8: aload 0
getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
iload 7
aaload
ifnull 10
9: aload 0
getfield java.util.regex.Pattern$Branch.atoms:[Ljava/util/regex/Pattern$Node;
iload 7
aaload
aload 1
invokevirtual java.util.regex.Pattern$Node.study:(Ljava/util/regex/Pattern$TreeInfo;)Z
pop
10: StackMap locals:
StackMap stack:
iload 5
aload 1
getfield java.util.regex.Pattern$TreeInfo.minLength:I
invokestatic java.lang.Math.min:(II)I
istore 5
11: iload 6
aload 1
getfield java.util.regex.Pattern$TreeInfo.maxLength:I
invokestatic java.lang.Math.max:(II)I
istore 6
12: iload 4
aload 1
getfield java.util.regex.Pattern$TreeInfo.maxValid:Z
iand
istore 4
13: iinc 7 1
StackMap locals:
StackMap stack:
14: iload 7
aload 0
getfield java.util.regex.Pattern$Branch.size:I
if_icmplt 7
end local 7 15: iload 2
iload 5
iadd
istore 2
16: iload 3
iload 6
iadd
istore 3
17: aload 1
invokevirtual java.util.regex.Pattern$TreeInfo.reset:()V
18: aload 0
getfield java.util.regex.Pattern$Branch.conn:Ljava/util/regex/Pattern$Node;
getfield java.util.regex.Pattern$Node.next:Ljava/util/regex/Pattern$Node;
aload 1
invokevirtual java.util.regex.Pattern$Node.study:(Ljava/util/regex/Pattern$TreeInfo;)Z
pop
19: aload 1
dup
getfield java.util.regex.Pattern$TreeInfo.minLength:I
iload 2
iadd
putfield java.util.regex.Pattern$TreeInfo.minLength:I
20: aload 1
dup
getfield java.util.regex.Pattern$TreeInfo.maxLength:I
iload 3
iadd
putfield java.util.regex.Pattern$TreeInfo.maxLength:I
21: aload 1
dup
getfield java.util.regex.Pattern$TreeInfo.maxValid:Z
iload 4
iand
putfield java.util.regex.Pattern$TreeInfo.maxValid:Z
22: aload 1
iconst_0
putfield java.util.regex.Pattern$TreeInfo.deterministic:Z
23: iconst_0
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 24 0 this Ljava/util/regex/Pattern$Branch;
0 24 1 info Ljava/util/regex/Pattern$TreeInfo;
1 24 2 minL I
2 24 3 maxL I
3 24 4 maxV Z
4 24 5 minL2 I
5 24 6 maxL2 I
6 15 7 n I
MethodParameters:
Name Flags
info
}
SourceFile: "Pattern.java"
NestHost: java.util.regex.Pattern
InnerClasses:
final Branch = java.util.regex.Pattern$Branch of java.util.regex.Pattern
Node = java.util.regex.Pattern$Node of java.util.regex.Pattern
final TreeInfo = java.util.regex.Pattern$TreeInfo of java.util.regex.Pattern