public class sun.text.normalizer.TrieIterator implements sun.text.normalizer.RangeValueIterator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.text.normalizer.TrieIterator
super_class: java.lang.Object
{
private static final int BMP_INDEX_LENGTH_;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2048
private static final int LEAD_SURROGATE_MIN_VALUE_;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 55296
private static final int TRAIL_SURROGATE_MIN_VALUE_;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 56320
private static final int TRAIL_SURROGATE_COUNT_;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
private static final int TRAIL_SURROGATE_INDEX_BLOCK_LENGTH_;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final int DATA_BLOCK_LENGTH_;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private sun.text.normalizer.Trie m_trie_;
descriptor: Lsun/text/normalizer/Trie;
flags: (0x0002) ACC_PRIVATE
private int m_initialValue_;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int m_currentCodepoint_;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int m_nextCodepoint_;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int m_nextValue_;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int m_nextIndex_;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int m_nextBlock_;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int m_nextBlockIndex_;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int m_nextTrailIndexOffset_;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(sun.text.normalizer.Trie);
descriptor: (Lsun/text/normalizer/Trie;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnonnull 5
2: new java.lang.IllegalArgumentException
dup
3: ldc "Argument trie cannot be null"
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: sun.text.normalizer.TrieIterator sun.text.normalizer.Trie
StackMap stack:
aload 0
aload 1
putfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
6: aload 0
aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
invokevirtual sun.text.normalizer.Trie.getInitialValue:()I
invokevirtual sun.text.normalizer.TrieIterator.extract:(I)I
putfield sun.text.normalizer.TrieIterator.m_initialValue_:I
7: aload 0
invokevirtual sun.text.normalizer.TrieIterator.reset:()V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/text/normalizer/TrieIterator;
0 9 1 trie Lsun/text/normalizer/Trie;
MethodParameters:
Name Flags
trie
public final boolean next(sun.text.normalizer.RangeValueIterator$Element);
descriptor: (Lsun/text/normalizer/RangeValueIterator$Element;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
ldc 1114111
if_icmple 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
ldc 65536
if_icmpge 5
3: aload 0
aload 1
invokevirtual sun.text.normalizer.TrieIterator.calculateNextBMPElement:(Lsun/text/normalizer/RangeValueIterator$Element;)Z
ifeq 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.text.normalizer.TrieIterator.calculateNextSupplementaryElement:(Lsun/text/normalizer/RangeValueIterator$Element;)V
6: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/text/normalizer/TrieIterator;
0 7 1 element Lsun/text/normalizer/RangeValueIterator$Element;
MethodParameters:
Name Flags
element
public final void reset();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
1: aload 0
iconst_0
putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
2: aload 0
iconst_0
putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
3: aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
getfield sun.text.normalizer.Trie.m_index_:[C
iconst_0
caload
iconst_2
ishl
putfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
4: aload 0
getfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
ifne 7
5: aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_initialValue_:I
putfield sun.text.normalizer.TrieIterator.m_nextValue_:I
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
invokevirtual sun.text.normalizer.Trie.getValue:(I)I
invokevirtual sun.text.normalizer.TrieIterator.extract:(I)I
putfield sun.text.normalizer.TrieIterator.m_nextValue_:I
8: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
9: aload 0
bipush 32
putfield sun.text.normalizer.TrieIterator.m_nextTrailIndexOffset_:I
10: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/text/normalizer/TrieIterator;
protected int (int);
descriptor: (I)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/text/normalizer/TrieIterator;
0 1 1 value I
MethodParameters:
Name Flags
value
private final void setResult(sun.text.normalizer.RangeValueIterator$Element, int, int, int);
descriptor: (Lsun/text/normalizer/RangeValueIterator$Element;III)V
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
iload 2
putfield sun.text.normalizer.RangeValueIterator$Element.start:I
1: aload 1
iload 3
putfield sun.text.normalizer.RangeValueIterator$Element.limit:I
2: aload 1
iload 4
putfield sun.text.normalizer.RangeValueIterator$Element.value:I
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/text/normalizer/TrieIterator;
0 4 1 element Lsun/text/normalizer/RangeValueIterator$Element;
0 4 2 start I
0 4 3 limit I
0 4 4 value I
MethodParameters:
Name Flags
element
start
limit
value
private final boolean calculateNextBMPElement(sun.text.normalizer.RangeValueIterator$Element);
descriptor: (Lsun/text/normalizer/RangeValueIterator$Element;)Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
istore 2
start local 2 1: aload 0
getfield sun.text.normalizer.TrieIterator.m_nextValue_:I
istore 3
start local 3 2: aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
putfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
3: aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
iconst_1
iadd
putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
4: aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
iconst_1
iadd
putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
5: aload 0
iload 3
invokevirtual sun.text.normalizer.TrieIterator.checkBlockDetail:(I)Z
ifne 22
6: aload 0
aload 1
aload 0
getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
7: iload 3
8: invokevirtual sun.text.normalizer.TrieIterator.setResult:(Lsun/text/normalizer/RangeValueIterator$Element;III)V
9: iconst_1
ireturn
10: StackMap locals: int int
StackMap stack:
aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
iconst_1
iadd
putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
11: aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
ldc 55296
if_icmpne 14
12: aload 0
sipush 2048
putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
13: goto 16
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
ldc 56320
if_icmpne 16
15: aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
iconst_5
ishr
putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
16: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
17: aload 0
iload 2
iload 3
invokevirtual sun.text.normalizer.TrieIterator.checkBlock:(II)Z
ifne 22
18: aload 0
aload 1
aload 0
getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
19: iload 3
20: invokevirtual sun.text.normalizer.TrieIterator.setResult:(Lsun/text/normalizer/RangeValueIterator$Element;III)V
21: iconst_1
ireturn
22: StackMap locals:
StackMap stack:
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
ldc 65536
if_icmplt 10
23: aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
iconst_1
isub
putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
24: aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
iconst_1
isub
putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
25: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/text/normalizer/TrieIterator;
0 26 1 element Lsun/text/normalizer/RangeValueIterator$Element;
1 26 2 currentBlock I
2 26 3 currentValue I
MethodParameters:
Name Flags
element
private final void calculateNextSupplementaryElement(sun.text.normalizer.RangeValueIterator$Element);
descriptor: (Lsun/text/normalizer/RangeValueIterator$Element;)V
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.text.normalizer.TrieIterator.m_nextValue_:I
istore 2
start local 2 1: aload 0
getfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
istore 3
start local 3 2: aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
iconst_1
iadd
putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
3: aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
iconst_1
iadd
putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
4: aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
invokestatic sun.text.normalizer.UTF16.getTrailSurrogate:(I)C
5: ldc 56320
6: if_icmpeq 21
7: aload 0
invokevirtual sun.text.normalizer.TrieIterator.checkNullNextTrailIndex:()Z
ifne 13
aload 0
iload 2
invokevirtual sun.text.normalizer.TrieIterator.checkBlockDetail:(I)Z
ifne 13
8: aload 0
aload 1
aload 0
getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
9: iload 2
10: invokevirtual sun.text.normalizer.TrieIterator.setResult:(Lsun/text/normalizer/RangeValueIterator$Element;III)V
11: aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
putfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
12: return
13: StackMap locals: int int
StackMap stack:
aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
iconst_1
iadd
putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
14: aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextTrailIndexOffset_:I
iconst_1
iadd
putfield sun.text.normalizer.TrieIterator.m_nextTrailIndexOffset_:I
15: aload 0
iload 3
iload 2
invokevirtual sun.text.normalizer.TrieIterator.checkTrailBlock:(II)Z
ifne 21
16: aload 0
aload 1
aload 0
getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
17: iload 2
18: invokevirtual sun.text.normalizer.TrieIterator.setResult:(Lsun/text/normalizer/RangeValueIterator$Element;III)V
19: aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
putfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
20: return
21: StackMap locals:
StackMap stack:
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
invokestatic sun.text.normalizer.UTF16.getLeadSurrogate:(I)C
istore 4
start local 4 22: goto 72
23: StackMap locals: int
StackMap stack:
aload 0
getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
getfield sun.text.normalizer.Trie.m_index_:[C
iload 4
iconst_5
ishr
caload
24: iconst_2
25: ishl
26: istore 5
start local 5 27: iload 5
aload 0
getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
getfield sun.text.normalizer.Trie.m_dataOffset_:I
if_icmpne 43
28: iload 2
aload 0
getfield sun.text.normalizer.TrieIterator.m_initialValue_:I
if_icmpeq 37
29: aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_initialValue_:I
putfield sun.text.normalizer.TrieIterator.m_nextValue_:I
30: aload 0
iconst_0
putfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
31: aload 0
iconst_0
putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
32: aload 0
aload 1
aload 0
getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
33: iload 2
34: invokevirtual sun.text.normalizer.TrieIterator.setResult:(Lsun/text/normalizer/RangeValueIterator$Element;III)V
35: aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
putfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
36: return
37: StackMap locals: int
StackMap stack:
iinc 4 32
38: aload 0
39: iload 4
i2c
40: ldc 56320
41: invokestatic sun.text.normalizer.UCharacterProperty.getRawSupplementary:(CC)I
putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
42: goto 72
43: StackMap locals:
StackMap stack:
aload 0
getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
getfield sun.text.normalizer.Trie.m_dataManipulate_:Lsun/text/normalizer/Trie$DataManipulate;
ifnonnull 47
44: new java.lang.NullPointerException
dup
45: ldc "The field DataManipulate in this Trie is null"
46: invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
47: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
getfield sun.text.normalizer.Trie.m_dataManipulate_:Lsun/text/normalizer/Trie$DataManipulate;
48: aload 0
getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
iload 5
49: iload 4
bipush 31
iand
iadd
50: invokevirtual sun.text.normalizer.Trie.getValue:(I)I
51: invokeinterface sun.text.normalizer.Trie$DataManipulate.getFoldingOffset:(I)I
putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
52: aload 0
getfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
ifgt 64
53: iload 2
aload 0
getfield sun.text.normalizer.TrieIterator.m_initialValue_:I
if_icmpeq 62
54: aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_initialValue_:I
putfield sun.text.normalizer.TrieIterator.m_nextValue_:I
55: aload 0
iconst_0
putfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
56: aload 0
iconst_0
putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
57: aload 0
aload 1
aload 0
getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
58: iload 2
59: invokevirtual sun.text.normalizer.TrieIterator.setResult:(Lsun/text/normalizer/RangeValueIterator$Element;III)V
60: aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
putfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
61: return
62: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
sipush 1024
iadd
putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
63: goto 71
64: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.text.normalizer.TrieIterator.m_nextTrailIndexOffset_:I
65: aload 0
iload 3
iload 2
invokevirtual sun.text.normalizer.TrieIterator.checkTrailBlock:(II)Z
ifne 71
66: aload 0
aload 1
aload 0
getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
67: iload 2
68: invokevirtual sun.text.normalizer.TrieIterator.setResult:(Lsun/text/normalizer/RangeValueIterator$Element;III)V
69: aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
putfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
70: return
71: StackMap locals:
StackMap stack:
iinc 4 1
end local 5 72: StackMap locals:
StackMap stack:
iload 4
ldc 56320
if_icmplt 23
73: aload 0
aload 1
aload 0
getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
ldc 1114112
74: iload 2
75: invokevirtual sun.text.normalizer.TrieIterator.setResult:(Lsun/text/normalizer/RangeValueIterator$Element;III)V
76: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 77 0 this Lsun/text/normalizer/TrieIterator;
0 77 1 element Lsun/text/normalizer/RangeValueIterator$Element;
1 77 2 currentValue I
2 77 3 currentBlock I
22 77 4 nextLead I
27 72 5 leadBlock I
MethodParameters:
Name Flags
element
private final boolean checkBlockDetail(int);
descriptor: (I)Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: goto 8
1: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
2: aload 0
getfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
iadd
3: invokevirtual sun.text.normalizer.Trie.getValue:(I)I
invokevirtual sun.text.normalizer.TrieIterator.extract:(I)I
putfield sun.text.normalizer.TrieIterator.m_nextValue_:I
4: aload 0
getfield sun.text.normalizer.TrieIterator.m_nextValue_:I
iload 1
if_icmpeq 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
iconst_1
iadd
putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
7: aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
iconst_1
iadd
putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
bipush 32
if_icmplt 1
9: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/text/normalizer/TrieIterator;
0 10 1 currentValue I
MethodParameters:
Name Flags
currentValue
private final boolean checkBlock(int, int);
descriptor: (II)Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
getfield sun.text.normalizer.Trie.m_index_:[C
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
caload
1: iconst_2
ishl
2: putfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
3: aload 0
getfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
iload 1
if_icmpne 7
4: aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
aload 0
getfield sun.text.normalizer.TrieIterator.m_currentCodepoint_:I
isub
bipush 32
if_icmplt 7
5: aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
bipush 32
iadd
putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
6: goto 16
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextBlock_:I
ifne 14
8: iload 2
aload 0
getfield sun.text.normalizer.TrieIterator.m_initialValue_:I
if_icmpeq 12
9: aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_initialValue_:I
putfield sun.text.normalizer.TrieIterator.m_nextValue_:I
10: aload 0
iconst_0
putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
bipush 32
iadd
putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
13: goto 16
14: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual sun.text.normalizer.TrieIterator.checkBlockDetail:(I)Z
ifne 16
15: iconst_0
ireturn
16: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/text/normalizer/TrieIterator;
0 17 1 currentBlock I
0 17 2 currentValue I
MethodParameters:
Name Flags
currentBlock
currentValue
private final boolean checkTrailBlock(int, int);
descriptor: (II)Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: goto 6
1: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
2: aload 0
iload 1
iload 2
invokevirtual sun.text.normalizer.TrieIterator.checkBlock:(II)Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextTrailIndexOffset_:I
iconst_1
iadd
putfield sun.text.normalizer.TrieIterator.m_nextTrailIndexOffset_:I
5: aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
iconst_1
iadd
putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.text.normalizer.TrieIterator.m_nextTrailIndexOffset_:I
bipush 32
if_icmplt 1
7: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/text/normalizer/TrieIterator;
0 8 1 currentBlock I
0 8 2 currentValue I
MethodParameters:
Name Flags
currentBlock
currentValue
private final boolean checkNullNextTrailIndex();
descriptor: ()Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
ifgt 19
1: aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
sipush 1023
iadd
putfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
2: aload 0
getfield sun.text.normalizer.TrieIterator.m_nextCodepoint_:I
invokestatic sun.text.normalizer.UTF16.getLeadSurrogate:(I)C
istore 1
start local 1 3: aload 0
getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
getfield sun.text.normalizer.Trie.m_index_:[C
iload 1
iconst_5
ishr
caload
4: iconst_2
5: ishl
6: istore 2
start local 2 7: aload 0
getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
getfield sun.text.normalizer.Trie.m_dataManipulate_:Lsun/text/normalizer/Trie$DataManipulate;
ifnonnull 11
8: new java.lang.NullPointerException
dup
9: ldc "The field DataManipulate in this Trie is null"
10: invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: int int
StackMap stack:
aload 0
aload 0
getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
getfield sun.text.normalizer.Trie.m_dataManipulate_:Lsun/text/normalizer/Trie$DataManipulate;
12: aload 0
getfield sun.text.normalizer.TrieIterator.m_trie_:Lsun/text/normalizer/Trie;
iload 2
13: iload 1
bipush 31
iand
iadd
14: invokevirtual sun.text.normalizer.Trie.getValue:(I)I
15: invokeinterface sun.text.normalizer.Trie$DataManipulate.getFoldingOffset:(I)I
putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
16: aload 0
dup
getfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
iconst_1
isub
putfield sun.text.normalizer.TrieIterator.m_nextIndex_:I
17: aload 0
bipush 32
putfield sun.text.normalizer.TrieIterator.m_nextBlockIndex_:I
18: iconst_1
ireturn
end local 2 end local 1 19: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/text/normalizer/TrieIterator;
3 19 1 nextLead I
7 19 2 leadBlock I
}
SourceFile: "TrieIterator.java"
InnerClasses:
public Element = sun.text.normalizer.RangeValueIterator$Element of sun.text.normalizer.RangeValueIterator
public abstract DataManipulate = sun.text.normalizer.Trie$DataManipulate of sun.text.normalizer.Trie