class org.joni.Search$2 extends org.joni.Search$Backward
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.joni.Search$2
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$2 this
0: .line 93
aload 0 /* this */
invokespecial org.joni.Search$Backward.<init>:()V
return
end local 0 // org.joni.Search$2 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/joni/Search$2;
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=5, locals=17, args_size=9
start local 0 // org.joni.Search$2 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 96
aload 1 /* matcher */
getfield org.joni.Matcher.regex:Lorg/joni/Regex;
astore 9 /* regex */
start local 9 // org.joni.Regex regex
1: .line 97
aload 9 /* regex */
getfield org.joni.Regex.enc:Lorg/jcodings/Encoding;
astore 10 /* enc */
start local 10 // org.jcodings.Encoding enc
2: .line 98
aload 9 /* regex */
getfield org.joni.Regex.exact:[B
astore 11 /* target */
start local 11 // byte[] target
3: .line 99
aload 9 /* regex */
getfield org.joni.Regex.exactP:I
istore 12 /* targetP */
start local 12 // int targetP
4: .line 100
aload 9 /* regex */
getfield org.joni.Regex.exactEnd:I
istore 13 /* targetEnd */
start local 13 // int targetEnd
5: .line 102
iload 5 /* textEnd */
istore 14 /* s */
start local 14 // int s
6: .line 103
iload 14 /* s */
iload 13 /* targetEnd */
iload 12 /* targetP */
isub
isub
istore 14 /* s */
7: .line 104
iload 14 /* s */
iload 6 /* textStart */
if_icmple 8
iload 6 /* textStart */
goto 9
StackMap locals: org.joni.Search$2 org.joni.Matcher byte[] int int int int int int org.joni.Regex org.jcodings.Encoding byte[] int int int
StackMap stack:
8: aload 10 /* enc */
aload 2 /* text */
iload 4 /* adjustText */
iload 14 /* s */
iload 5 /* textEnd */
invokevirtual org.jcodings.Encoding.leftAdjustCharHead:([BIII)I
StackMap locals:
StackMap stack: int
9: istore 14 /* s */
10: .line 106
goto 20
11: .line 107
StackMap locals:
StackMap stack:
aload 2 /* text */
iload 14 /* s */
baload
aload 11 /* target */
iload 12 /* targetP */
baload
if_icmpne 19
12: .line 108
iload 14 /* s */
iconst_1
iadd
istore 15 /* p */
start local 15 // int p
13: .line 109
iload 12 /* targetP */
iconst_1
iadd
istore 16 /* t */
start local 16 // int t
14: .line 110
goto 17
15: .line 111
StackMap locals: int int
StackMap stack:
aload 11 /* target */
iload 16 /* t */
baload
aload 2 /* text */
iload 15 /* p */
iinc 15 /* p */ 1
baload
if_icmpeq 16
goto 18
16: .line 112
StackMap locals:
StackMap stack:
iinc 16 /* t */ 1
17: .line 110
StackMap locals:
StackMap stack:
iload 16 /* t */
iload 13 /* targetEnd */
if_icmplt 15
18: .line 114
StackMap locals:
StackMap stack:
iload 16 /* t */
iload 13 /* targetEnd */
if_icmpne 19
iload 14 /* s */
ireturn
end local 16 // int t
end local 15 // int p
19: .line 116
StackMap locals:
StackMap stack:
aload 10 /* enc */
aload 2 /* text */
iload 4 /* adjustText */
iload 14 /* s */
iload 5 /* textEnd */
invokevirtual org.jcodings.Encoding.prevCharHead:([BIII)I
istore 14 /* s */
20: .line 106
StackMap locals:
StackMap stack:
iload 14 /* s */
iload 3 /* textP */
if_icmpge 11
21: .line 118
iconst_m1
ireturn
end local 14 // int s
end local 13 // int targetEnd
end local 12 // int targetP
end local 11 // byte[] target
end local 10 // org.jcodings.Encoding enc
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$2 this
LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/joni/Search$2;
0 22 1 matcher Lorg/joni/Matcher;
0 22 2 text [B
0 22 3 textP I
0 22 4 adjustText I
0 22 5 textEnd I
0 22 6 textStart I
0 22 7 s_ I
0 22 8 range_ I
1 22 9 regex Lorg/joni/Regex;
2 22 10 enc Lorg/jcodings/Encoding;
3 22 11 target [B
4 22 12 targetP I
5 22 13 targetEnd I
6 22 14 s I
13 19 15 p I
14 19 16 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$2
abstract Backward = org.joni.Search$Backward of org.joni.Search