public class io.micronaut.core.util.AntPathMatcher implements io.micronaut.core.util.PathMatcher
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.micronaut.core.util.AntPathMatcher
super_class: java.lang.Object
{
public static final java.lang.String DEFAULT_PATH_SEPARATOR;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "/"
private java.lang.String pathSeparator;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // io.micronaut.core.util.AntPathMatcher this
0: .line 60
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 67
aload 0 /* this */
ldc "/"
putfield io.micronaut.core.util.AntPathMatcher.pathSeparator:Ljava/lang/String;
2: .line 60
return
end local 0 // io.micronaut.core.util.AntPathMatcher this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/micronaut/core/util/AntPathMatcher;
public void setPathSeparator(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // io.micronaut.core.util.AntPathMatcher this
start local 1 // java.lang.String pathSeparator
0: .line 76
aload 0 /* this */
aload 1 /* pathSeparator */
ifnull 1
aload 1 /* pathSeparator */
goto 2
StackMap locals:
StackMap stack: io.micronaut.core.util.AntPathMatcher
1: ldc "/"
StackMap locals: io.micronaut.core.util.AntPathMatcher java.lang.String
StackMap stack: io.micronaut.core.util.AntPathMatcher java.lang.String
2: putfield io.micronaut.core.util.AntPathMatcher.pathSeparator:Ljava/lang/String;
3: .line 77
return
end local 1 // java.lang.String pathSeparator
end local 0 // io.micronaut.core.util.AntPathMatcher this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/micronaut/core/util/AntPathMatcher;
0 4 1 pathSeparator Ljava/lang/String;
MethodParameters:
Name Flags
pathSeparator
public boolean isPattern(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // io.micronaut.core.util.AntPathMatcher this
start local 1 // java.lang.String path
0: .line 84
aload 1 /* path */
bipush 42
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 1
aload 1 /* path */
bipush 63
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 // java.lang.String path
end local 0 // io.micronaut.core.util.AntPathMatcher this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/micronaut/core/util/AntPathMatcher;
0 2 1 path Ljava/lang/String;
MethodParameters:
Name Flags
path
public boolean matches(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 // io.micronaut.core.util.AntPathMatcher this
start local 1 // java.lang.String pattern
start local 2 // java.lang.String source
0: .line 89
aload 0 /* this */
aload 1 /* pattern */
aload 2 /* source */
iconst_1
invokevirtual io.micronaut.core.util.AntPathMatcher.doMatch:(Ljava/lang/String;Ljava/lang/String;Z)Z
ireturn
end local 2 // java.lang.String source
end local 1 // java.lang.String pattern
end local 0 // io.micronaut.core.util.AntPathMatcher this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/micronaut/core/util/AntPathMatcher;
0 1 1 pattern Ljava/lang/String;
0 1 2 source Ljava/lang/String;
MethodParameters:
Name Flags
pattern
source
protected boolean doMatch(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=18, args_size=4
start local 0 // io.micronaut.core.util.AntPathMatcher this
start local 1 // java.lang.String pattern
start local 2 // java.lang.String path
start local 3 // boolean fullMatch
0: .line 103
aload 2 /* path */
ifnull 1
aload 1 /* pattern */
ifnull 1
aload 2 /* path */
aload 0 /* this */
getfield io.micronaut.core.util.AntPathMatcher.pathSeparator:Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
aload 1 /* pattern */
aload 0 /* this */
getfield io.micronaut.core.util.AntPathMatcher.pathSeparator:Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
if_icmpeq 2
1: .line 104
StackMap locals:
StackMap stack:
iconst_0
ireturn
2: .line 107
StackMap locals:
StackMap stack:
aload 1 /* pattern */
aload 0 /* this */
getfield io.micronaut.core.util.AntPathMatcher.pathSeparator:Ljava/lang/String;
invokestatic io.micronaut.core.util.StringUtils.tokenizeToStringArray:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 4 /* pattDirs */
start local 4 // java.lang.String[] pattDirs
3: .line 108
aload 2 /* path */
aload 0 /* this */
getfield io.micronaut.core.util.AntPathMatcher.pathSeparator:Ljava/lang/String;
invokestatic io.micronaut.core.util.StringUtils.tokenizeToStringArray:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 5 /* pathDirs */
start local 5 // java.lang.String[] pathDirs
4: .line 110
iconst_0
istore 6 /* pattIdxStart */
start local 6 // int pattIdxStart
5: .line 111
aload 4 /* pattDirs */
arraylength
iconst_1
isub
istore 7 /* pattIdxEnd */
start local 7 // int pattIdxEnd
6: .line 112
iconst_0
istore 8 /* pathIdxStart */
start local 8 // int pathIdxStart
7: .line 113
aload 5 /* pathDirs */
arraylength
iconst_1
isub
istore 9 /* pathIdxEnd */
start local 9 // int pathIdxEnd
8: .line 116
goto 16
9: .line 117
StackMap locals: io.micronaut.core.util.AntPathMatcher java.lang.String java.lang.String int java.lang.String[] java.lang.String[] int int int int
StackMap stack:
aload 4 /* pattDirs */
iload 6 /* pattIdxStart */
aaload
astore 10 /* patDir */
start local 10 // java.lang.String patDir
10: .line 118
ldc "**"
aload 10 /* patDir */
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
11: .line 119
goto 17
12: .line 121
StackMap locals: java.lang.String
StackMap stack:
aload 0 /* this */
aload 10 /* patDir */
aload 5 /* pathDirs */
iload 8 /* pathIdxStart */
aaload
invokevirtual io.micronaut.core.util.AntPathMatcher.matchStrings:(Ljava/lang/String;Ljava/lang/String;)Z
ifne 14
13: .line 122
iconst_0
ireturn
14: .line 124
StackMap locals:
StackMap stack:
iinc 6 /* pattIdxStart */ 1
15: .line 125
iinc 8 /* pathIdxStart */ 1
end local 10 // java.lang.String patDir
16: .line 116
StackMap locals:
StackMap stack:
iload 6 /* pattIdxStart */
iload 7 /* pattIdxEnd */
if_icmpgt 17
iload 8 /* pathIdxStart */
iload 9 /* pathIdxEnd */
if_icmple 9
17: .line 128
StackMap locals:
StackMap stack:
iload 8 /* pathIdxStart */
iload 9 /* pathIdxEnd */
if_icmple 36
18: .line 130
iload 6 /* pattIdxStart */
iload 7 /* pattIdxEnd */
if_icmple 24
19: .line 131
aload 1 /* pattern */
aload 0 /* this */
getfield io.micronaut.core.util.AntPathMatcher.pathSeparator:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 21
20: .line 132
aload 2 /* path */
aload 0 /* this */
getfield io.micronaut.core.util.AntPathMatcher.pathSeparator:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
goto 23
StackMap locals:
StackMap stack:
21: aload 2 /* path */
aload 0 /* this */
getfield io.micronaut.core.util.AntPathMatcher.pathSeparator:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 22
iconst_0
goto 23
StackMap locals:
StackMap stack:
22: iconst_1
23: .line 131
StackMap locals:
StackMap stack: int
ireturn
24: .line 134
StackMap locals:
StackMap stack:
iload 3 /* fullMatch */
ifne 26
25: .line 135
iconst_1
ireturn
26: .line 137
StackMap locals:
StackMap stack:
iload 6 /* pattIdxStart */
iload 7 /* pattIdxEnd */
if_icmpne 29
aload 4 /* pattDirs */
iload 6 /* pattIdxStart */
aaload
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
27: .line 138
aload 2 /* path */
aload 0 /* this */
getfield io.micronaut.core.util.AntPathMatcher.pathSeparator:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 29
28: .line 139
iconst_1
ireturn
29: .line 141
StackMap locals:
StackMap stack:
iload 6 /* pattIdxStart */
istore 10 /* i */
start local 10 // int i
30: goto 34
31: .line 142
StackMap locals: int
StackMap stack:
aload 4 /* pattDirs */
iload 10 /* i */
aaload
ldc "**"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 33
32: .line 143
iconst_0
ireturn
33: .line 141
StackMap locals:
StackMap stack:
iinc 10 /* i */ 1
StackMap locals:
StackMap stack:
34: iload 10 /* i */
iload 7 /* pattIdxEnd */
if_icmple 31
end local 10 // int i
35: .line 146
iconst_1
ireturn
36: .line 147
StackMap locals:
StackMap stack:
iload 6 /* pattIdxStart */
iload 7 /* pattIdxEnd */
if_icmple 38
37: .line 149
iconst_0
ireturn
38: .line 150
StackMap locals:
StackMap stack:
iload 3 /* fullMatch */
ifne 47
ldc "**"
aload 4 /* pattDirs */
iload 6 /* pattIdxStart */
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 47
39: .line 152
iconst_1
ireturn
40: .line 157
StackMap locals:
StackMap stack:
aload 4 /* pattDirs */
iload 7 /* pattIdxEnd */
aaload
astore 10 /* patDir */
start local 10 // java.lang.String patDir
41: .line 158
aload 10 /* patDir */
ldc "**"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 43
42: .line 159
goto 48
43: .line 161
StackMap locals: java.lang.String
StackMap stack:
aload 0 /* this */
aload 10 /* patDir */
aload 5 /* pathDirs */
iload 9 /* pathIdxEnd */
aaload
invokevirtual io.micronaut.core.util.AntPathMatcher.matchStrings:(Ljava/lang/String;Ljava/lang/String;)Z
ifne 45
44: .line 162
iconst_0
ireturn
45: .line 164
StackMap locals:
StackMap stack:
iinc 7 /* pattIdxEnd */ -1
46: .line 165
iinc 9 /* pathIdxEnd */ -1
end local 10 // java.lang.String patDir
47: .line 156
StackMap locals:
StackMap stack:
iload 6 /* pattIdxStart */
iload 7 /* pattIdxEnd */
if_icmpgt 48
iload 8 /* pathIdxStart */
iload 9 /* pathIdxEnd */
if_icmple 40
48: .line 167
StackMap locals:
StackMap stack:
iload 8 /* pathIdxStart */
iload 9 /* pathIdxEnd */
if_icmple 88
49: .line 169
iload 6 /* pattIdxStart */
istore 10 /* i */
start local 10 // int i
50: goto 54
51: .line 170
StackMap locals: int
StackMap stack:
aload 4 /* pattDirs */
iload 10 /* i */
aaload
ldc "**"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 53
52: .line 171
iconst_0
ireturn
53: .line 169
StackMap locals:
StackMap stack:
iinc 10 /* i */ 1
StackMap locals:
StackMap stack:
54: iload 10 /* i */
iload 7 /* pattIdxEnd */
if_icmple 51
end local 10 // int i
55: .line 174
iconst_1
ireturn
56: .line 178
StackMap locals:
StackMap stack:
iconst_m1
istore 10 /* patIdxTmp */
start local 10 // int patIdxTmp
57: .line 179
iload 6 /* pattIdxStart */
iconst_1
iadd
istore 11 /* i */
start local 11 // int i
58: goto 63
59: .line 180
StackMap locals: int int
StackMap stack:
aload 4 /* pattDirs */
iload 11 /* i */
aaload
ldc "**"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 62
60: .line 181
iload 11 /* i */
istore 10 /* patIdxTmp */
61: .line 182
goto 64
62: .line 179
StackMap locals:
StackMap stack:
iinc 11 /* i */ 1
StackMap locals:
StackMap stack:
63: iload 11 /* i */
iload 7 /* pattIdxEnd */
if_icmple 59
end local 11 // int i
64: .line 185
StackMap locals:
StackMap stack:
iload 10 /* patIdxTmp */
iload 6 /* pattIdxStart */
iconst_1
iadd
if_icmpne 67
65: .line 187
iinc 6 /* pattIdxStart */ 1
66: .line 188
goto 88
67: .line 192
StackMap locals:
StackMap stack:
iload 10 /* patIdxTmp */
iload 6 /* pattIdxStart */
isub
iconst_1
isub
istore 11 /* patLength */
start local 11 // int patLength
68: .line 193
iload 9 /* pathIdxEnd */
iload 8 /* pathIdxStart */
isub
iconst_1
iadd
istore 12 /* strLength */
start local 12 // int strLength
69: .line 194
iconst_m1
istore 13 /* foundIdx */
start local 13 // int foundIdx
70: .line 197
iconst_0
istore 14 /* i */
start local 14 // int i
71: goto 83
72: .line 198
StackMap locals: io.micronaut.core.util.AntPathMatcher java.lang.String java.lang.String int java.lang.String[] java.lang.String[] int int int int int int int int int
StackMap stack:
iconst_0
istore 15 /* j */
start local 15 // int j
73: goto 79
74: .line 199
StackMap locals: int
StackMap stack:
aload 4 /* pattDirs */
iload 6 /* pattIdxStart */
iload 15 /* j */
iadd
iconst_1
iadd
aaload
astore 16 /* subPat */
start local 16 // java.lang.String subPat
75: .line 200
aload 5 /* pathDirs */
iload 8 /* pathIdxStart */
iload 14 /* i */
iadd
iload 15 /* j */
iadd
aaload
astore 17 /* subStr */
start local 17 // java.lang.String subStr
76: .line 201
aload 0 /* this */
aload 16 /* subPat */
aload 17 /* subStr */
invokevirtual io.micronaut.core.util.AntPathMatcher.matchStrings:(Ljava/lang/String;Ljava/lang/String;)Z
ifne 78
77: .line 202
goto 82
end local 17 // java.lang.String subStr
end local 16 // java.lang.String subPat
78: .line 198
StackMap locals:
StackMap stack:
iinc 15 /* j */ 1
StackMap locals:
StackMap stack:
79: iload 15 /* j */
iload 11 /* patLength */
if_icmplt 74
end local 15 // int j
80: .line 205
iload 8 /* pathIdxStart */
iload 14 /* i */
iadd
istore 13 /* foundIdx */
81: .line 206
goto 84
82: .line 197
StackMap locals:
StackMap stack:
iinc 14 /* i */ 1
StackMap locals:
StackMap stack:
83: iload 14 /* i */
iload 12 /* strLength */
iload 11 /* patLength */
isub
if_icmple 72
end local 14 // int i
84: .line 209
StackMap locals:
StackMap stack:
iload 13 /* foundIdx */
iconst_m1
if_icmpne 86
85: .line 210
iconst_0
ireturn
86: .line 213
StackMap locals:
StackMap stack:
iload 10 /* patIdxTmp */
istore 6 /* pattIdxStart */
87: .line 214
iload 13 /* foundIdx */
iload 11 /* patLength */
iadd
istore 8 /* pathIdxStart */
end local 13 // int foundIdx
end local 12 // int strLength
end local 11 // int patLength
end local 10 // int patIdxTmp
88: .line 177
StackMap locals: io.micronaut.core.util.AntPathMatcher java.lang.String java.lang.String int java.lang.String[] java.lang.String[] int int int int
StackMap stack:
iload 6 /* pattIdxStart */
iload 7 /* pattIdxEnd */
if_icmpeq 89
iload 8 /* pathIdxStart */
iload 9 /* pathIdxEnd */
if_icmple 56
89: .line 217
StackMap locals:
StackMap stack:
iload 6 /* pattIdxStart */
istore 10 /* i */
start local 10 // int i
90: goto 94
91: .line 218
StackMap locals: int
StackMap stack:
aload 4 /* pattDirs */
iload 10 /* i */
aaload
ldc "**"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 93
92: .line 219
iconst_0
ireturn
93: .line 217
StackMap locals:
StackMap stack:
iinc 10 /* i */ 1
StackMap locals:
StackMap stack:
94: iload 10 /* i */
iload 7 /* pattIdxEnd */
if_icmple 91
end local 10 // int i
95: .line 223
iconst_1
ireturn
end local 9 // int pathIdxEnd
end local 8 // int pathIdxStart
end local 7 // int pattIdxEnd
end local 6 // int pattIdxStart
end local 5 // java.lang.String[] pathDirs
end local 4 // java.lang.String[] pattDirs
end local 3 // boolean fullMatch
end local 2 // java.lang.String path
end local 1 // java.lang.String pattern
end local 0 // io.micronaut.core.util.AntPathMatcher this
LocalVariableTable:
Start End Slot Name Signature
0 96 0 this Lio/micronaut/core/util/AntPathMatcher;
0 96 1 pattern Ljava/lang/String;
0 96 2 path Ljava/lang/String;
0 96 3 fullMatch Z
3 96 4 pattDirs [Ljava/lang/String;
4 96 5 pathDirs [Ljava/lang/String;
5 96 6 pattIdxStart I
6 96 7 pattIdxEnd I
7 96 8 pathIdxStart I
8 96 9 pathIdxEnd I
10 16 10 patDir Ljava/lang/String;
30 35 10 i I
41 47 10 patDir Ljava/lang/String;
50 55 10 i I
57 88 10 patIdxTmp I
58 64 11 i I
68 88 11 patLength I
69 88 12 strLength I
70 88 13 foundIdx I
71 84 14 i I
73 80 15 j I
75 78 16 subPat Ljava/lang/String;
76 78 17 subStr Ljava/lang/String;
90 95 10 i I
MethodParameters:
Name Flags
pattern
path
fullMatch
private boolean matchStrings(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=17, args_size=3
start local 0 // io.micronaut.core.util.AntPathMatcher this
start local 1 // java.lang.String pattern
start local 2 // java.lang.String str
0: .line 241
aload 1 /* pattern */
invokevirtual java.lang.String.toCharArray:()[C
astore 3 /* patArr */
start local 3 // char[] patArr
1: .line 242
aload 2 /* str */
invokevirtual java.lang.String.toCharArray:()[C
astore 4 /* strArr */
start local 4 // char[] strArr
2: .line 243
iconst_0
istore 5 /* patIdxStart */
start local 5 // int patIdxStart
3: .line 244
aload 3 /* patArr */
arraylength
iconst_1
isub
istore 6 /* patIdxEnd */
start local 6 // int patIdxEnd
4: .line 245
iconst_0
istore 7 /* strIdxStart */
start local 7 // int strIdxStart
5: .line 246
aload 4 /* strArr */
arraylength
iconst_1
isub
istore 8 /* strIdxEnd */
start local 8 // int strIdxEnd
6: .line 249
iconst_0
istore 10 /* containsStar */
start local 10 // boolean containsStar
7: .line 250
aload 3 /* patArr */
dup
astore 14
arraylength
istore 13
iconst_0
istore 12
goto 13
StackMap locals: io.micronaut.core.util.AntPathMatcher java.lang.String java.lang.String char[] char[] int int int int top int top int int char[]
StackMap stack:
8: aload 14
iload 12
caload
istore 11 /* aPatArr */
start local 11 // char aPatArr
9: .line 251
iload 11 /* aPatArr */
bipush 42
if_icmpne 12
10: .line 252
iconst_1
istore 10 /* containsStar */
11: .line 253
goto 14
end local 11 // char aPatArr
12: .line 250
StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
13: iload 12
iload 13
if_icmplt 8
14: .line 257
StackMap locals: io.micronaut.core.util.AntPathMatcher java.lang.String java.lang.String char[] char[] int int int int top int
StackMap stack:
iload 10 /* containsStar */
ifne 26
15: .line 259
iload 6 /* patIdxEnd */
iload 8 /* strIdxEnd */
if_icmpeq 17
16: .line 260
iconst_0
ireturn
17: .line 262
StackMap locals:
StackMap stack:
iconst_0
istore 11 /* i */
start local 11 // int i
18: goto 24
19: .line 263
StackMap locals: int
StackMap stack:
aload 3 /* patArr */
iload 11 /* i */
caload
istore 9 /* ch */
start local 9 // char ch
20: .line 264
iload 9 /* ch */
bipush 63
if_icmpeq 23
21: .line 265
iload 9 /* ch */
aload 4 /* strArr */
iload 11 /* i */
caload
if_icmpeq 23
22: .line 267
iconst_0
ireturn
23: .line 262
StackMap locals: io.micronaut.core.util.AntPathMatcher java.lang.String java.lang.String char[] char[] int int int int int int int
StackMap stack:
iinc 11 /* i */ 1
end local 9 // char ch
StackMap locals: io.micronaut.core.util.AntPathMatcher java.lang.String java.lang.String char[] char[] int int int int top int int
StackMap stack:
24: iload 11 /* i */
iload 6 /* patIdxEnd */
if_icmple 19
end local 11 // int i
25: .line 271
iconst_1
ireturn
26: .line 275
StackMap locals:
StackMap stack:
iload 6 /* patIdxEnd */
ifne 33
27: .line 276
iconst_1
ireturn
start local 9 // char ch
28: .line 281
StackMap locals: io.micronaut.core.util.AntPathMatcher java.lang.String java.lang.String char[] char[] int int int int int int
StackMap stack:
iload 9 /* ch */
bipush 63
if_icmpeq 31
29: .line 282
iload 9 /* ch */
aload 4 /* strArr */
iload 7 /* strIdxStart */
caload
if_icmpeq 31
30: .line 284
iconst_0
ireturn
31: .line 287
StackMap locals:
StackMap stack:
iinc 5 /* patIdxStart */ 1
32: .line 288
iinc 7 /* strIdxStart */ 1
end local 9 // char ch
33: .line 280
StackMap locals: io.micronaut.core.util.AntPathMatcher java.lang.String java.lang.String char[] char[] int int int int top int
StackMap stack:
aload 3 /* patArr */
iload 5 /* patIdxStart */
caload
dup
istore 9 /* ch */
start local 9 // char ch
34: bipush 42
if_icmpeq 35
iload 7 /* strIdxStart */
iload 8 /* strIdxEnd */
if_icmple 28
35: .line 290
StackMap locals: io.micronaut.core.util.AntPathMatcher java.lang.String java.lang.String char[] char[] int int int int int int
StackMap stack:
iload 7 /* strIdxStart */
iload 8 /* strIdxEnd */
if_icmple 48
36: .line 293
iload 5 /* patIdxStart */
istore 11 /* i */
start local 11 // int i
37: goto 41
38: .line 294
StackMap locals: int
StackMap stack:
aload 3 /* patArr */
iload 11 /* i */
caload
bipush 42
if_icmpeq 40
39: .line 295
iconst_0
ireturn
40: .line 293
StackMap locals:
StackMap stack:
iinc 11 /* i */ 1
StackMap locals:
StackMap stack:
41: iload 11 /* i */
iload 6 /* patIdxEnd */
if_icmple 38
end local 11 // int i
42: .line 298
iconst_1
ireturn
43: .line 303
StackMap locals:
StackMap stack:
iload 9 /* ch */
bipush 63
if_icmpeq 46
44: .line 304
iload 9 /* ch */
aload 4 /* strArr */
iload 8 /* strIdxEnd */
caload
if_icmpeq 46
45: .line 306
iconst_0
ireturn
46: .line 309
StackMap locals:
StackMap stack:
iinc 6 /* patIdxEnd */ -1
47: .line 310
iinc 8 /* strIdxEnd */ -1
48: .line 302
StackMap locals:
StackMap stack:
aload 3 /* patArr */
iload 6 /* patIdxEnd */
caload
dup
istore 9 /* ch */
bipush 42
if_icmpeq 49
iload 7 /* strIdxStart */
iload 8 /* strIdxEnd */
if_icmple 43
49: .line 312
StackMap locals:
StackMap stack:
iload 7 /* strIdxStart */
iload 8 /* strIdxEnd */
if_icmple 89
50: .line 315
iload 5 /* patIdxStart */
istore 11 /* i */
start local 11 // int i
51: goto 55
52: .line 316
StackMap locals: int
StackMap stack:
aload 3 /* patArr */
iload 11 /* i */
caload
bipush 42
if_icmpeq 54
53: .line 317
iconst_0
ireturn
54: .line 315
StackMap locals:
StackMap stack:
iinc 11 /* i */ 1
StackMap locals:
StackMap stack:
55: iload 11 /* i */
iload 6 /* patIdxEnd */
if_icmple 52
end local 11 // int i
56: .line 320
iconst_1
ireturn
57: .line 326
StackMap locals:
StackMap stack:
iconst_m1
istore 11 /* patIdxTmp */
start local 11 // int patIdxTmp
58: .line 327
iload 5 /* patIdxStart */
iconst_1
iadd
istore 12 /* i */
start local 12 // int i
59: goto 64
60: .line 328
StackMap locals: int int
StackMap stack:
aload 3 /* patArr */
iload 12 /* i */
caload
bipush 42
if_icmpne 63
61: .line 329
iload 12 /* i */
istore 11 /* patIdxTmp */
62: .line 330
goto 65
63: .line 327
StackMap locals:
StackMap stack:
iinc 12 /* i */ 1
StackMap locals:
StackMap stack:
64: iload 12 /* i */
iload 6 /* patIdxEnd */
if_icmple 60
end local 12 // int i
65: .line 333
StackMap locals:
StackMap stack:
iload 11 /* patIdxTmp */
iload 5 /* patIdxStart */
iconst_1
iadd
if_icmpne 68
66: .line 335
iinc 5 /* patIdxStart */ 1
67: .line 336
goto 89
68: .line 340
StackMap locals:
StackMap stack:
iload 11 /* patIdxTmp */
iload 5 /* patIdxStart */
isub
iconst_1
isub
istore 12 /* patLength */
start local 12 // int patLength
69: .line 341
iload 8 /* strIdxEnd */
iload 7 /* strIdxStart */
isub
iconst_1
iadd
istore 13 /* strLength */
start local 13 // int strLength
70: .line 342
iconst_m1
istore 14 /* foundIdx */
start local 14 // int foundIdx
71: .line 344
iconst_0
istore 15 /* i */
start local 15 // int i
72: goto 84
73: .line 345
StackMap locals: io.micronaut.core.util.AntPathMatcher java.lang.String java.lang.String char[] char[] int int int int int int int int int int int
StackMap stack:
iconst_0
istore 16 /* j */
start local 16 // int j
74: goto 80
75: .line 346
StackMap locals: int
StackMap stack:
aload 3 /* patArr */
iload 5 /* patIdxStart */
iload 16 /* j */
iadd
iconst_1
iadd
caload
istore 9 /* ch */
76: .line 347
iload 9 /* ch */
bipush 63
if_icmpeq 79
77: .line 348
iload 9 /* ch */
aload 4 /* strArr */
iload 7 /* strIdxStart */
iload 15 /* i */
iadd
iload 16 /* j */
iadd
caload
if_icmpeq 79
78: .line 349
goto 83
79: .line 345
StackMap locals:
StackMap stack:
iinc 16 /* j */ 1
StackMap locals:
StackMap stack:
80: iload 16 /* j */
iload 12 /* patLength */
if_icmplt 75
end local 16 // int j
81: .line 354
iload 7 /* strIdxStart */
iload 15 /* i */
iadd
istore 14 /* foundIdx */
82: .line 355
goto 85
83: .line 344
StackMap locals:
StackMap stack:
iinc 15 /* i */ 1
StackMap locals:
StackMap stack:
84: iload 15 /* i */
iload 13 /* strLength */
iload 12 /* patLength */
isub
if_icmple 73
end local 15 // int i
85: .line 358
StackMap locals:
StackMap stack:
iload 14 /* foundIdx */
iconst_m1
if_icmpne 87
86: .line 359
iconst_0
ireturn
87: .line 362
StackMap locals:
StackMap stack:
iload 11 /* patIdxTmp */
istore 5 /* patIdxStart */
88: .line 363
iload 14 /* foundIdx */
iload 12 /* patLength */
iadd
istore 7 /* strIdxStart */
end local 14 // int foundIdx
end local 13 // int strLength
end local 12 // int patLength
end local 11 // int patIdxTmp
89: .line 325
StackMap locals: io.micronaut.core.util.AntPathMatcher java.lang.String java.lang.String char[] char[] int int int int int int
StackMap stack:
iload 5 /* patIdxStart */
iload 6 /* patIdxEnd */
if_icmpeq 90
iload 7 /* strIdxStart */
iload 8 /* strIdxEnd */
if_icmple 57
90: .line 368
StackMap locals:
StackMap stack:
iload 5 /* patIdxStart */
istore 11 /* i */
start local 11 // int i
91: goto 95
92: .line 369
StackMap locals: int
StackMap stack:
aload 3 /* patArr */
iload 11 /* i */
caload
bipush 42
if_icmpeq 94
93: .line 370
iconst_0
ireturn
94: .line 368
StackMap locals:
StackMap stack:
iinc 11 /* i */ 1
StackMap locals:
StackMap stack:
95: iload 11 /* i */
iload 6 /* patIdxEnd */
if_icmple 92
end local 11 // int i
96: .line 374
iconst_1
ireturn
end local 10 // boolean containsStar
end local 9 // char ch
end local 8 // int strIdxEnd
end local 7 // int strIdxStart
end local 6 // int patIdxEnd
end local 5 // int patIdxStart
end local 4 // char[] strArr
end local 3 // char[] patArr
end local 2 // java.lang.String str
end local 1 // java.lang.String pattern
end local 0 // io.micronaut.core.util.AntPathMatcher this
LocalVariableTable:
Start End Slot Name Signature
0 97 0 this Lio/micronaut/core/util/AntPathMatcher;
0 97 1 pattern Ljava/lang/String;
0 97 2 str Ljava/lang/String;
1 97 3 patArr [C
2 97 4 strArr [C
3 97 5 patIdxStart I
4 97 6 patIdxEnd I
5 97 7 strIdxStart I
6 97 8 strIdxEnd I
20 24 9 ch C
28 33 9 ch C
34 97 9 ch C
7 97 10 containsStar Z
9 12 11 aPatArr C
18 25 11 i I
37 42 11 i I
51 56 11 i I
58 89 11 patIdxTmp I
59 65 12 i I
69 89 12 patLength I
70 89 13 strLength I
71 89 14 foundIdx I
72 85 15 i I
74 81 16 j I
91 96 11 i I
MethodParameters:
Name Flags
pattern
str
public java.lang.String extractPathWithinPattern(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=3
start local 0 // io.micronaut.core.util.AntPathMatcher this
start local 1 // java.lang.String pattern
start local 2 // java.lang.String path
0: .line 398
aload 1 /* pattern */
aload 0 /* this */
getfield io.micronaut.core.util.AntPathMatcher.pathSeparator:Ljava/lang/String;
invokestatic io.micronaut.core.util.StringUtils.tokenizeToStringArray:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 3 /* patternParts */
start local 3 // java.lang.String[] patternParts
1: .line 399
aload 2 /* path */
aload 0 /* this */
getfield io.micronaut.core.util.AntPathMatcher.pathSeparator:Ljava/lang/String;
invokestatic io.micronaut.core.util.StringUtils.tokenizeToStringArray:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 4 /* pathParts */
start local 4 // java.lang.String[] pathParts
2: .line 401
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5 /* buffer */
start local 5 // java.lang.StringBuilder buffer
3: .line 404
iconst_0
istore 6 /* puts */
start local 6 // int puts
4: .line 405
iconst_0
istore 7 /* i */
start local 7 // int i
5: goto 14
6: .line 406
StackMap locals: io.micronaut.core.util.AntPathMatcher java.lang.String java.lang.String java.lang.String[] java.lang.String[] java.lang.StringBuilder int int
StackMap stack:
aload 3 /* patternParts */
iload 7 /* i */
aaload
astore 8 /* patternPart */
start local 8 // java.lang.String patternPart
7: .line 407
aload 8 /* patternPart */
bipush 42
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpgt 8
aload 8 /* patternPart */
bipush 63
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmple 13
StackMap locals: java.lang.String
StackMap stack:
8: aload 4 /* pathParts */
arraylength
iload 7 /* i */
iconst_1
iadd
if_icmplt 13
9: .line 408
iload 6 /* puts */
ifgt 10
iload 7 /* i */
ifne 11
aload 1 /* pattern */
aload 0 /* this */
getfield io.micronaut.core.util.AntPathMatcher.pathSeparator:Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 11
10: .line 409
StackMap locals:
StackMap stack:
aload 5 /* buffer */
aload 0 /* this */
getfield io.micronaut.core.util.AntPathMatcher.pathSeparator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: .line 411
StackMap locals:
StackMap stack:
aload 5 /* buffer */
aload 4 /* pathParts */
iload 7 /* i */
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: .line 412
iinc 6 /* puts */ 1
end local 8 // java.lang.String patternPart
13: .line 405
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
14: iload 7 /* i */
aload 3 /* patternParts */
arraylength
if_icmplt 6
end local 7 // int i
15: .line 417
aload 3 /* patternParts */
arraylength
istore 7 /* i */
start local 7 // int i
16: goto 21
17: .line 418
StackMap locals:
StackMap stack:
iload 6 /* puts */
ifgt 18
iload 7 /* i */
ifle 19
18: .line 419
StackMap locals:
StackMap stack:
aload 5 /* buffer */
aload 0 /* this */
getfield io.micronaut.core.util.AntPathMatcher.pathSeparator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
19: .line 421
StackMap locals:
StackMap stack:
aload 5 /* buffer */
aload 4 /* pathParts */
iload 7 /* i */
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
20: .line 417
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
21: iload 7 /* i */
aload 4 /* pathParts */
arraylength
if_icmplt 17
end local 7 // int i
22: .line 424
aload 5 /* buffer */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 6 // int puts
end local 5 // java.lang.StringBuilder buffer
end local 4 // java.lang.String[] pathParts
end local 3 // java.lang.String[] patternParts
end local 2 // java.lang.String path
end local 1 // java.lang.String pattern
end local 0 // io.micronaut.core.util.AntPathMatcher this
LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lio/micronaut/core/util/AntPathMatcher;
0 23 1 pattern Ljava/lang/String;
0 23 2 path Ljava/lang/String;
1 23 3 patternParts [Ljava/lang/String;
2 23 4 pathParts [Ljava/lang/String;
3 23 5 buffer Ljava/lang/StringBuilder;
4 23 6 puts I
5 15 7 i I
7 13 8 patternPart Ljava/lang/String;
16 22 7 i I
MethodParameters:
Name Flags
pattern
path
}
SourceFile: "AntPathMatcher.java"