public final class com.ctc.wstx.util.WordResolver
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.ctc.wstx.util.WordResolver
super_class: java.lang.Object
{
public static final int MAX_WORDS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8192
static final char CHAR_NULL;
descriptor: C
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int NEGATIVE_OFFSET;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 57344
static final int MIN_BINARY_SEARCH;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 7
final char[] mData;
descriptor: [C
flags: (0x0010) ACC_FINAL
final java.lang.String[] mWords;
descriptor: [Ljava/lang/String;
flags: (0x0010) ACC_FINAL
private void <init>(java.lang.String[], char[]);
descriptor: ([Ljava/lang/String;[C)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 // com.ctc.wstx.util.WordResolver this
start local 1 // java.lang.String[] words
start local 2 // char[] index
0: .line 62
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 63
aload 0 /* this */
aload 1 /* words */
putfield com.ctc.wstx.util.WordResolver.mWords:[Ljava/lang/String;
2: .line 64
aload 0 /* this */
aload 2 /* index */
putfield com.ctc.wstx.util.WordResolver.mData:[C
3: .line 65
return
end local 2 // char[] index
end local 1 // java.lang.String[] words
end local 0 // com.ctc.wstx.util.WordResolver this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/ctc/wstx/util/WordResolver;
0 4 1 words [Ljava/lang/String;
0 4 2 index [C
MethodParameters:
Name Flags
words
index
public static com.ctc.wstx.util.WordResolver constructInstance(java.util.TreeSet<java.lang.String>);
descriptor: (Ljava/util/TreeSet;)Lcom/ctc/wstx/util/WordResolver;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // java.util.TreeSet wordSet
0: .line 80
aload 0 /* wordSet */
invokevirtual java.util.TreeSet.size:()I
sipush 8192
if_icmple 2
1: .line 81
aconst_null
areturn
2: .line 83
StackMap locals:
StackMap stack:
new com.ctc.wstx.util.WordResolver$Builder
dup
aload 0 /* wordSet */
invokespecial com.ctc.wstx.util.WordResolver$Builder.<init>:(Ljava/util/TreeSet;)V
invokevirtual com.ctc.wstx.util.WordResolver$Builder.construct:()Lcom/ctc/wstx/util/WordResolver;
areturn
end local 0 // java.util.TreeSet wordSet
LocalVariableTable:
Start End Slot Name Signature
0 3 0 wordSet Ljava/util/TreeSet<Ljava/lang/String;>;
Signature: (Ljava/util/TreeSet<Ljava/lang/String;>;)Lcom/ctc/wstx/util/WordResolver;
MethodParameters:
Name Flags
wordSet
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.ctc.wstx.util.WordResolver this
0: .line 96
aload 0 /* this */
getfield com.ctc.wstx.util.WordResolver.mWords:[Ljava/lang/String;
arraylength
ireturn
end local 0 // com.ctc.wstx.util.WordResolver this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/ctc/wstx/util/WordResolver;
public java.lang.String find(char[], int, int);
descriptor: ([CII)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=14, args_size=4
start local 0 // com.ctc.wstx.util.WordResolver this
start local 1 // char[] str
start local 2 // int start
start local 3 // int end
0: .line 118
aload 0 /* this */
getfield com.ctc.wstx.util.WordResolver.mData:[C
astore 4 /* data */
start local 4 // char[] data
1: .line 121
aload 4 /* data */
ifnonnull 3
2: .line 122
aload 0 /* this */
aload 1 /* str */
iload 2 /* start */
iload 3 /* end */
invokevirtual com.ctc.wstx.util.WordResolver.findFromOne:([CII)Ljava/lang/String;
areturn
3: .line 125
StackMap locals: char[]
StackMap stack:
iconst_0
istore 5 /* ptr */
start local 5 // int ptr
4: .line 126
iload 2 /* start */
istore 6 /* offset */
start local 6 // int offset
5: .line 130
StackMap locals: int int
StackMap stack:
iload 6 /* offset */
iload 3 /* end */
if_icmpne 9
6: .line 131
aload 4 /* data */
iload 5 /* ptr */
iconst_1
iadd
caload
ifne 8
7: .line 132
aload 0 /* this */
getfield com.ctc.wstx.util.WordResolver.mWords:[Ljava/lang/String;
aload 4 /* data */
iload 5 /* ptr */
iconst_2
iadd
caload
ldc 57344
isub
aaload
areturn
8: .line 134
StackMap locals:
StackMap stack:
aconst_null
areturn
9: .line 137
StackMap locals:
StackMap stack:
aload 4 /* data */
iload 5 /* ptr */
iinc 5 /* ptr */ 1
caload
istore 7 /* count */
start local 7 // int count
10: .line 139
aload 1 /* str */
iload 6 /* offset */
iinc 6 /* offset */ 1
caload
istore 8 /* c */
start local 8 // char c
11: .line 144
iload 7 /* count */
bipush 7
if_icmpge 26
12: .line 146
aload 4 /* data */
iload 5 /* ptr */
caload
iload 8 /* c */
if_icmpne 15
13: .line 147
aload 4 /* data */
iload 5 /* ptr */
iconst_1
iadd
caload
istore 5 /* ptr */
14: .line 148
goto 42
15: .line 150
StackMap locals: int int
StackMap stack:
aload 4 /* data */
iload 5 /* ptr */
iconst_2
iadd
caload
iload 8 /* c */
if_icmpne 18
16: .line 151
aload 4 /* data */
iload 5 /* ptr */
iconst_3
iadd
caload
istore 5 /* ptr */
17: .line 152
goto 42
18: .line 154
StackMap locals:
StackMap stack:
iload 5 /* ptr */
iload 7 /* count */
iconst_1
ishl
iadd
istore 9 /* branchEnd */
start local 9 // int branchEnd
19: .line 156
iinc 5 /* ptr */ 4
goto 24
20: .line 157
StackMap locals: int
StackMap stack:
aload 4 /* data */
iload 5 /* ptr */
caload
iload 8 /* c */
if_icmpne 23
21: .line 158
aload 4 /* data */
iload 5 /* ptr */
iconst_1
iadd
caload
istore 5 /* ptr */
22: .line 159
goto 42
23: .line 156
StackMap locals:
StackMap stack:
iinc 5 /* ptr */ 2
StackMap locals:
StackMap stack:
24: iload 5 /* ptr */
iload 9 /* branchEnd */
if_icmplt 20
25: .line 162
aconst_null
areturn
end local 9 // int branchEnd
26: .line 164
StackMap locals:
StackMap stack:
iconst_0
istore 9 /* low */
start local 9 // int low
27: .line 165
iload 7 /* count */
iconst_1
isub
istore 10 /* high */
start local 10 // int high
28: .line 168
goto 40
29: .line 169
StackMap locals: int int
StackMap stack:
iload 9 /* low */
iload 10 /* high */
iadd
iconst_1
ishr
istore 11 /* mid */
start local 11 // int mid
30: .line 170
iload 5 /* ptr */
iload 11 /* mid */
iconst_1
ishl
iadd
istore 12 /* ix */
start local 12 // int ix
31: .line 171
aload 4 /* data */
iload 12 /* ix */
caload
iload 8 /* c */
isub
istore 13 /* diff */
start local 13 // int diff
32: .line 172
iload 13 /* diff */
ifle 35
33: .line 173
iload 11 /* mid */
iconst_1
isub
istore 10 /* high */
34: .line 174
goto 40
StackMap locals: int int int
StackMap stack:
35: iload 13 /* diff */
ifge 38
36: .line 175
iload 11 /* mid */
iconst_1
iadd
istore 9 /* low */
37: .line 176
goto 40
38: .line 177
StackMap locals:
StackMap stack:
aload 4 /* data */
iload 12 /* ix */
iconst_1
iadd
caload
istore 5 /* ptr */
39: .line 178
goto 42
end local 13 // int diff
end local 12 // int ix
end local 11 // int mid
40: .line 168
StackMap locals:
StackMap stack:
iload 9 /* low */
iload 10 /* high */
if_icmple 29
41: .line 181
aconst_null
areturn
end local 10 // int high
end local 9 // int low
42: .line 186
StackMap locals:
StackMap stack:
iload 5 /* ptr */
ldc 57344
if_icmplt 5
43: .line 187
aload 0 /* this */
getfield com.ctc.wstx.util.WordResolver.mWords:[Ljava/lang/String;
iload 5 /* ptr */
ldc 57344
isub
aaload
astore 9 /* word */
start local 9 // java.lang.String word
44: .line 188
iload 3 /* end */
iload 2 /* start */
isub
istore 10 /* expLen */
start local 10 // int expLen
45: .line 189
aload 9 /* word */
invokevirtual java.lang.String.length:()I
iload 10 /* expLen */
if_icmpeq 47
46: .line 190
aconst_null
areturn
47: .line 192
StackMap locals: java.lang.String int
StackMap stack:
iload 6 /* offset */
iload 2 /* start */
isub
istore 11 /* i */
start local 11 // int i
48: goto 52
49: .line 193
StackMap locals: int
StackMap stack:
aload 9 /* word */
iload 11 /* i */
invokevirtual java.lang.String.charAt:(I)C
aload 1 /* str */
iload 6 /* offset */
caload
if_icmpeq 51
50: .line 194
aconst_null
areturn
51: .line 192
StackMap locals:
StackMap stack:
iinc 11 /* i */ 1
iinc 6 /* offset */ 1
StackMap locals:
StackMap stack:
52: iload 6 /* offset */
iload 3 /* end */
if_icmplt 49
end local 11 // int i
53: .line 197
aload 9 /* word */
areturn
end local 10 // int expLen
end local 9 // java.lang.String word
end local 8 // char c
end local 7 // int count
end local 6 // int offset
end local 5 // int ptr
end local 4 // char[] data
end local 3 // int end
end local 2 // int start
end local 1 // char[] str
end local 0 // com.ctc.wstx.util.WordResolver this
LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lcom/ctc/wstx/util/WordResolver;
0 54 1 str [C
0 54 2 start I
0 54 3 end I
1 54 4 data [C
4 54 5 ptr I
5 54 6 offset I
10 54 7 count I
11 54 8 c C
19 26 9 branchEnd I
27 42 9 low I
28 42 10 high I
30 40 11 mid I
31 40 12 ix I
32 40 13 diff I
44 54 9 word Ljava/lang/String;
45 54 10 expLen I
48 53 11 i I
MethodParameters:
Name Flags
str
start final
end final
private java.lang.String findFromOne(char[], int, int);
descriptor: ([CII)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 // com.ctc.wstx.util.WordResolver this
start local 1 // char[] str
start local 2 // int start
start local 3 // int end
0: .line 205
aload 0 /* this */
getfield com.ctc.wstx.util.WordResolver.mWords:[Ljava/lang/String;
iconst_0
aaload
astore 4 /* word */
start local 4 // java.lang.String word
1: .line 206
iload 3 /* end */
iload 2 /* start */
isub
istore 5 /* len */
start local 5 // int len
2: .line 207
aload 4 /* word */
invokevirtual java.lang.String.length:()I
iload 5 /* len */
if_icmpeq 4
3: .line 208
aconst_null
areturn
4: .line 210
StackMap locals: java.lang.String int
StackMap stack:
iconst_0
istore 6 /* i */
start local 6 // int i
5: goto 9
6: .line 211
StackMap locals: int
StackMap stack:
aload 4 /* word */
iload 6 /* i */
invokevirtual java.lang.String.charAt:(I)C
aload 1 /* str */
iload 2 /* start */
iload 6 /* i */
iadd
caload
if_icmpeq 8
7: .line 212
aconst_null
areturn
8: .line 210
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
9: iload 6 /* i */
iload 5 /* len */
if_icmplt 6
end local 6 // int i
10: .line 215
aload 4 /* word */
areturn
end local 5 // int len
end local 4 // java.lang.String word
end local 3 // int end
end local 2 // int start
end local 1 // char[] str
end local 0 // com.ctc.wstx.util.WordResolver this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/ctc/wstx/util/WordResolver;
0 11 1 str [C
0 11 2 start I
0 11 3 end I
1 11 4 word Ljava/lang/String;
2 11 5 len I
5 10 6 i I
MethodParameters:
Name Flags
str
start final
end final
public java.lang.String find(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=13, args_size=2
start local 0 // com.ctc.wstx.util.WordResolver this
start local 1 // java.lang.String str
0: .line 225
aload 0 /* this */
getfield com.ctc.wstx.util.WordResolver.mData:[C
astore 2 /* data */
start local 2 // char[] data
1: .line 228
aload 2 /* data */
ifnonnull 6
2: .line 229
aload 0 /* this */
getfield com.ctc.wstx.util.WordResolver.mWords:[Ljava/lang/String;
iconst_0
aaload
astore 3 /* word */
start local 3 // java.lang.String word
3: .line 230
aload 3 /* word */
aload 1 /* str */
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
aload 3 /* word */
goto 5
StackMap locals: char[] java.lang.String
StackMap stack:
4: aconst_null
StackMap locals:
StackMap stack: java.lang.String
5: areturn
end local 3 // java.lang.String word
6: .line 233
StackMap locals:
StackMap stack:
iconst_0
istore 3 /* ptr */
start local 3 // int ptr
7: .line 234
iconst_0
istore 4 /* offset */
start local 4 // int offset
8: .line 235
aload 1 /* str */
invokevirtual java.lang.String.length:()I
istore 5 /* end */
start local 5 // int end
9: .line 239
StackMap locals: int int int
StackMap stack:
iload 4 /* offset */
iload 5 /* end */
if_icmpne 13
10: .line 240
aload 2 /* data */
iload 3 /* ptr */
iconst_1
iadd
caload
ifne 12
11: .line 241
aload 0 /* this */
getfield com.ctc.wstx.util.WordResolver.mWords:[Ljava/lang/String;
aload 2 /* data */
iload 3 /* ptr */
iconst_2
iadd
caload
ldc 57344
isub
aaload
areturn
12: .line 243
StackMap locals:
StackMap stack:
aconst_null
areturn
13: .line 246
StackMap locals:
StackMap stack:
aload 2 /* data */
iload 3 /* ptr */
iinc 3 /* ptr */ 1
caload
istore 6 /* count */
start local 6 // int count
14: .line 248
aload 1 /* str */
iload 4 /* offset */
iinc 4 /* offset */ 1
invokevirtual java.lang.String.charAt:(I)C
istore 7 /* c */
start local 7 // char c
15: .line 253
iload 6 /* count */
bipush 7
if_icmpge 30
16: .line 255
aload 2 /* data */
iload 3 /* ptr */
caload
iload 7 /* c */
if_icmpne 19
17: .line 256
aload 2 /* data */
iload 3 /* ptr */
iconst_1
iadd
caload
istore 3 /* ptr */
18: .line 257
goto 46
19: .line 259
StackMap locals: int int
StackMap stack:
aload 2 /* data */
iload 3 /* ptr */
iconst_2
iadd
caload
iload 7 /* c */
if_icmpne 22
20: .line 260
aload 2 /* data */
iload 3 /* ptr */
iconst_3
iadd
caload
istore 3 /* ptr */
21: .line 261
goto 46
22: .line 263
StackMap locals:
StackMap stack:
iload 3 /* ptr */
iload 6 /* count */
iconst_1
ishl
iadd
istore 8 /* branchEnd */
start local 8 // int branchEnd
23: .line 265
iinc 3 /* ptr */ 4
goto 28
24: .line 266
StackMap locals: int
StackMap stack:
aload 2 /* data */
iload 3 /* ptr */
caload
iload 7 /* c */
if_icmpne 27
25: .line 267
aload 2 /* data */
iload 3 /* ptr */
iconst_1
iadd
caload
istore 3 /* ptr */
26: .line 268
goto 46
27: .line 265
StackMap locals:
StackMap stack:
iinc 3 /* ptr */ 2
StackMap locals:
StackMap stack:
28: iload 3 /* ptr */
iload 8 /* branchEnd */
if_icmplt 24
29: .line 271
aconst_null
areturn
end local 8 // int branchEnd
30: .line 273
StackMap locals:
StackMap stack:
iconst_0
istore 8 /* low */
start local 8 // int low
31: .line 274
iload 6 /* count */
iconst_1
isub
istore 9 /* high */
start local 9 // int high
32: .line 277
goto 44
33: .line 278
StackMap locals: int int
StackMap stack:
iload 8 /* low */
iload 9 /* high */
iadd
iconst_1
ishr
istore 10 /* mid */
start local 10 // int mid
34: .line 279
iload 3 /* ptr */
iload 10 /* mid */
iconst_1
ishl
iadd
istore 11 /* ix */
start local 11 // int ix
35: .line 280
aload 2 /* data */
iload 11 /* ix */
caload
iload 7 /* c */
isub
istore 12 /* diff */
start local 12 // int diff
36: .line 281
iload 12 /* diff */
ifle 39
37: .line 282
iload 10 /* mid */
iconst_1
isub
istore 9 /* high */
38: .line 283
goto 44
StackMap locals: int int int
StackMap stack:
39: iload 12 /* diff */
ifge 42
40: .line 284
iload 10 /* mid */
iconst_1
iadd
istore 8 /* low */
41: .line 285
goto 44
42: .line 286
StackMap locals:
StackMap stack:
aload 2 /* data */
iload 11 /* ix */
iconst_1
iadd
caload
istore 3 /* ptr */
43: .line 287
goto 46
end local 12 // int diff
end local 11 // int ix
end local 10 // int mid
44: .line 277
StackMap locals:
StackMap stack:
iload 8 /* low */
iload 9 /* high */
if_icmple 33
45: .line 290
aconst_null
areturn
end local 9 // int high
end local 8 // int low
46: .line 295
StackMap locals:
StackMap stack:
iload 3 /* ptr */
ldc 57344
if_icmplt 9
47: .line 296
aload 0 /* this */
getfield com.ctc.wstx.util.WordResolver.mWords:[Ljava/lang/String;
iload 3 /* ptr */
ldc 57344
isub
aaload
astore 8 /* word */
start local 8 // java.lang.String word
48: .line 297
aload 8 /* word */
invokevirtual java.lang.String.length:()I
aload 1 /* str */
invokevirtual java.lang.String.length:()I
if_icmpeq 53
49: .line 298
aconst_null
areturn
50: .line 301
StackMap locals: java.lang.String
StackMap stack:
aload 8 /* word */
iload 4 /* offset */
invokevirtual java.lang.String.charAt:(I)C
aload 1 /* str */
iload 4 /* offset */
invokevirtual java.lang.String.charAt:(I)C
if_icmpeq 52
51: .line 302
aconst_null
areturn
52: .line 300
StackMap locals:
StackMap stack:
iinc 4 /* offset */ 1
StackMap locals:
StackMap stack:
53: iload 4 /* offset */
iload 5 /* end */
if_icmplt 50
54: .line 305
aload 8 /* word */
areturn
end local 8 // java.lang.String word
end local 7 // char c
end local 6 // int count
end local 5 // int end
end local 4 // int offset
end local 3 // int ptr
end local 2 // char[] data
end local 1 // java.lang.String str
end local 0 // com.ctc.wstx.util.WordResolver this
LocalVariableTable:
Start End Slot Name Signature
0 55 0 this Lcom/ctc/wstx/util/WordResolver;
0 55 1 str Ljava/lang/String;
1 55 2 data [C
3 6 3 word Ljava/lang/String;
7 55 3 ptr I
8 55 4 offset I
9 55 5 end I
14 55 6 count I
15 55 7 c C
23 30 8 branchEnd I
31 46 8 low I
32 46 9 high I
34 44 10 mid I
35 44 11 ix I
36 44 12 diff I
48 55 8 word Ljava/lang/String;
MethodParameters:
Name Flags
str
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 // com.ctc.wstx.util.WordResolver this
0: .line 320
new java.lang.StringBuilder
dup
bipush 16
aload 0 /* this */
getfield com.ctc.wstx.util.WordResolver.mWords:[Ljava/lang/String;
arraylength
iconst_3
ishl
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1 /* sb */
start local 1 // java.lang.StringBuilder sb
1: .line 321
iconst_0
istore 2 /* i */
start local 2 // int i
2: aload 0 /* this */
getfield com.ctc.wstx.util.WordResolver.mWords:[Ljava/lang/String;
arraylength
istore 3 /* len */
start local 3 // int len
3: goto 8
4: .line 322
StackMap locals: java.lang.StringBuilder int int
StackMap stack:
iload 2 /* i */
ifle 6
5: .line 323
aload 1 /* sb */
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: .line 325
StackMap locals:
StackMap stack:
aload 1 /* sb */
aload 0 /* this */
getfield com.ctc.wstx.util.WordResolver.mWords:[Ljava/lang/String;
iload 2 /* i */
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: .line 321
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
8: iload 2 /* i */
iload 3 /* len */
if_icmplt 4
end local 3 // int len
end local 2 // int i
9: .line 327
aload 1 /* sb */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 // java.lang.StringBuilder sb
end local 0 // com.ctc.wstx.util.WordResolver this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/ctc/wstx/util/WordResolver;
1 10 1 sb Ljava/lang/StringBuilder;
2 9 2 i I
3 9 3 len I
}
SourceFile: "WordResolver.java"
NestMembers:
com.ctc.wstx.util.WordResolver$Builder
InnerClasses:
private final Builder = com.ctc.wstx.util.WordResolver$Builder of com.ctc.wstx.util.WordResolver