final class java.util.regex.Pattern$First 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$First
super_class: java.util.regex.Pattern$Node
{
java.util.regex.Pattern$Node atom;
descriptor: Ljava/util/regex/Pattern$Node;
flags: (0x0000)
void <init>(java.util.regex.Pattern$Node);
descriptor: (Ljava/util/regex/Pattern$Node;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // java.util.regex.Pattern$First this
start local 1 // java.util.regex.Pattern$Node node
0: .line 4995
aload 0 /* this */
invokespecial java.util.regex.Pattern$Node.<init>:()V
1: .line 4996
aload 0 /* this */
aload 1 /* node */
invokestatic java.util.regex.Pattern$BnM.optimize:(Ljava/util/regex/Pattern$Node;)Ljava/util/regex/Pattern$Node;
putfield java.util.regex.Pattern$First.atom:Ljava/util/regex/Pattern$Node;
2: .line 4997
return
end local 1 // java.util.regex.Pattern$Node node
end local 0 // java.util.regex.Pattern$First this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/regex/Pattern$First;
0 3 1 node 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=4, args_size=4
start local 0 // java.util.regex.Pattern$First this
start local 1 // java.util.regex.Matcher matcher
start local 2 // int i
start local 3 // java.lang.CharSequence seq
0: .line 4999
aload 0 /* this */
getfield java.util.regex.Pattern$First.atom:Ljava/util/regex/Pattern$Node;
instanceof java.util.regex.Pattern$BnM
ifeq 5
1: .line 5000
aload 0 /* this */
getfield java.util.regex.Pattern$First.atom:Ljava/util/regex/Pattern$Node;
aload 1 /* matcher */
iload 2 /* i */
aload 3 /* seq */
invokevirtual java.util.regex.Pattern$Node.match:(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z
ifeq 4
2: .line 5001
aload 0 /* this */
getfield java.util.regex.Pattern$First.next:Ljava/util/regex/Pattern$Node;
aload 1 /* matcher */
aload 1 /* matcher */
getfield java.util.regex.Matcher.last:I
aload 3 /* seq */
invokevirtual java.util.regex.Pattern$Node.match:(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z
ifeq 4
3: .line 5000
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
5: .line 5004
StackMap locals:
StackMap stack:
iload 2 /* i */
aload 1 /* matcher */
getfield java.util.regex.Matcher.to:I
if_icmple 8
6: .line 5005
aload 1 /* matcher */
iconst_1
putfield java.util.regex.Matcher.hitEnd:Z
7: .line 5006
iconst_0
ireturn
8: .line 5008
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.util.regex.Pattern$First.atom:Ljava/util/regex/Pattern$Node;
aload 1 /* matcher */
iload 2 /* i */
aload 3 /* seq */
invokevirtual java.util.regex.Pattern$Node.match:(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z
ifeq 10
9: .line 5009
aload 0 /* this */
getfield java.util.regex.Pattern$First.next:Ljava/util/regex/Pattern$Node;
aload 1 /* matcher */
aload 1 /* matcher */
getfield java.util.regex.Matcher.last:I
aload 3 /* seq */
invokevirtual java.util.regex.Pattern$Node.match:(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z
ireturn
10: .line 5011
StackMap locals:
StackMap stack:
iload 2 /* i */
aload 3 /* seq */
iload 2 /* i */
iconst_1
invokestatic java.util.regex.Pattern.countChars:(Ljava/lang/CharSequence;II)I
iadd
istore 2 /* i */
11: .line 5012
aload 1 /* matcher */
dup
getfield java.util.regex.Matcher.first:I
iconst_1
iadd
putfield java.util.regex.Matcher.first:I
12: .line 5003
goto 5
end local 3 // java.lang.CharSequence seq
end local 2 // int i
end local 1 // java.util.regex.Matcher matcher
end local 0 // java.util.regex.Pattern$First this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/util/regex/Pattern$First;
0 13 1 matcher Ljava/util/regex/Matcher;
0 13 2 i I
0 13 3 seq Ljava/lang/CharSequence;
MethodParameters:
Name Flags
matcher
i
seq
boolean study(java.util.regex.Pattern$TreeInfo);
descriptor: (Ljava/util/regex/Pattern$TreeInfo;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // java.util.regex.Pattern$First this
start local 1 // java.util.regex.Pattern$TreeInfo info
0: .line 5016
aload 0 /* this */
getfield java.util.regex.Pattern$First.atom:Ljava/util/regex/Pattern$Node;
aload 1 /* info */
invokevirtual java.util.regex.Pattern$Node.study:(Ljava/util/regex/Pattern$TreeInfo;)Z
pop
1: .line 5017
aload 1 /* info */
iconst_0
putfield java.util.regex.Pattern$TreeInfo.maxValid:Z
2: .line 5018
aload 1 /* info */
iconst_0
putfield java.util.regex.Pattern$TreeInfo.deterministic:Z
3: .line 5019
aload 0 /* this */
getfield java.util.regex.Pattern$First.next:Ljava/util/regex/Pattern$Node;
aload 1 /* info */
invokevirtual java.util.regex.Pattern$Node.study:(Ljava/util/regex/Pattern$TreeInfo;)Z
ireturn
end local 1 // java.util.regex.Pattern$TreeInfo info
end local 0 // java.util.regex.Pattern$First this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/regex/Pattern$First;
0 4 1 info Ljava/util/regex/Pattern$TreeInfo;
MethodParameters:
Name Flags
info
}
SourceFile: "Pattern.java"
NestHost: java.util.regex.Pattern
InnerClasses:
BnM = java.util.regex.Pattern$BnM of java.util.regex.Pattern
final First = java.util.regex.Pattern$First 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