final class org.joni.OptExactInfo
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.joni.OptExactInfo
super_class: java.lang.Object
{
static final int OPT_EXACT_MAXLEN;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 24
final org.joni.MinMaxLen mmd;
descriptor: Lorg/joni/MinMaxLen;
flags: (0x0010) ACC_FINAL
final org.joni.OptAnchorInfo anchor;
descriptor: Lorg/joni/OptAnchorInfo;
flags: (0x0010) ACC_FINAL
boolean reachEnd;
descriptor: Z
flags: (0x0000)
int ignoreCase;
descriptor: I
flags: (0x0000)
final byte[] bytes;
descriptor: [B
flags: (0x0010) ACC_FINAL
int length;
descriptor: I
flags: (0x0000)
private static final int COMP_EM_BASE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new org.joni.MinMaxLen
dup
invokespecial org.joni.MinMaxLen.<init>:()V
putfield org.joni.OptExactInfo.mmd:Lorg/joni/MinMaxLen;
2: aload 0
new org.joni.OptAnchorInfo
dup
invokespecial org.joni.OptAnchorInfo.<init>:()V
putfield org.joni.OptExactInfo.anchor:Lorg/joni/OptAnchorInfo;
3: aload 0
bipush 24
newarray 8
putfield org.joni.OptExactInfo.bytes:[B
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/joni/OptExactInfo;
boolean isFull();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.joni.OptExactInfo.length:I
bipush 24
if_icmplt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/joni/OptExactInfo;
void clear();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.joni.OptExactInfo.mmd:Lorg/joni/MinMaxLen;
invokevirtual org.joni.MinMaxLen.clear:()V
1: aload 0
getfield org.joni.OptExactInfo.anchor:Lorg/joni/OptAnchorInfo;
invokevirtual org.joni.OptAnchorInfo.clear:()V
2: aload 0
iconst_0
putfield org.joni.OptExactInfo.reachEnd:Z
3: aload 0
iconst_m1
putfield org.joni.OptExactInfo.ignoreCase:I
4: aload 0
iconst_0
putfield org.joni.OptExactInfo.length:I
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/joni/OptExactInfo;
void copy(org.joni.OptExactInfo);
descriptor: (Lorg/joni/OptExactInfo;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.joni.OptExactInfo.mmd:Lorg/joni/MinMaxLen;
aload 1
getfield org.joni.OptExactInfo.mmd:Lorg/joni/MinMaxLen;
invokevirtual org.joni.MinMaxLen.copy:(Lorg/joni/MinMaxLen;)V
1: aload 0
getfield org.joni.OptExactInfo.anchor:Lorg/joni/OptAnchorInfo;
aload 1
getfield org.joni.OptExactInfo.anchor:Lorg/joni/OptAnchorInfo;
invokevirtual org.joni.OptAnchorInfo.copy:(Lorg/joni/OptAnchorInfo;)V
2: aload 0
aload 1
getfield org.joni.OptExactInfo.reachEnd:Z
putfield org.joni.OptExactInfo.reachEnd:Z
3: aload 0
aload 1
getfield org.joni.OptExactInfo.ignoreCase:I
putfield org.joni.OptExactInfo.ignoreCase:I
4: aload 0
aload 1
getfield org.joni.OptExactInfo.length:I
putfield org.joni.OptExactInfo.length:I
5: aload 1
getfield org.joni.OptExactInfo.bytes:[B
iconst_0
aload 0
getfield org.joni.OptExactInfo.bytes:[B
iconst_0
bipush 24
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/joni/OptExactInfo;
0 7 1 other Lorg/joni/OptExactInfo;
MethodParameters:
Name Flags
other
void concat(org.joni.OptExactInfo, org.jcodings.Encoding);
descriptor: (Lorg/joni/OptExactInfo;Lorg/jcodings/Encoding;)V
flags: (0x0000)
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.joni.OptExactInfo.ignoreCase:I
ifge 3
1: aload 0
aload 1
getfield org.joni.OptExactInfo.ignoreCase:I
putfield org.joni.OptExactInfo.ignoreCase:I
2: goto 5
StackMap locals:
StackMap stack:
3: aload 0
getfield org.joni.OptExactInfo.ignoreCase:I
aload 1
getfield org.joni.OptExactInfo.ignoreCase:I
if_icmpeq 5
4: return
5: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 6: iload 3
aload 1
getfield org.joni.OptExactInfo.length:I
iadd
istore 4
start local 4 7: aload 0
getfield org.joni.OptExactInfo.length:I
istore 5
start local 5 8: goto 16
9: StackMap locals: int int int
StackMap stack:
aload 2
aload 1
getfield org.joni.OptExactInfo.bytes:[B
iload 3
iload 4
invokevirtual org.jcodings.Encoding.length:([BII)I
istore 6
start local 6 10: iload 5
iload 6
iadd
bipush 24
if_icmple 11
goto 17
11: StackMap locals: int
StackMap stack:
iconst_0
istore 7
start local 7 12: goto 15
13: StackMap locals: int
StackMap stack:
aload 0
getfield org.joni.OptExactInfo.bytes:[B
iload 5
iinc 5 1
aload 1
getfield org.joni.OptExactInfo.bytes:[B
iload 3
iinc 3 1
baload
bastore
14: iinc 7 1
StackMap locals:
StackMap stack:
15: iload 7
iload 6
if_icmpge 16
iload 3
iload 4
if_icmplt 13
end local 7 end local 6 16: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmplt 9
17: StackMap locals:
StackMap stack:
aload 0
iload 5
putfield org.joni.OptExactInfo.length:I
18: aload 0
iload 3
iload 4
if_icmpne 19
aload 1
getfield org.joni.OptExactInfo.reachEnd:Z
goto 20
StackMap locals:
StackMap stack: org.joni.OptExactInfo
19: iconst_0
StackMap locals: org.joni.OptExactInfo org.joni.OptExactInfo org.jcodings.Encoding int int int
StackMap stack: org.joni.OptExactInfo int
20: putfield org.joni.OptExactInfo.reachEnd:Z
21: new org.joni.OptAnchorInfo
dup
invokespecial org.joni.OptAnchorInfo.<init>:()V
astore 6
start local 6 22: aload 6
aload 0
getfield org.joni.OptExactInfo.anchor:Lorg/joni/OptAnchorInfo;
aload 1
getfield org.joni.OptExactInfo.anchor:Lorg/joni/OptAnchorInfo;
iconst_1
iconst_1
invokevirtual org.joni.OptAnchorInfo.concat:(Lorg/joni/OptAnchorInfo;Lorg/joni/OptAnchorInfo;II)V
23: aload 0
getfield org.joni.OptExactInfo.reachEnd:Z
ifne 24
aload 6
iconst_0
putfield org.joni.OptAnchorInfo.rightAnchor:I
24: StackMap locals: org.joni.OptAnchorInfo
StackMap stack:
aload 0
getfield org.joni.OptExactInfo.anchor:Lorg/joni/OptAnchorInfo;
aload 6
invokevirtual org.joni.OptAnchorInfo.copy:(Lorg/joni/OptAnchorInfo;)V
25: return
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 26 0 this Lorg/joni/OptExactInfo;
0 26 1 other Lorg/joni/OptExactInfo;
0 26 2 enc Lorg/jcodings/Encoding;
6 26 3 p I
7 26 4 end I
8 26 5 i I
10 16 6 len I
12 16 7 j I
22 26 6 tmp Lorg/joni/OptAnchorInfo;
MethodParameters:
Name Flags
other
enc
void concatStr(byte[], int, int, boolean, org.jcodings.Encoding);
descriptor: ([BIIZLorg/jcodings/Encoding;)V
flags: (0x0000)
Code:
stack=4, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield org.joni.OptExactInfo.length:I
istore 6
start local 6 1: goto 9
2: StackMap locals: int
StackMap stack:
aload 5
aload 1
iload 2
iload 3
invokevirtual org.jcodings.Encoding.length:([BII)I
istore 7
start local 7 3: iload 6
iload 7
iadd
bipush 24
if_icmple 4
goto 10
4: StackMap locals: int
StackMap stack:
iconst_0
istore 8
start local 8 5: goto 8
6: StackMap locals: int
StackMap stack:
aload 0
getfield org.joni.OptExactInfo.bytes:[B
iload 6
iinc 6 1
aload 1
iload 2
iinc 2 1
baload
bastore
7: iinc 8 1
StackMap locals:
StackMap stack:
8: iload 8
iload 7
if_icmpge 9
iload 2
iload 3
if_icmplt 6
end local 8 end local 7 9: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmpge 10
iload 6
bipush 24
if_icmplt 2
10: StackMap locals:
StackMap stack:
aload 0
iload 6
putfield org.joni.OptExactInfo.length:I
11: return
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 12 0 this Lorg/joni/OptExactInfo;
0 12 1 lbytes [B
0 12 2 p I
0 12 3 end I
0 12 4 raw Z
0 12 5 enc Lorg/jcodings/Encoding;
1 12 6 i I
3 9 7 len I
5 9 8 j I
MethodParameters:
Name Flags
lbytes
p
end
raw
enc
void altMerge(org.joni.OptExactInfo, org.joni.OptEnvironment);
descriptor: (Lorg/joni/OptExactInfo;Lorg/joni/OptEnvironment;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield org.joni.OptExactInfo.length:I
ifeq 1
aload 0
getfield org.joni.OptExactInfo.length:I
ifne 3
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.joni.OptExactInfo.clear:()V
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield org.joni.OptExactInfo.mmd:Lorg/joni/MinMaxLen;
aload 1
getfield org.joni.OptExactInfo.mmd:Lorg/joni/MinMaxLen;
invokevirtual org.joni.MinMaxLen.equal:(Lorg/joni/MinMaxLen;)Z
ifne 6
4: aload 0
invokevirtual org.joni.OptExactInfo.clear:()V
5: return
6: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 7: goto 17
8: StackMap locals: int
StackMap stack:
aload 0
getfield org.joni.OptExactInfo.bytes:[B
iload 3
baload
aload 1
getfield org.joni.OptExactInfo.bytes:[B
iload 3
baload
if_icmpeq 9
goto 18
9: StackMap locals:
StackMap stack:
aload 2
getfield org.joni.OptEnvironment.enc:Lorg/jcodings/Encoding;
aload 0
getfield org.joni.OptExactInfo.bytes:[B
iload 3
aload 0
getfield org.joni.OptExactInfo.length:I
invokevirtual org.jcodings.Encoding.length:([BII)I
istore 4
start local 4 10: iconst_1
istore 5
start local 5 11: goto 14
12: StackMap locals: int int
StackMap stack:
aload 0
getfield org.joni.OptExactInfo.bytes:[B
iload 3
iload 5
iadd
baload
aload 1
getfield org.joni.OptExactInfo.bytes:[B
iload 3
iload 5
iadd
baload
if_icmpeq 13
goto 15
13: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
14: iload 5
iload 4
if_icmplt 12
15: StackMap locals:
StackMap stack:
iload 5
iload 4
if_icmpge 16
goto 18
16: StackMap locals:
StackMap stack:
iload 3
iload 4
iadd
istore 3
end local 5 end local 4 17: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield org.joni.OptExactInfo.length:I
if_icmpge 18
iload 3
aload 1
getfield org.joni.OptExactInfo.length:I
if_icmplt 8
18: StackMap locals:
StackMap stack:
aload 1
getfield org.joni.OptExactInfo.reachEnd:Z
ifeq 19
iload 3
aload 1
getfield org.joni.OptExactInfo.length:I
if_icmplt 19
iload 3
aload 0
getfield org.joni.OptExactInfo.length:I
if_icmpge 20
StackMap locals:
StackMap stack:
19: aload 0
iconst_0
putfield org.joni.OptExactInfo.reachEnd:Z
20: StackMap locals:
StackMap stack:
aload 0
iload 3
putfield org.joni.OptExactInfo.length:I
21: aload 0
getfield org.joni.OptExactInfo.ignoreCase:I
ifge 24
22: aload 0
aload 1
getfield org.joni.OptExactInfo.ignoreCase:I
putfield org.joni.OptExactInfo.ignoreCase:I
23: goto 26
StackMap locals:
StackMap stack:
24: aload 1
getfield org.joni.OptExactInfo.ignoreCase:I
iflt 26
25: aload 0
dup
getfield org.joni.OptExactInfo.ignoreCase:I
aload 1
getfield org.joni.OptExactInfo.ignoreCase:I
ior
putfield org.joni.OptExactInfo.ignoreCase:I
26: StackMap locals:
StackMap stack:
aload 0
getfield org.joni.OptExactInfo.anchor:Lorg/joni/OptAnchorInfo;
aload 1
getfield org.joni.OptExactInfo.anchor:Lorg/joni/OptAnchorInfo;
invokevirtual org.joni.OptAnchorInfo.altMerge:(Lorg/joni/OptAnchorInfo;)V
27: aload 0
getfield org.joni.OptExactInfo.reachEnd:Z
ifne 28
aload 0
getfield org.joni.OptExactInfo.anchor:Lorg/joni/OptAnchorInfo;
iconst_0
putfield org.joni.OptAnchorInfo.rightAnchor:I
28: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/joni/OptExactInfo;
0 29 1 other Lorg/joni/OptExactInfo;
0 29 2 env Lorg/joni/OptEnvironment;
7 29 3 i I
10 17 4 len I
11 17 5 j I
MethodParameters:
Name Flags
other
env
void select(org.joni.OptExactInfo, org.jcodings.Encoding);
descriptor: (Lorg/joni/OptExactInfo;Lorg/jcodings/Encoding;)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.joni.OptExactInfo.length:I
istore 3
start local 3 1: aload 1
getfield org.joni.OptExactInfo.length:I
istore 4
start local 4 2: iload 4
ifne 4
3: return
4: StackMap locals: int int
StackMap stack:
iload 3
ifne 7
5: aload 0
aload 1
invokevirtual org.joni.OptExactInfo.copy:(Lorg/joni/OptExactInfo;)V
6: return
7: StackMap locals:
StackMap stack:
iload 3
iconst_2
if_icmpgt 12
iload 4
iconst_2
if_icmpgt 12
8: aload 2
aload 0
getfield org.joni.OptExactInfo.bytes:[B
iconst_0
baload
sipush 255
iand
invokestatic org.joni.OptMapInfo.positionValue:(Lorg/jcodings/Encoding;I)I
istore 4
9: aload 2
aload 1
getfield org.joni.OptExactInfo.bytes:[B
iconst_0
baload
sipush 255
iand
invokestatic org.joni.OptMapInfo.positionValue:(Lorg/jcodings/Encoding;I)I
istore 3
10: aload 0
getfield org.joni.OptExactInfo.length:I
iconst_1
if_icmple 11
iinc 3 5
11: StackMap locals:
StackMap stack:
aload 1
getfield org.joni.OptExactInfo.length:I
iconst_1
if_icmple 12
iinc 4 5
12: StackMap locals:
StackMap stack:
aload 0
getfield org.joni.OptExactInfo.ignoreCase:I
ifgt 13
iload 3
iconst_2
imul
istore 3
13: StackMap locals:
StackMap stack:
aload 1
getfield org.joni.OptExactInfo.ignoreCase:I
ifgt 14
iload 4
iconst_2
imul
istore 4
14: StackMap locals:
StackMap stack:
aload 0
getfield org.joni.OptExactInfo.mmd:Lorg/joni/MinMaxLen;
aload 1
getfield org.joni.OptExactInfo.mmd:Lorg/joni/MinMaxLen;
iload 3
iload 4
invokevirtual org.joni.MinMaxLen.compareDistanceValue:(Lorg/joni/MinMaxLen;II)I
ifle 15
aload 0
aload 1
invokevirtual org.joni.OptExactInfo.copy:(Lorg/joni/OptExactInfo;)V
15: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/joni/OptExactInfo;
0 16 1 alt Lorg/joni/OptExactInfo;
0 16 2 enc Lorg/jcodings/Encoding;
1 16 3 v1 I
2 16 4 v2 I
MethodParameters:
Name Flags
alt
enc
int compare(org.joni.OptMapInfo);
descriptor: (Lorg/joni/OptMapInfo;)I
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield org.joni.OptMapInfo.value:I
ifgt 1
iconst_m1
ireturn
1: StackMap locals:
StackMap stack:
bipush 20
aload 0
getfield org.joni.OptExactInfo.length:I
imul
aload 0
getfield org.joni.OptExactInfo.ignoreCase:I
ifle 2
iconst_1
goto 3
StackMap locals:
StackMap stack: int
2: iconst_2
StackMap locals: org.joni.OptExactInfo org.joni.OptMapInfo
StackMap stack: int int
3: imul
istore 2
start local 2 4: sipush 200
aload 1
getfield org.joni.OptMapInfo.value:I
idiv
istore 3
start local 3 5: aload 0
getfield org.joni.OptExactInfo.mmd:Lorg/joni/MinMaxLen;
aload 1
getfield org.joni.OptMapInfo.mmd:Lorg/joni/MinMaxLen;
iload 2
iload 3
invokevirtual org.joni.MinMaxLen.compareDistanceValue:(Lorg/joni/MinMaxLen;II)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/joni/OptExactInfo;
0 6 1 m Lorg/joni/OptMapInfo;
4 6 2 ve I
5 6 3 vm I
MethodParameters:
Name Flags
m
}
SourceFile: "OptExactInfo.java"