final class com.ctc.wstx.util.WordSet$Builder
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.ctc.wstx.util.WordSet$Builder
super_class: java.lang.Object
{
final java.lang.String[] mWords;
descriptor: [Ljava/lang/String;
flags: (0x0010) ACC_FINAL
char[] mData;
descriptor: [C
flags: (0x0000)
int mSize;
descriptor: I
flags: (0x0000)
public void <init>(java.util.TreeSet<java.lang.String>);
descriptor: (Ljava/util/TreeSet;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 // com.ctc.wstx.util.WordSet$Builder this
start local 1 // java.util.TreeSet wordSet
0: .line 293
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 294
aload 1 /* wordSet */
invokevirtual java.util.TreeSet.size:()I
istore 2 /* wordCount */
start local 2 // int wordCount
2: .line 295
aload 0 /* this */
iload 2 /* wordCount */
anewarray java.lang.String
putfield com.ctc.wstx.util.WordSet$Builder.mWords:[Ljava/lang/String;
3: .line 296
aload 1 /* wordSet */
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mWords:[Ljava/lang/String;
invokevirtual java.util.TreeSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
4: .line 302
iload 2 /* wordCount */
bipush 12
imul
istore 3 /* size */
start local 3 // int size
5: .line 303
iload 3 /* size */
sipush 256
if_icmpge 7
6: .line 304
sipush 256
istore 3 /* size */
7: .line 306
StackMap locals: com.ctc.wstx.util.WordSet$Builder java.util.TreeSet int int
StackMap stack:
aload 0 /* this */
iload 3 /* size */
newarray 5
putfield com.ctc.wstx.util.WordSet$Builder.mData:[C
8: .line 307
return
end local 3 // int size
end local 2 // int wordCount
end local 1 // java.util.TreeSet wordSet
end local 0 // com.ctc.wstx.util.WordSet$Builder this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/ctc/wstx/util/WordSet$Builder;
0 9 1 wordSet Ljava/util/TreeSet<Ljava/lang/String;>;
2 9 2 wordCount I
5 9 3 size I
Signature: (Ljava/util/TreeSet<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
wordSet
public char[] construct();
descriptor: ()[C
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 // com.ctc.wstx.util.WordSet$Builder this
0: .line 318
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mWords:[Ljava/lang/String;
arraylength
iconst_1
if_icmpne 3
1: .line 319
aload 0 /* this */
iconst_0
iconst_0
invokevirtual com.ctc.wstx.util.WordSet$Builder.constructLeaf:(II)V
2: .line 320
goto 4
3: .line 321
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_0
iconst_0
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mWords:[Ljava/lang/String;
arraylength
invokevirtual com.ctc.wstx.util.WordSet$Builder.constructBranch:(III)V
4: .line 325
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
newarray 5
astore 1 /* result */
start local 1 // char[] result
5: .line 326
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
iconst_0
aload 1 /* result */
iconst_0
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: .line 327
aload 1 /* result */
areturn
end local 1 // char[] result
end local 0 // com.ctc.wstx.util.WordSet$Builder this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/ctc/wstx/util/WordSet$Builder;
5 7 1 result [C
private void constructBranch(int, int, int);
descriptor: (III)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=4
start local 0 // com.ctc.wstx.util.WordSet$Builder this
start local 1 // int charIndex
start local 2 // int start
start local 3 // int end
0: .line 347
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
arraylength
if_icmplt 2
1: .line 348
aload 0 /* this */
iconst_1
invokevirtual com.ctc.wstx.util.WordSet$Builder.expand:(I)[C
pop
2: .line 350
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
aload 0 /* this */
dup
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
dup_x1
iconst_1
iadd
putfield com.ctc.wstx.util.WordSet$Builder.mSize:I
iconst_0
castore
3: .line 355
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
iconst_1
iadd
istore 4 /* structStart */
start local 4 // int structStart
4: .line 356
iconst_0
istore 5 /* groupCount */
start local 5 // int groupCount
5: .line 357
iload 2 /* start */
istore 6 /* groupStart */
start local 6 // int groupStart
6: .line 358
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mWords:[Ljava/lang/String;
astore 7 /* words */
start local 7 // java.lang.String[] words
7: .line 366
aload 7 /* words */
iload 6 /* groupStart */
aaload
invokevirtual java.lang.String.length:()I
iload 1 /* charIndex */
if_icmpne 26
8: .line 367
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
iconst_2
iadd
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
arraylength
if_icmple 10
9: .line 368
aload 0 /* this */
iconst_2
invokevirtual com.ctc.wstx.util.WordSet$Builder.expand:(I)[C
pop
10: .line 373
StackMap locals: com.ctc.wstx.util.WordSet$Builder int int int int int int java.lang.String[]
StackMap stack:
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
aload 0 /* this */
dup
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
dup_x1
iconst_1
iadd
putfield com.ctc.wstx.util.WordSet$Builder.mSize:I
iconst_0
castore
11: .line 374
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
aload 0 /* this */
dup
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
dup_x1
iconst_1
iadd
putfield com.ctc.wstx.util.WordSet$Builder.mSize:I
iconst_0
castore
12: .line 377
iinc 6 /* groupStart */ 1
13: .line 378
iinc 5 /* groupCount */ 1
14: .line 382
goto 26
15: .line 384
StackMap locals:
StackMap stack:
aload 7 /* words */
iload 6 /* groupStart */
aaload
iload 1 /* charIndex */
invokevirtual java.lang.String.charAt:(I)C
istore 8 /* c */
start local 8 // char c
16: .line 385
iload 6 /* groupStart */
iconst_1
iadd
istore 9 /* j */
start local 9 // int j
17: .line 386
goto 19
18: .line 387
StackMap locals: int int
StackMap stack:
iinc 9 /* j */ 1
19: .line 386
StackMap locals:
StackMap stack:
iload 9 /* j */
iload 3 /* end */
if_icmpge 20
aload 7 /* words */
iload 9 /* j */
aaload
iload 1 /* charIndex */
invokevirtual java.lang.String.charAt:(I)C
iload 8 /* c */
if_icmpeq 18
20: .line 393
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
iconst_2
iadd
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
arraylength
if_icmple 22
21: .line 394
aload 0 /* this */
iconst_2
invokevirtual com.ctc.wstx.util.WordSet$Builder.expand:(I)[C
pop
22: .line 396
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
aload 0 /* this */
dup
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
dup_x1
iconst_1
iadd
putfield com.ctc.wstx.util.WordSet$Builder.mSize:I
iload 8 /* c */
castore
23: .line 397
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
aload 0 /* this */
dup
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
dup_x1
iconst_1
iadd
putfield com.ctc.wstx.util.WordSet$Builder.mSize:I
iload 9 /* j */
iload 6 /* groupStart */
isub
i2c
castore
24: .line 398
iload 9 /* j */
istore 6 /* groupStart */
25: .line 399
iinc 5 /* groupCount */ 1
end local 9 // int j
end local 8 // char c
26: .line 382
StackMap locals:
StackMap stack:
iload 6 /* groupStart */
iload 3 /* end */
if_icmplt 15
27: .line 406
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
iload 4 /* structStart */
iconst_2
isub
iload 5 /* groupCount */
i2c
castore
28: .line 407
iload 2 /* start */
istore 6 /* groupStart */
29: .line 410
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
iload 4 /* structStart */
caload
ifne 32
30: .line 411
iinc 4 /* structStart */ 2
31: .line 412
iinc 6 /* groupStart */ 1
32: .line 415
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
istore 8 /* structEnd */
start local 8 // int structEnd
33: .line 416
iinc 1 /* charIndex */ 1
34: .line 417
goto 49
35: .line 418
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
iload 4 /* structStart */
caload
istore 5 /* groupCount */
36: .line 420
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
iload 4 /* structStart */
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
i2c
castore
37: .line 421
iload 5 /* groupCount */
iconst_1
if_icmpne 44
38: .line 425
aload 7 /* words */
iload 6 /* groupStart */
aaload
astore 9 /* word */
start local 9 // java.lang.String word
39: .line 426
aload 9 /* word */
invokevirtual java.lang.String.length:()I
iload 1 /* charIndex */
if_icmpne 42
40: .line 427
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
iload 4 /* structStart */
iconst_0
castore
41: .line 428
goto 47
42: .line 429
StackMap locals: java.lang.String
StackMap stack:
aload 0 /* this */
iload 1 /* charIndex */
iload 6 /* groupStart */
invokevirtual com.ctc.wstx.util.WordSet$Builder.constructLeaf:(II)V
end local 9 // java.lang.String word
43: .line 431
goto 47
44: .line 432
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 1 /* charIndex */
iload 6 /* groupStart */
45: .line 433
iload 6 /* groupStart */
iload 5 /* groupCount */
iadd
46: .line 432
invokevirtual com.ctc.wstx.util.WordSet$Builder.constructBranch:(III)V
47: .line 435
StackMap locals:
StackMap stack:
iload 6 /* groupStart */
iload 5 /* groupCount */
iadd
istore 6 /* groupStart */
48: .line 417
iinc 4 /* structStart */ 2
StackMap locals:
StackMap stack:
49: iload 4 /* structStart */
iload 8 /* structEnd */
if_icmplt 35
50: .line 439
return
end local 8 // int structEnd
end local 7 // java.lang.String[] words
end local 6 // int groupStart
end local 5 // int groupCount
end local 4 // int structStart
end local 3 // int end
end local 2 // int start
end local 1 // int charIndex
end local 0 // com.ctc.wstx.util.WordSet$Builder this
LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Lcom/ctc/wstx/util/WordSet$Builder;
0 51 1 charIndex I
0 51 2 start I
0 51 3 end I
4 51 4 structStart I
5 51 5 groupCount I
6 51 6 groupStart I
7 51 7 words [Ljava/lang/String;
16 26 8 c C
17 26 9 j I
33 51 8 structEnd I
39 43 9 word Ljava/lang/String;
MethodParameters:
Name Flags
charIndex
start
end
private void constructLeaf(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 // com.ctc.wstx.util.WordSet$Builder this
start local 1 // int charIndex
start local 2 // int wordIndex
0: .line 447
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mWords:[Ljava/lang/String;
iload 2 /* wordIndex */
aaload
astore 3 /* word */
start local 3 // java.lang.String word
1: .line 448
aload 3 /* word */
invokevirtual java.lang.String.length:()I
istore 4 /* len */
start local 4 // int len
2: .line 449
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
astore 5 /* data */
start local 5 // char[] data
3: .line 452
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
iload 4 /* len */
iadd
iconst_1
iadd
aload 5 /* data */
arraylength
if_icmplt 5
4: .line 453
aload 0 /* this */
iload 4 /* len */
iconst_1
iadd
invokevirtual com.ctc.wstx.util.WordSet$Builder.expand:(I)[C
astore 5 /* data */
5: .line 456
StackMap locals: java.lang.String int char[]
StackMap stack:
aload 5 /* data */
aload 0 /* this */
dup
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
dup_x1
iconst_1
iadd
putfield com.ctc.wstx.util.WordSet$Builder.mSize:I
ldc 49152
iload 4 /* len */
iload 1 /* charIndex */
isub
iadd
i2c
castore
6: .line 457
goto 9
7: .line 458
StackMap locals:
StackMap stack:
aload 5 /* data */
aload 0 /* this */
dup
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
dup_x1
iconst_1
iadd
putfield com.ctc.wstx.util.WordSet$Builder.mSize:I
aload 3 /* word */
iload 1 /* charIndex */
invokevirtual java.lang.String.charAt:(I)C
castore
8: .line 457
iinc 1 /* charIndex */ 1
StackMap locals:
StackMap stack:
9: iload 1 /* charIndex */
iload 4 /* len */
if_icmplt 7
10: .line 460
return
end local 5 // char[] data
end local 4 // int len
end local 3 // java.lang.String word
end local 2 // int wordIndex
end local 1 // int charIndex
end local 0 // com.ctc.wstx.util.WordSet$Builder this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/ctc/wstx/util/WordSet$Builder;
0 11 1 charIndex I
0 11 2 wordIndex I
1 11 3 word Ljava/lang/String;
2 11 4 len I
3 11 5 data [C
MethodParameters:
Name Flags
charIndex
wordIndex
private char[] expand(int);
descriptor: (I)[C
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 // com.ctc.wstx.util.WordSet$Builder this
start local 1 // int needSpace
0: .line 464
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
astore 2 /* old */
start local 2 // char[] old
1: .line 465
aload 2 /* old */
arraylength
istore 3 /* len */
start local 3 // int len
2: .line 466
iload 3 /* len */
iload 3 /* len */
sipush 4096
if_icmpge 3
iload 3 /* len */
goto 4
StackMap locals: com.ctc.wstx.util.WordSet$Builder int char[] int
StackMap stack: int
3: iload 3 /* len */
iconst_1
ishr
StackMap locals: com.ctc.wstx.util.WordSet$Builder int char[] int
StackMap stack: int int
4: iadd
istore 4 /* newSize */
start local 4 // int newSize
5: .line 471
iload 4 /* newSize */
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
iload 1 /* needSpace */
iadd
if_icmpge 7
6: .line 472
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mSize:I
iload 1 /* needSpace */
iadd
bipush 64
iadd
istore 4 /* newSize */
7: .line 474
StackMap locals: int
StackMap stack:
aload 0 /* this */
iload 4 /* newSize */
newarray 5
putfield com.ctc.wstx.util.WordSet$Builder.mData:[C
8: .line 475
aload 2 /* old */
iconst_0
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
iconst_0
iload 3 /* len */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: .line 476
aload 0 /* this */
getfield com.ctc.wstx.util.WordSet$Builder.mData:[C
areturn
end local 4 // int newSize
end local 3 // int len
end local 2 // char[] old
end local 1 // int needSpace
end local 0 // com.ctc.wstx.util.WordSet$Builder this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/ctc/wstx/util/WordSet$Builder;
0 10 1 needSpace I
1 10 2 old [C
2 10 3 len I
5 10 4 newSize I
MethodParameters:
Name Flags
needSpace
}
SourceFile: "WordSet.java"
NestHost: com.ctc.wstx.util.WordSet
InnerClasses:
private final Builder = com.ctc.wstx.util.WordSet$Builder of com.ctc.wstx.util.WordSet