class org.joni.Search$4 extends org.joni.Search$Backward
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.joni.Search$4
super_class: org.joni.Search$Backward
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // org.joni.Search$4 this
0: .line 156
aload 0 /* this */
invokespecial org.joni.Search$Backward.<init>:()V
return
end local 0 // org.joni.Search$4 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/joni/Search$4;
final int search(org.joni.Matcher, byte[], int, int, int, int, int, int);
descriptor: (Lorg/joni/Matcher;[BIIIIII)I
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=16, args_size=9
start local 0 // org.joni.Search$4 this
start local 1 // org.joni.Matcher matcher
start local 2 // byte[] text
start local 3 // int textP
start local 4 // int adjustText
start local 5 // int textEnd
start local 6 // int textStart
start local 7 // int s_
start local 8 // int range_
0: .line 159
aload 1 /* matcher */
getfield org.joni.Matcher.regex:Lorg/joni/Regex;
astore 9 /* regex */
start local 9 // org.joni.Regex regex
1: .line 160
aload 9 /* regex */
getfield org.joni.Regex.exact:[B
astore 10 /* target */
start local 10 // byte[] target
2: .line 161
aload 9 /* regex */
getfield org.joni.Regex.exactP:I
istore 11 /* targetP */
start local 11 // int targetP
3: .line 162
aload 9 /* regex */
getfield org.joni.Regex.exactEnd:I
istore 12 /* targetEnd */
start local 12 // int targetEnd
4: .line 164
iload 5 /* textEnd */
istore 13 /* s */
start local 13 // int s
5: .line 165
iload 13 /* s */
iload 12 /* targetEnd */
iload 11 /* targetP */
isub
isub
istore 13 /* s */
6: .line 166
iload 13 /* s */
iload 6 /* textStart */
if_icmple 17
iload 6 /* textStart */
istore 13 /* s */
7: .line 168
goto 17
8: .line 169
StackMap locals: org.joni.Search$4 org.joni.Matcher byte[] int int int int int int org.joni.Regex byte[] int int int
StackMap stack:
aload 2 /* text */
iload 13 /* s */
baload
aload 10 /* target */
iload 11 /* targetP */
baload
if_icmpne 16
9: .line 170
iload 13 /* s */
iconst_1
iadd
istore 14 /* p */
start local 14 // int p
10: .line 171
iload 11 /* targetP */
iconst_1
iadd
istore 15 /* t */
start local 15 // int t
11: .line 172
goto 14
12: .line 173
StackMap locals: int int
StackMap stack:
aload 10 /* target */
iload 15 /* t */
baload
aload 2 /* text */
iload 14 /* p */
iinc 14 /* p */ 1
baload
if_icmpeq 13
goto 15
13: .line 174
StackMap locals:
StackMap stack:
iinc 15 /* t */ 1
14: .line 172
StackMap locals:
StackMap stack:
iload 15 /* t */
iload 12 /* targetEnd */
if_icmplt 12
15: .line 176
StackMap locals:
StackMap stack:
iload 15 /* t */
iload 12 /* targetEnd */
if_icmpne 16
iload 13 /* s */
ireturn
end local 15 // int t
end local 14 // int p
16: .line 179
StackMap locals:
StackMap stack:
iinc 13 /* s */ -1
17: .line 168
StackMap locals:
StackMap stack:
iload 13 /* s */
iload 3 /* textP */
if_icmpge 8
18: .line 181
iconst_m1
ireturn
end local 13 // int s
end local 12 // int targetEnd
end local 11 // int targetP
end local 10 // byte[] target
end local 9 // org.joni.Regex regex
end local 8 // int range_
end local 7 // int s_
end local 6 // int textStart
end local 5 // int textEnd
end local 4 // int adjustText
end local 3 // int textP
end local 2 // byte[] text
end local 1 // org.joni.Matcher matcher
end local 0 // org.joni.Search$4 this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/joni/Search$4;
0 19 1 matcher Lorg/joni/Matcher;
0 19 2 text [B
0 19 3 textP I
0 19 4 adjustText I
0 19 5 textEnd I
0 19 6 textStart I
0 19 7 s_ I
0 19 8 range_ I
1 19 9 regex Lorg/joni/Regex;
2 19 10 target [B
3 19 11 targetP I
4 19 12 targetEnd I
5 19 13 s I
10 16 14 p I
11 16 15 t I
MethodParameters:
Name Flags
matcher
text
textP
adjustText
textEnd
textStart
s_
range_
}
SourceFile: "Search.java"
EnclosingMethod: org.joni.Search
NestHost: org.joni.Search
InnerClasses:
org.joni.Search$4
abstract Backward = org.joni.Search$Backward of org.joni.Search