public class android.os.PatternMatcher implements android.os.Parcelable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.os.PatternMatcher
super_class: java.lang.Object
{
public static final int PATTERN_LITERAL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int PATTERN_PREFIX;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int PATTERN_SIMPLE_GLOB;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int PATTERN_ADVANCED_GLOB;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int TOKEN_TYPE_LITERAL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int TOKEN_TYPE_ANY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int TOKEN_TYPE_SET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int TOKEN_TYPE_INVERSE_SET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int NO_MATCH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "PatternMatcher"
private static final int PARSED_TOKEN_CHAR_SET_START;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int PARSED_TOKEN_CHAR_SET_INVERSE_START;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -2
private static final int PARSED_TOKEN_CHAR_SET_STOP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -3
private static final int PARSED_TOKEN_CHAR_ANY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -4
private static final int PARSED_MODIFIER_RANGE_START;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -5
private static final int PARSED_MODIFIER_RANGE_STOP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -6
private static final int PARSED_MODIFIER_ZERO_OR_MORE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -7
private static final int PARSED_MODIFIER_ONE_OR_MORE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -8
private final java.lang.String mPattern;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mType;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int[] mParsedPattern;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final int MAX_PATTERN_STORAGE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2048
private static final int[] sParsedPatternScratch;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final android.os.Parcelable$Creator<android.os.PatternMatcher> CREATOR;
descriptor: Landroid/os/Parcelable$Creator;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Landroid/os/Parcelable$Creator<Landroid/os/PatternMatcher;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: sipush 2048
newarray 10
putstatic android.os.PatternMatcher.sParsedPatternScratch:[I
1: new android.os.PatternMatcher$1
dup
invokespecial android.os.PatternMatcher$1.<init>:()V
2: putstatic android.os.PatternMatcher.CREATOR:Landroid/os/Parcelable$Creator;
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, 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
aload 1
putfield android.os.PatternMatcher.mPattern:Ljava/lang/String;
2: aload 0
iload 2
putfield android.os.PatternMatcher.mType:I
3: aload 0
getfield android.os.PatternMatcher.mType:I
iconst_3
if_icmpne 6
4: aload 0
aload 1
invokestatic android.os.PatternMatcher.parseAndVerifyAdvancedPattern:(Ljava/lang/String;)[I
putfield android.os.PatternMatcher.mParsedPattern:[I
5: goto 7
6: StackMap locals: android.os.PatternMatcher java.lang.String int
StackMap stack:
aload 0
aconst_null
putfield android.os.PatternMatcher.mParsedPattern:[I
7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/os/PatternMatcher;
0 8 1 pattern Ljava/lang/String;
0 8 2 type I
MethodParameters:
Name Flags
pattern
type
public final java.lang.String getPath();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.os.PatternMatcher.mPattern:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/PatternMatcher;
public final int getType();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.os.PatternMatcher.mType:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/PatternMatcher;
public boolean match(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield android.os.PatternMatcher.mPattern:Ljava/lang/String;
aload 0
getfield android.os.PatternMatcher.mParsedPattern:[I
aload 0
getfield android.os.PatternMatcher.mType:I
invokestatic android.os.PatternMatcher.matchPattern:(Ljava/lang/String;Ljava/lang/String;[II)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/PatternMatcher;
0 1 1 str Ljava/lang/String;
MethodParameters:
Name Flags
str
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: ldc "? "
astore 1
start local 1 1: aload 0
getfield android.os.PatternMatcher.mType:I
tableswitch { // 0 - 3
0: 2
1: 4
2: 6
3: 8
default: 9
}
2: StackMap locals: java.lang.String
StackMap stack:
ldc "LITERAL: "
astore 1
3: goto 9
4: StackMap locals:
StackMap stack:
ldc "PREFIX: "
astore 1
5: goto 9
6: StackMap locals:
StackMap stack:
ldc "GLOB: "
astore 1
7: goto 9
8: StackMap locals:
StackMap stack:
ldc "ADVANCED: "
astore 1
9: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "PatternMatcher{"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.os.PatternMatcher.mPattern: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;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/os/PatternMatcher;
1 10 1 type Ljava/lang/String;
public void writeToProto(android.util.proto.ProtoOutputStream, long);
descriptor: (Landroid/util/proto/ProtoOutputStream;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tPatternMatcherProto cannot be resolved to a variable\n\tPatternMatcherProto cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/PatternMatcher;
MethodParameters:
Name Flags
proto
fieldId
public int describeContents();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/os/PatternMatcher;
public void writeToParcel(android.os.Parcel, int);
descriptor: (Landroid/os/Parcel;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield android.os.PatternMatcher.mPattern:Ljava/lang/String;
invokevirtual android.os.Parcel.writeString:(Ljava/lang/String;)V
1: aload 1
aload 0
getfield android.os.PatternMatcher.mType:I
invokevirtual android.os.Parcel.writeInt:(I)V
2: aload 1
aload 0
getfield android.os.PatternMatcher.mParsedPattern:[I
invokevirtual android.os.Parcel.writeIntArray:([I)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/os/PatternMatcher;
0 4 1 dest Landroid/os/Parcel;
0 4 2 flags I
MethodParameters:
Name Flags
dest
flags
public void <init>(android.os.Parcel);
descriptor: (Landroid/os/Parcel;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokevirtual android.os.Parcel.readString:()Ljava/lang/String;
putfield android.os.PatternMatcher.mPattern:Ljava/lang/String;
2: aload 0
aload 1
invokevirtual android.os.Parcel.readInt:()I
putfield android.os.PatternMatcher.mType:I
3: aload 0
aload 1
invokevirtual android.os.Parcel.createIntArray:()[I
putfield android.os.PatternMatcher.mParsedPattern:[I
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/os/PatternMatcher;
0 5 1 src Landroid/os/Parcel;
MethodParameters:
Name Flags
src
static boolean matchPattern(java.lang.String, java.lang.String, int[], int);
descriptor: (Ljava/lang/String;Ljava/lang/String;[II)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ifnonnull 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
iload 3
ifne 3
2: aload 1
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
3: StackMap locals:
StackMap stack:
iload 3
iconst_1
if_icmpne 5
4: aload 0
aload 1
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ireturn
5: StackMap locals:
StackMap stack:
iload 3
iconst_2
if_icmpne 7
6: aload 1
aload 0
invokestatic android.os.PatternMatcher.matchGlobPattern:(Ljava/lang/String;Ljava/lang/String;)Z
ireturn
7: StackMap locals:
StackMap stack:
iload 3
iconst_3
if_icmpne 9
8: aload 2
aload 0
invokestatic android.os.PatternMatcher.matchAdvancedPattern:([ILjava/lang/String;)Z
ireturn
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 match Ljava/lang/String;
0 10 1 pattern Ljava/lang/String;
0 10 2 parsedPattern [I
0 10 3 type I
MethodParameters:
Name Flags
match
pattern
parsedPattern
type
static boolean matchGlobPattern(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.String.length:()I
istore 2
start local 2 1: iload 2
ifgt 4
2: aload 1
invokevirtual java.lang.String.length:()I
ifgt 3
iconst_1
ireturn
StackMap locals: int
StackMap stack:
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
istore 3
start local 3 5: iconst_0
istore 4
start local 4 6: iconst_0
istore 5
start local 5 7: aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 8: goto 59
9: StackMap locals: java.lang.String java.lang.String int int int int int
StackMap stack:
iload 6
istore 7
start local 7 10: iinc 4 1
11: iload 4
iload 2
if_icmpge 12
aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
goto 13
StackMap locals: int
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: istore 6
14: iload 7
bipush 92
if_icmpne 15
iconst_1
goto 16
StackMap locals:
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: istore 8
start local 8 17: iload 8
ifeq 23
18: iload 6
istore 7
19: iinc 4 1
20: iload 4
iload 2
if_icmpge 21
aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
goto 22
StackMap locals: int
StackMap stack:
21: iconst_0
StackMap locals:
StackMap stack: int
22: istore 6
23: StackMap locals:
StackMap stack:
iload 6
bipush 42
if_icmpne 57
24: iload 8
ifne 47
iload 7
bipush 46
if_icmpne 47
25: iload 4
iload 2
iconst_1
isub
if_icmplt 27
26: iconst_1
ireturn
27: StackMap locals:
StackMap stack:
iinc 4 1
28: aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 6
29: iload 6
bipush 92
if_icmpne 34
30: iinc 4 1
31: iload 4
iload 2
if_icmpge 32
aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
goto 33
StackMap locals:
StackMap stack:
32: iconst_0
StackMap locals:
StackMap stack: int
33: istore 6
34: StackMap locals:
StackMap stack:
aload 1
iload 5
invokevirtual java.lang.String.charAt:(I)C
iload 6
if_icmpne 36
35: goto 39
36: StackMap locals:
StackMap stack:
iinc 5 1
37: iload 5
iload 3
38: if_icmplt 34
39: StackMap locals:
StackMap stack:
iload 5
iload 3
if_icmpne 41
40: iconst_0
ireturn
41: StackMap locals:
StackMap stack:
iinc 4 1
42: iload 4
iload 2
if_icmpge 43
aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
goto 44
StackMap locals:
StackMap stack:
43: iconst_0
StackMap locals:
StackMap stack: int
44: istore 6
45: iinc 5 1
46: goto 59
47: StackMap locals:
StackMap stack:
aload 1
iload 5
invokevirtual java.lang.String.charAt:(I)C
iload 7
if_icmpeq 49
48: goto 52
49: StackMap locals:
StackMap stack:
iinc 5 1
50: iload 5
iload 3
51: if_icmplt 47
52: StackMap locals:
StackMap stack:
iinc 4 1
53: iload 4
iload 2
if_icmpge 54
aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
goto 55
StackMap locals:
StackMap stack:
54: iconst_0
StackMap locals:
StackMap stack: int
55: istore 6
56: goto 59
57: StackMap locals:
StackMap stack:
iload 7
bipush 46
if_icmpeq 58
aload 1
iload 5
invokevirtual java.lang.String.charAt:(I)C
iload 7
if_icmpeq 58
iconst_0
ireturn
58: StackMap locals:
StackMap stack:
iinc 5 1
end local 8 end local 7 59: StackMap locals:
StackMap stack:
iload 4
iload 2
if_icmpge 60
iload 5
iload 3
if_icmplt 9
60: StackMap locals:
StackMap stack:
iload 4
iload 2
if_icmplt 62
iload 5
iload 3
if_icmplt 62
61: iconst_1
ireturn
62: StackMap locals:
StackMap stack:
iload 4
iload 2
iconst_2
isub
if_icmpne 65
aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
bipush 46
if_icmpne 65
63: aload 0
iload 4
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
bipush 42
if_icmpne 65
64: iconst_1
ireturn
65: StackMap locals:
StackMap stack:
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 66 0 pattern Ljava/lang/String;
0 66 1 match Ljava/lang/String;
1 66 2 NP I
5 66 3 NM I
6 66 4 ip I
7 66 5 im I
8 66 6 nextChar C
10 59 7 c C
17 59 8 escaped Z
MethodParameters:
Name Flags
pattern
match
static synchronized int[] parseAndVerifyAdvancedPattern(java.lang.String);
descriptor: (Ljava/lang/String;)[I
flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=15, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
invokevirtual java.lang.String.length:()I
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: iconst_0
istore 5
start local 5 5: iconst_0
istore 6
start local 6 6: goto 111
7: StackMap locals: java.lang.String int int int int int int
StackMap stack:
iload 3
sipush 2045
if_icmple 9
8: new java.lang.IllegalArgumentException
dup
ldc "Pattern is too large!"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
istore 8
start local 8 10: iconst_0
istore 7
start local 7 11: iload 8
lookupswitch { // 8
42: 47
43: 52
46: 57
91: 12
92: 60
93: 23
123: 36
125: 43
default: 65
}
12: StackMap locals: int int
StackMap stack:
iload 4
ifeq 15
13: iconst_1
istore 7
14: goto 66
15: StackMap locals:
StackMap stack:
aload 0
iload 1
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
bipush 94
if_icmpne 19
16: getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iinc 3 1
bipush -2
iastore
17: iinc 1 1
18: goto 20
19: StackMap locals:
StackMap stack:
getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iinc 3 1
iconst_m1
iastore
20: StackMap locals:
StackMap stack:
iinc 1 1
21: iconst_1
istore 4
22: goto 111
23: StackMap locals:
StackMap stack:
iload 4
ifne 26
24: iconst_1
istore 7
25: goto 66
26: StackMap locals:
StackMap stack:
getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iconst_1
isub
iaload
istore 9
start local 9 27: iload 9
iconst_m1
if_icmpeq 29
28: iload 9
bipush -2
if_icmpne 32
29: StackMap locals: int
StackMap stack:
new java.lang.IllegalArgumentException
dup
30: ldc "You must define characters in a set."
31: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iinc 3 1
bipush -3
iastore
33: iconst_0
istore 4
34: iconst_0
istore 6
end local 9 35: goto 66
36: StackMap locals:
StackMap stack:
iload 4
ifne 66
37: iload 3
ifeq 38
getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iconst_1
isub
iaload
invokestatic android.os.PatternMatcher.isParsedModifier:(I)Z
ifeq 39
38: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Modifier must follow a token."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
39: StackMap locals:
StackMap stack:
getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iinc 3 1
bipush -5
iastore
40: iinc 1 1
41: iconst_1
istore 5
42: goto 66
43: StackMap locals:
StackMap stack:
iload 5
ifeq 66
44: getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iinc 3 1
bipush -6
iastore
45: iconst_0
istore 5
46: goto 66
47: StackMap locals:
StackMap stack:
iload 4
ifne 66
48: iload 3
ifeq 49
getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iconst_1
isub
iaload
invokestatic android.os.PatternMatcher.isParsedModifier:(I)Z
ifeq 50
49: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Modifier must follow a token."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
50: StackMap locals:
StackMap stack:
getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iinc 3 1
bipush -7
iastore
51: goto 66
52: StackMap locals:
StackMap stack:
iload 4
ifne 66
53: iload 3
ifeq 54
getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iconst_1
isub
iaload
invokestatic android.os.PatternMatcher.isParsedModifier:(I)Z
ifeq 55
54: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Modifier must follow a token."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
55: StackMap locals:
StackMap stack:
getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iinc 3 1
bipush -8
iastore
56: goto 66
57: StackMap locals:
StackMap stack:
iload 4
ifne 66
58: getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iinc 3 1
bipush -4
iastore
59: goto 66
60: StackMap locals:
StackMap stack:
iload 1
iconst_1
iadd
iload 2
if_icmplt 62
61: new java.lang.IllegalArgumentException
dup
ldc "Escape found at end of pattern!"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
62: StackMap locals:
StackMap stack:
aload 0
iinc 1 1
iload 1
invokevirtual java.lang.String.charAt:(I)C
istore 8
63: iconst_1
istore 7
64: goto 66
65: StackMap locals:
StackMap stack:
iconst_1
istore 7
66: StackMap locals:
StackMap stack:
iload 4
ifeq 81
67: iload 6
ifeq 71
68: getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iinc 3 1
iload 8
iastore
69: iconst_0
istore 6
70: goto 110
71: StackMap locals:
StackMap stack:
iload 1
iconst_2
iadd
iload 2
if_icmpge 78
72: aload 0
iload 1
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
bipush 45
if_icmpne 78
73: aload 0
iload 1
iconst_2
iadd
invokevirtual java.lang.String.charAt:(I)C
bipush 93
if_icmpeq 78
74: iconst_1
istore 6
75: getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iinc 3 1
iload 8
iastore
76: iinc 1 1
77: goto 110
78: StackMap locals:
StackMap stack:
getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iinc 3 1
iload 8
iastore
79: getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iinc 3 1
iload 8
iastore
80: goto 110
StackMap locals:
StackMap stack:
81: iload 5
ifeq 108
82: aload 0
bipush 125
iload 1
invokevirtual java.lang.String.indexOf:(II)I
istore 9
start local 9 83: iload 9
ifge 85
84: new java.lang.IllegalArgumentException
dup
ldc "Range not ended with '}'"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
85: StackMap locals: int
StackMap stack:
aload 0
iload 1
iload 9
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 10
start local 10 86: aload 10
bipush 44
invokevirtual java.lang.String.indexOf:(I)I
istore 11
start local 11 87: iload 11
ifge 92
88: aload 10
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 14
start local 14 89: iload 14
dup
istore 13
start local 13 90: istore 12
end local 14 start local 12 91: goto 97
end local 13 end local 12 92: StackMap locals: java.lang.String int
StackMap stack:
aload 10
iconst_0
iload 11
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 12
start local 12 93: iload 11
aload 10
invokevirtual java.lang.String.length:()I
iconst_1
isub
if_icmpne 96
94: ldc 2147483647
istore 13
start local 13 95: goto 97
end local 13 96: StackMap locals: int
StackMap stack:
aload 10
iload 11
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 13
start local 13 97: StackMap locals: int
StackMap stack:
iload 12
iload 13
if_icmple 101
98: new java.lang.IllegalArgumentException
dup
99: ldc "Range quantifier minimum is greater than maximum"
100: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
101: StackMap locals:
StackMap stack:
getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iinc 3 1
iload 12
iastore
102: getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iinc 3 1
iload 13
iastore
end local 13 end local 12 103: goto 106
StackMap locals: java.lang.String int int int int int int int int int java.lang.String int
StackMap stack: java.lang.NumberFormatException
104: astore 12
start local 12 105: new java.lang.IllegalArgumentException
dup
ldc "Range number format incorrect"
aload 12
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 12 106: StackMap locals:
StackMap stack:
iload 9
istore 1
107: goto 111
end local 11 end local 10 end local 9 108: StackMap locals:
StackMap stack:
iload 7
ifeq 110
109: getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
iinc 3 1
iload 8
iastore
110: StackMap locals:
StackMap stack:
iinc 1 1
end local 8 end local 7 111: StackMap locals:
StackMap stack:
iload 1
iload 2
if_icmplt 7
112: iload 4
ifeq 114
113: new java.lang.IllegalArgumentException
dup
ldc "Set was not terminated!"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
114: StackMap locals:
StackMap stack:
getstatic android.os.PatternMatcher.sParsedPatternScratch:[I
iload 3
invokestatic java.util.Arrays.copyOf:([II)[I
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 115 0 pattern Ljava/lang/String;
1 115 1 ip I
2 115 2 LP I
3 115 3 it I
4 115 4 inSet Z
5 115 5 inRange Z
6 115 6 inCharClass Z
11 111 7 addToParsedPattern Z
10 111 8 c C
27 35 9 parsedToken I
83 108 9 endOfSet I
86 108 10 rangeString Ljava/lang/String;
87 108 11 commaIndex I
91 92 12 rangeMin I
93 103 12 rangeMin I
90 92 13 rangeMax I
95 96 13 rangeMax I
97 103 13 rangeMax I
89 91 14 parsedRange I
105 106 12 e Ljava/lang/NumberFormatException;
Exception table:
from to target type
87 103 104 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
pattern
private static boolean isParsedModifier(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush -8
if_icmpeq 5
1: iload 0
bipush -7
if_icmpeq 5
2: iload 0
bipush -6
if_icmpeq 5
3: iload 0
bipush -5
if_icmpeq 5
4: iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 parsedChar I
MethodParameters:
Name Flags
parsedChar
static boolean matchAdvancedPattern(int[], java.lang.String);
descriptor: ([ILjava/lang/String;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=13, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aload 0
arraylength
istore 4
start local 4 3: aload 1
invokevirtual java.lang.String.length:()I
istore 5
start local 5 4: iconst_0
istore 8
start local 8 5: iconst_0
istore 9
start local 9 6: goto 52
7: StackMap locals: int[] java.lang.String int int int int top top int int
StackMap stack:
aload 0
iload 2
iaload
istore 6
start local 6 8: iload 6
tableswitch { // -4 - -1
-4: 9
-3: 21
-2: 12
-1: 12
default: 21
}
9: StackMap locals: int[] java.lang.String int int int int int top int int
StackMap stack:
iconst_1
istore 7
start local 7 10: iinc 2 1
11: goto 24
end local 7 12: StackMap locals:
StackMap stack:
iload 6
iconst_m1
if_icmpne 14
13: iconst_2
goto 15
14: StackMap locals:
StackMap stack:
iconst_3
15: StackMap locals:
StackMap stack: int
istore 7
start local 7 16: iload 2
iconst_1
iadd
istore 8
17: StackMap locals: int[] java.lang.String int int int int int int int int
StackMap stack:
iinc 2 1
iload 2
iload 4
if_icmpge 18
aload 0
iload 2
iaload
bipush -3
if_icmpne 17
18: StackMap locals:
StackMap stack:
iload 2
iconst_1
isub
istore 9
19: iinc 2 1
20: goto 24
end local 7 21: StackMap locals: int[] java.lang.String int int int int int top int int
StackMap stack:
iload 2
istore 8
22: iconst_0
istore 7
start local 7 23: iinc 2 1
24: StackMap locals: int[] java.lang.String int int int int int int int int
StackMap stack:
iload 2
iload 4
if_icmplt 28
25: iconst_1
dup
istore 11
start local 11 26: istore 10
start local 10 27: goto 44
end local 11 end local 10 28: StackMap locals:
StackMap stack:
aload 0
iload 2
iaload
istore 6
29: iload 6
tableswitch { // -8 - -5
-8: 34
-7: 30
-6: 42
-5: 38
default: 42
}
30: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 31: ldc 2147483647
istore 11
start local 11 32: iinc 2 1
33: goto 44
end local 11 end local 10 34: StackMap locals:
StackMap stack:
iconst_1
istore 10
start local 10 35: ldc 2147483647
istore 11
start local 11 36: iinc 2 1
37: goto 44
end local 11 end local 10 38: StackMap locals:
StackMap stack:
aload 0
iinc 2 1
iload 2
iaload
istore 10
start local 10 39: aload 0
iinc 2 1
iload 2
iaload
istore 11
start local 11 40: iinc 2 2
41: goto 44
end local 11 end local 10 42: StackMap locals:
StackMap stack:
iconst_1
dup
istore 11
start local 11 43: istore 10
start local 10 44: StackMap locals: int int
StackMap stack:
iload 10
iload 11
if_icmple 46
45: iconst_0
ireturn
46: StackMap locals:
StackMap stack:
aload 1
iload 3
iload 5
iload 7
iload 10
iload 11
47: aload 0
iload 8
iload 9
48: invokestatic android.os.PatternMatcher.matchChars:(Ljava/lang/String;IIIII[III)I
istore 12
start local 12 49: iload 12
iconst_m1
if_icmpne 51
50: iconst_0
ireturn
51: StackMap locals: int
StackMap stack:
iload 3
iload 12
iadd
istore 3
end local 12 end local 11 end local 10 end local 7 end local 6 52: StackMap locals: int[] java.lang.String int int int int top top int int
StackMap stack:
iload 2
iload 4
if_icmplt 7
53: iload 2
iload 4
if_icmplt 54
iload 3
iload 5
if_icmplt 54
iconst_1
ireturn
StackMap locals:
StackMap stack:
54: iconst_0
ireturn
end local 9 end local 8 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 55 0 parsedPattern [I
0 55 1 match Ljava/lang/String;
1 55 2 ip I
2 55 3 im I
3 55 4 LP I
4 55 5 LM I
8 52 6 patternChar I
10 12 7 tokenType I
16 21 7 tokenType I
23 52 7 tokenType I
5 55 8 charSetStart I
6 55 9 charSetEnd I
27 28 10 minRepetition I
31 34 10 minRepetition I
35 38 10 minRepetition I
39 42 10 minRepetition I
44 52 10 minRepetition I
26 28 11 maxRepetition I
32 34 11 maxRepetition I
36 38 11 maxRepetition I
40 42 11 maxRepetition I
43 52 11 maxRepetition I
49 52 12 matched I
MethodParameters:
Name Flags
parsedPattern
match
private static int matchChars(java.lang.String, int, int, int, int, int, int[], int, int);
descriptor: (Ljava/lang/String;IIIII[III)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=10, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: iconst_0
istore 9
start local 9 1: goto 3
2: StackMap locals: int
StackMap stack:
iinc 9 1
3: StackMap locals:
StackMap stack:
iload 9
iload 5
if_icmpge 8
4: aload 0
iload 1
iload 9
iadd
iload 2
iload 3
aload 6
iload 7
5: iload 8
6: invokestatic android.os.PatternMatcher.matchChar:(Ljava/lang/String;III[III)Z
7: ifne 2
8: StackMap locals:
StackMap stack:
iload 9
iload 4
if_icmpge 9
iconst_m1
goto 10
StackMap locals:
StackMap stack:
9: iload 9
StackMap locals:
StackMap stack: int
10: ireturn
end local 9 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 11 0 match Ljava/lang/String;
0 11 1 im I
0 11 2 lm I
0 11 3 tokenType I
0 11 4 minRepetition I
0 11 5 maxRepetition I
0 11 6 parsedPattern [I
0 11 7 tokenStart I
0 11 8 tokenEnd I
1 11 9 matched I
MethodParameters:
Name Flags
match
im
lm final
tokenType
minRepetition
maxRepetition
parsedPattern
tokenStart
tokenEnd
private static boolean matchChar(java.lang.String, int, int, int, int[], int, int);
descriptor: (Ljava/lang/String;III[III)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 1
iload 2
if_icmplt 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iload 3
tableswitch { // 0 - 3
0: 20
1: 3
2: 4
3: 12
default: 22
}
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iload 5
istore 7
start local 7 5: goto 10
6: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
istore 8
start local 8 7: iload 8
aload 4
iload 7
iaload
if_icmplt 9
iload 8
aload 4
iload 7
iconst_1
iadd
iaload
if_icmpgt 9
8: iconst_1
ireturn
end local 8 9: StackMap locals:
StackMap stack:
iinc 7 2
StackMap locals:
StackMap stack:
10: iload 7
iload 6
if_icmplt 6
end local 7 11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
iload 5
istore 7
start local 7 13: goto 18
14: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
istore 8
start local 8 15: iload 8
aload 4
iload 7
iaload
if_icmplt 17
iload 8
aload 4
iload 7
iconst_1
iadd
iaload
if_icmpgt 17
16: iconst_0
ireturn
end local 8 17: StackMap locals:
StackMap stack:
iinc 7 2
StackMap locals:
StackMap stack:
18: iload 7
iload 6
if_icmplt 14
end local 7 19: iconst_1
ireturn
20: StackMap locals:
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
aload 4
iload 5
iaload
if_icmpne 21
iconst_1
ireturn
StackMap locals:
StackMap stack:
21: iconst_0
ireturn
22: StackMap locals:
StackMap stack:
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 23 0 match Ljava/lang/String;
0 23 1 im I
0 23 2 lm I
0 23 3 tokenType I
0 23 4 parsedPattern [I
0 23 5 tokenStart I
0 23 6 tokenEnd I
5 11 7 i I
7 9 8 matchChar C
13 19 7 i I
15 17 8 matchChar C
MethodParameters:
Name Flags
match
im
lm final
tokenType
parsedPattern
tokenStart
tokenEnd
}
SourceFile: "PatternMatcher.java"
NestMembers:
android.os.PatternMatcher$1
InnerClasses:
public abstract Creator = android.os.Parcelable$Creator of android.os.Parcelable
android.os.PatternMatcher$1