class java.util.regex.Pattern$NFCCharProperty extends java.util.regex.Pattern$Node
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.util.regex.Pattern$NFCCharProperty
super_class: java.util.regex.Pattern$Node
{
java.util.regex.Pattern$CharPredicate predicate;
descriptor: Ljava/util/regex/Pattern$CharPredicate;
flags: (0x0000)
void <init>(java.util.regex.Pattern$CharPredicate);
descriptor: (Ljava/util/regex/Pattern$CharPredicate;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.util.regex.Pattern$Node.<init>:()V
1: aload 0
aload 1
putfield java.util.regex.Pattern$NFCCharProperty.predicate:Ljava/util/regex/Pattern$CharPredicate;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/regex/Pattern$NFCCharProperty;
0 3 1 predicate Ljava/util/regex/Pattern$CharPredicate;
MethodParameters:
Name Flags
predicate
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=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
aload 1
getfield java.util.regex.Matcher.to:I
if_icmpge 25
1: aload 3
iload 2
invokestatic java.lang.Character.codePointAt:(Ljava/lang/CharSequence;I)I
istore 4
start local 4 2: iload 4
invokestatic java.lang.Character.charCount:(I)I
istore 5
start local 5 3: iload 2
iload 5
iadd
istore 6
start local 6 4: goto 10
5: StackMap locals: int int int
StackMap stack:
aload 3
iload 6
invokestatic java.lang.Character.codePointAt:(Ljava/lang/CharSequence;I)I
istore 7
start local 7 6: iload 4
iload 7
invokestatic java.util.regex.Grapheme.isBoundary:(II)Z
ifeq 8
7: goto 11
8: StackMap locals: int
StackMap stack:
iload 7
istore 4
9: iload 6
iload 7
invokestatic java.lang.Character.charCount:(I)I
iadd
istore 6
end local 7 10: StackMap locals:
StackMap stack:
iload 6
aload 1
getfield java.util.regex.Matcher.to:I
if_icmplt 5
11: StackMap locals:
StackMap stack:
iload 2
iload 5
iadd
iload 6
if_icmpne 22
12: aload 0
getfield java.util.regex.Pattern$NFCCharProperty.predicate:Ljava/util/regex/Pattern$CharPredicate;
iload 4
invokeinterface java.util.regex.Pattern$CharPredicate.is:(I)Z
ifeq 23
13: aload 0
getfield java.util.regex.Pattern$NFCCharProperty.next:Ljava/util/regex/Pattern$Node;
aload 1
iload 6
aload 3
invokevirtual java.util.regex.Pattern$Node.match:(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z
ireturn
14: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
iload 2
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
getstatic java.text.Normalizer$Form.NFC:Ljava/text/Normalizer$Form;
15: invokestatic java.text.Normalizer.normalize:(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Ljava/lang/String;
astore 7
start local 7 16: aload 7
iconst_0
aload 7
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.codePointCount:(II)I
iconst_1
if_icmpne 20
17: aload 0
getfield java.util.regex.Pattern$NFCCharProperty.predicate:Ljava/util/regex/Pattern$CharPredicate;
aload 7
iconst_0
invokevirtual java.lang.String.codePointAt:(I)I
invokeinterface java.util.regex.Pattern$CharPredicate.is:(I)Z
ifeq 20
18: aload 0
getfield java.util.regex.Pattern$NFCCharProperty.next:Ljava/util/regex/Pattern$Node;
aload 1
iload 6
aload 3
invokevirtual java.util.regex.Pattern$Node.match:(Ljava/util/regex/Matcher;ILjava/lang/CharSequence;)Z
ifeq 20
19: iconst_1
ireturn
20: StackMap locals: java.lang.String
StackMap stack:
aload 3
iload 6
invokestatic java.lang.Character.codePointBefore:(Ljava/lang/CharSequence;I)I
istore 4
21: iload 6
iload 4
invokestatic java.lang.Character.charCount:(I)I
isub
istore 6
end local 7 22: StackMap locals:
StackMap stack:
iload 2
iload 5
iadd
iload 6
if_icmplt 14
23: StackMap locals:
StackMap stack:
iload 6
aload 1
getfield java.util.regex.Matcher.to:I
if_icmpge 25
24: iconst_0
ireturn
end local 6 end local 5 end local 4 25: StackMap locals:
StackMap stack:
aload 1
iconst_1
putfield java.util.regex.Matcher.hitEnd:Z
26: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Ljava/util/regex/Pattern$NFCCharProperty;
0 27 1 matcher Ljava/util/regex/Matcher;
0 27 2 i I
0 27 3 seq Ljava/lang/CharSequence;
2 25 4 ch0 I
3 25 5 n I
4 25 6 j I
6 10 7 ch1 I
16 22 7 nfc Ljava/lang/String;
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=2, args_size=2
start local 0 start local 1 0: aload 1
dup
getfield java.util.regex.Pattern$TreeInfo.minLength:I
iconst_1
iadd
putfield java.util.regex.Pattern$TreeInfo.minLength:I
1: aload 1
iconst_0
putfield java.util.regex.Pattern$TreeInfo.deterministic:Z
2: aload 0
getfield java.util.regex.Pattern$NFCCharProperty.next:Ljava/util/regex/Pattern$Node;
aload 1
invokevirtual java.util.regex.Pattern$Node.study:(Ljava/util/regex/Pattern$TreeInfo;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/regex/Pattern$NFCCharProperty;
0 3 1 info Ljava/util/regex/Pattern$TreeInfo;
MethodParameters:
Name Flags
info
}
SourceFile: "Pattern.java"
NestHost: java.util.regex.Pattern
InnerClasses:
public final Form = java.text.Normalizer$Form of java.text.Normalizer
abstract CharPredicate = java.util.regex.Pattern$CharPredicate of java.util.regex.Pattern
private NFCCharProperty = java.util.regex.Pattern$NFCCharProperty 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