public class java.text.RuleBasedCollator extends java.text.Collator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.text.RuleBasedCollator
super_class: java.text.Collator
{
static final int CHARINDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1879048192
static final int EXPANDCHARINDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2113929216
static final int CONTRACTCHARINDEX;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2130706432
static final int UNMAPPED;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int COLLATIONKEYOFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private java.text.RBCollationTables tables;
descriptor: Ljava/text/RBCollationTables;
flags: (0x0002) ACC_PRIVATE
private java.lang.StringBuffer primResult;
descriptor: Ljava/lang/StringBuffer;
flags: (0x0002) ACC_PRIVATE
private java.lang.StringBuffer secResult;
descriptor: Ljava/lang/StringBuffer;
flags: (0x0002) ACC_PRIVATE
private java.lang.StringBuffer terResult;
descriptor: Ljava/lang/StringBuffer;
flags: (0x0002) ACC_PRIVATE
private java.text.CollationElementIterator sourceCursor;
descriptor: Ljava/text/CollationElementIterator;
flags: (0x0002) ACC_PRIVATE
private java.text.CollationElementIterator targetCursor;
descriptor: Ljava/text/CollationElementIterator;
flags: (0x0002) ACC_PRIVATE
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokespecial java.text.RuleBasedCollator.<init>:(Ljava/lang/String;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/text/RuleBasedCollator;
0 2 1 rules Ljava/lang/String;
Exceptions:
throws java.text.ParseException
MethodParameters:
Name Flags
rules
void <init>(java.lang.String, int);
descriptor: (Ljava/lang/String;I)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.text.Collator.<init>:()V
1: aload 0
aconst_null
putfield java.text.RuleBasedCollator.tables:Ljava/text/RBCollationTables;
2: aload 0
aconst_null
putfield java.text.RuleBasedCollator.primResult:Ljava/lang/StringBuffer;
3: aload 0
aconst_null
putfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
4: aload 0
aconst_null
putfield java.text.RuleBasedCollator.terResult:Ljava/lang/StringBuffer;
5: aload 0
aconst_null
putfield java.text.RuleBasedCollator.sourceCursor:Ljava/text/CollationElementIterator;
6: aload 0
aconst_null
putfield java.text.RuleBasedCollator.targetCursor:Ljava/text/CollationElementIterator;
7: aload 0
iconst_2
invokevirtual java.text.RuleBasedCollator.setStrength:(I)V
8: aload 0
iload 2
invokevirtual java.text.RuleBasedCollator.setDecomposition:(I)V
9: aload 0
new java.text.RBCollationTables
dup
aload 1
iload 2
invokespecial java.text.RBCollationTables.<init>:(Ljava/lang/String;I)V
putfield java.text.RuleBasedCollator.tables:Ljava/text/RBCollationTables;
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/text/RuleBasedCollator;
0 11 1 rules Ljava/lang/String;
0 11 2 decomp I
Exceptions:
throws java.text.ParseException
MethodParameters:
Name Flags
rules
decomp
private void <init>(java.text.RuleBasedCollator);
descriptor: (Ljava/text/RuleBasedCollator;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.text.Collator.<init>:()V
1: aload 0
aconst_null
putfield java.text.RuleBasedCollator.tables:Ljava/text/RBCollationTables;
2: aload 0
aconst_null
putfield java.text.RuleBasedCollator.primResult:Ljava/lang/StringBuffer;
3: aload 0
aconst_null
putfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
4: aload 0
aconst_null
putfield java.text.RuleBasedCollator.terResult:Ljava/lang/StringBuffer;
5: aload 0
aconst_null
putfield java.text.RuleBasedCollator.sourceCursor:Ljava/text/CollationElementIterator;
6: aload 0
aconst_null
putfield java.text.RuleBasedCollator.targetCursor:Ljava/text/CollationElementIterator;
7: aload 0
aload 1
invokevirtual java.text.RuleBasedCollator.getStrength:()I
invokevirtual java.text.RuleBasedCollator.setStrength:(I)V
8: aload 0
aload 1
invokevirtual java.text.RuleBasedCollator.getDecomposition:()I
invokevirtual java.text.RuleBasedCollator.setDecomposition:(I)V
9: aload 0
aload 1
getfield java.text.RuleBasedCollator.tables:Ljava/text/RBCollationTables;
putfield java.text.RuleBasedCollator.tables:Ljava/text/RBCollationTables;
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/text/RuleBasedCollator;
0 11 1 that Ljava/text/RuleBasedCollator;
MethodParameters:
Name Flags
that
public java.lang.String getRules();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.RuleBasedCollator.tables:Ljava/text/RBCollationTables;
invokevirtual java.text.RBCollationTables.getRules:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/RuleBasedCollator;
public java.text.CollationElementIterator getCollationElementIterator(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/text/CollationElementIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.text.CollationElementIterator
dup
aload 1
aload 0
invokespecial java.text.CollationElementIterator.<init>:(Ljava/lang/String;Ljava/text/RuleBasedCollator;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/RuleBasedCollator;
0 1 1 source Ljava/lang/String;
MethodParameters:
Name Flags
source
public java.text.CollationElementIterator getCollationElementIterator(java.text.CharacterIterator);
descriptor: (Ljava/text/CharacterIterator;)Ljava/text/CollationElementIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.text.CollationElementIterator
dup
aload 1
aload 0
invokespecial java.text.CollationElementIterator.<init>:(Ljava/text/CharacterIterator;Ljava/text/RuleBasedCollator;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/RuleBasedCollator;
0 1 1 source Ljava/text/CharacterIterator;
MethodParameters:
Name Flags
source
public synchronized int compare(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)I
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=17, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
aload 2
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 3: aload 0
getfield java.text.RuleBasedCollator.sourceCursor:Ljava/text/CollationElementIterator;
ifnonnull 6
4: aload 0
aload 0
aload 1
invokevirtual java.text.RuleBasedCollator.getCollationElementIterator:(Ljava/lang/String;)Ljava/text/CollationElementIterator;
putfield java.text.RuleBasedCollator.sourceCursor:Ljava/text/CollationElementIterator;
5: goto 7
6: StackMap locals: int
StackMap stack:
aload 0
getfield java.text.RuleBasedCollator.sourceCursor:Ljava/text/CollationElementIterator;
aload 1
invokevirtual java.text.CollationElementIterator.setText:(Ljava/lang/String;)V
7: StackMap locals:
StackMap stack:
aload 0
getfield java.text.RuleBasedCollator.targetCursor:Ljava/text/CollationElementIterator;
ifnonnull 10
8: aload 0
aload 0
aload 2
invokevirtual java.text.RuleBasedCollator.getCollationElementIterator:(Ljava/lang/String;)Ljava/text/CollationElementIterator;
putfield java.text.RuleBasedCollator.targetCursor:Ljava/text/CollationElementIterator;
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
getfield java.text.RuleBasedCollator.targetCursor:Ljava/text/CollationElementIterator;
aload 2
invokevirtual java.text.CollationElementIterator.setText:(Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 12: iconst_0
istore 5
start local 5 13: aload 0
invokevirtual java.text.RuleBasedCollator.getStrength:()I
iconst_1
if_icmplt 14
iconst_1
goto 15
StackMap locals: int int
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 6
start local 6 16: iload 6
istore 7
start local 7 17: aload 0
invokevirtual java.text.RuleBasedCollator.getStrength:()I
iconst_2
if_icmplt 18
iconst_1
goto 19
StackMap locals: int int
StackMap stack:
18: iconst_0
StackMap locals:
StackMap stack: int
19: istore 8
start local 8 20: iconst_1
istore 9
start local 9 21: iconst_1
istore 10
start local 10 22: StackMap locals: int int int
StackMap stack:
iload 9
ifeq 23
aload 0
getfield java.text.RuleBasedCollator.sourceCursor:Ljava/text/CollationElementIterator;
invokevirtual java.text.CollationElementIterator.next:()I
istore 4
goto 24
StackMap locals:
StackMap stack:
23: iconst_1
istore 9
24: StackMap locals:
StackMap stack:
iload 10
ifeq 25
aload 0
getfield java.text.RuleBasedCollator.targetCursor:Ljava/text/CollationElementIterator;
invokevirtual java.text.CollationElementIterator.next:()I
istore 5
goto 26
StackMap locals:
StackMap stack:
25: iconst_1
istore 10
26: StackMap locals:
StackMap stack:
iload 4
iconst_m1
if_icmpeq 77
27: iload 5
iconst_m1
if_icmpne 29
28: goto 77
29: StackMap locals:
StackMap stack:
iload 4
invokestatic java.text.CollationElementIterator.primaryOrder:(I)I
istore 11
start local 11 30: iload 5
invokestatic java.text.CollationElementIterator.primaryOrder:(I)I
istore 12
start local 12 31: iload 4
iload 5
if_icmpne 37
32: aload 0
getfield java.text.RuleBasedCollator.tables:Ljava/text/RBCollationTables;
invokevirtual java.text.RBCollationTables.isFrenchSec:()Z
ifeq 22
iload 11
ifeq 22
33: iload 7
ifne 22
34: iload 6
istore 7
35: iconst_0
istore 8
36: goto 22
37: StackMap locals: int int
StackMap stack:
iload 11
iload 12
if_icmpeq 59
38: iload 4
ifne 41
39: iconst_0
istore 10
40: goto 22
41: StackMap locals:
StackMap stack:
iload 5
ifne 44
42: iconst_0
istore 9
43: goto 22
44: StackMap locals:
StackMap stack:
iload 11
ifne 50
45: iload 7
ifeq 48
46: iconst_1
istore 3
47: iconst_0
istore 7
48: StackMap locals:
StackMap stack:
iconst_0
istore 10
49: goto 22
50: StackMap locals:
StackMap stack:
iload 12
ifne 56
51: iload 7
ifeq 54
52: iconst_m1
istore 3
53: iconst_0
istore 7
54: StackMap locals:
StackMap stack:
iconst_0
istore 9
55: goto 22
56: StackMap locals:
StackMap stack:
iload 11
iload 12
if_icmpge 58
57: iconst_m1
ireturn
58: StackMap locals:
StackMap stack:
iconst_1
ireturn
59: StackMap locals:
StackMap stack:
iload 7
ifeq 22
60: iload 4
invokestatic java.text.CollationElementIterator.secondaryOrder:(I)S
istore 13
start local 13 61: iload 5
invokestatic java.text.CollationElementIterator.secondaryOrder:(I)S
istore 14
start local 14 62: iload 13
iload 14
if_icmpeq 68
63: iload 13
iload 14
if_icmpge 64
iconst_m1
goto 65
StackMap locals: int int
StackMap stack:
64: iconst_1
StackMap locals:
StackMap stack: int
65: istore 3
66: iconst_0
istore 7
67: goto 22
68: StackMap locals:
StackMap stack:
iload 8
ifeq 22
69: iload 4
invokestatic java.text.CollationElementIterator.tertiaryOrder:(I)S
istore 15
start local 15 70: iload 5
invokestatic java.text.CollationElementIterator.tertiaryOrder:(I)S
istore 16
start local 16 71: iload 15
iload 16
if_icmpeq 22
72: iload 15
iload 16
if_icmpge 73
iconst_m1
goto 74
StackMap locals: int int
StackMap stack:
73: iconst_1
StackMap locals:
StackMap stack: int
74: istore 3
75: iconst_0
istore 8
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 76: goto 22
77: StackMap locals: java.text.RuleBasedCollator java.lang.String java.lang.String int int int int int int int int
StackMap stack:
iload 4
iconst_m1
if_icmpeq 86
78: StackMap locals:
StackMap stack:
iload 4
invokestatic java.text.CollationElementIterator.primaryOrder:(I)I
ifeq 80
79: iconst_1
ireturn
80: StackMap locals:
StackMap stack:
iload 4
invokestatic java.text.CollationElementIterator.secondaryOrder:(I)S
ifeq 84
81: iload 7
ifeq 84
82: iconst_1
istore 3
83: iconst_0
istore 7
84: StackMap locals:
StackMap stack:
aload 0
getfield java.text.RuleBasedCollator.sourceCursor:Ljava/text/CollationElementIterator;
invokevirtual java.text.CollationElementIterator.next:()I
dup
istore 4
iconst_m1
if_icmpne 78
85: goto 94
86: StackMap locals:
StackMap stack:
iload 5
iconst_m1
if_icmpeq 94
87: StackMap locals:
StackMap stack:
iload 5
invokestatic java.text.CollationElementIterator.primaryOrder:(I)I
ifeq 89
88: iconst_m1
ireturn
89: StackMap locals:
StackMap stack:
iload 5
invokestatic java.text.CollationElementIterator.secondaryOrder:(I)S
ifeq 93
90: iload 7
ifeq 93
91: iconst_m1
istore 3
92: iconst_0
istore 7
93: StackMap locals:
StackMap stack:
aload 0
getfield java.text.RuleBasedCollator.targetCursor:Ljava/text/CollationElementIterator;
invokevirtual java.text.CollationElementIterator.next:()I
dup
istore 5
iconst_m1
if_icmpne 87
94: StackMap locals:
StackMap stack:
iload 3
ifne 106
aload 0
invokevirtual java.text.RuleBasedCollator.getStrength:()I
iconst_3
if_icmpne 106
95: aload 0
invokevirtual java.text.RuleBasedCollator.getDecomposition:()I
istore 11
start local 11 96: iload 11
iconst_1
if_icmpne 99
97: getstatic java.text.Normalizer$Form.NFD:Ljava/text/Normalizer$Form;
astore 12
start local 12 98: goto 103
end local 12 StackMap locals: int
StackMap stack:
99: iload 11
iconst_2
if_icmpne 102
100: getstatic java.text.Normalizer$Form.NFKD:Ljava/text/Normalizer$Form;
astore 12
start local 12 101: goto 103
end local 12 102: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ireturn
start local 12 103: StackMap locals: java.text.Normalizer$Form
StackMap stack:
aload 1
aload 12
invokestatic java.text.Normalizer.normalize:(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Ljava/lang/String;
astore 13
start local 13 104: aload 2
aload 12
invokestatic java.text.Normalizer.normalize:(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Ljava/lang/String;
astore 14
start local 14 105: aload 13
aload 14
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ireturn
end local 14 end local 13 end local 12 end local 11 106: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 10 end local 9 end local 8 end local 7 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 107 0 this Ljava/text/RuleBasedCollator;
0 107 1 source Ljava/lang/String;
0 107 2 target Ljava/lang/String;
3 107 3 result I
12 107 4 sOrder I
13 107 5 tOrder I
16 107 6 initialCheckSecTer Z
17 107 7 checkSecTer Z
20 107 8 checkTertiary Z
21 107 9 gets Z
22 107 10 gett Z
30 76 11 pSOrder I
31 76 12 pTOrder I
61 76 13 secSOrder S
62 76 14 secTOrder S
70 76 15 terSOrder S
71 76 16 terTOrder S
96 106 11 mode I
98 99 12 form Ljava/text/Normalizer$Form;
101 102 12 form Ljava/text/Normalizer$Form;
103 106 12 form Ljava/text/Normalizer$Form;
104 106 13 sourceDecomposition Ljava/lang/String;
105 106 14 targetDecomposition Ljava/lang/String;
MethodParameters:
Name Flags
source
target
public synchronized java.text.CollationKey getCollationKey(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/text/CollationKey;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.text.RuleBasedCollator.primResult:Ljava/lang/StringBuffer;
ifnonnull 7
3: aload 0
new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
putfield java.text.RuleBasedCollator.primResult:Ljava/lang/StringBuffer;
4: aload 0
new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
putfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
5: aload 0
new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
putfield java.text.RuleBasedCollator.terResult:Ljava/lang/StringBuffer;
6: goto 10
7: StackMap locals:
StackMap stack:
aload 0
getfield java.text.RuleBasedCollator.primResult:Ljava/lang/StringBuffer;
iconst_0
invokevirtual java.lang.StringBuffer.setLength:(I)V
8: aload 0
getfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
iconst_0
invokevirtual java.lang.StringBuffer.setLength:(I)V
9: aload 0
getfield java.text.RuleBasedCollator.terResult:Ljava/lang/StringBuffer;
iconst_0
invokevirtual java.lang.StringBuffer.setLength:(I)V
10: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 11: aload 0
invokevirtual java.text.RuleBasedCollator.getStrength:()I
iconst_1
if_icmplt 12
iconst_1
goto 13
StackMap locals: int
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: istore 3
start local 3 14: aload 0
invokevirtual java.text.RuleBasedCollator.getStrength:()I
iconst_2
if_icmplt 15
iconst_1
goto 16
StackMap locals: int
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: istore 4
start local 4 17: iconst_m1
istore 5
start local 5 18: iconst_m1
istore 6
start local 6 19: iconst_0
istore 7
start local 7 20: aload 0
getfield java.text.RuleBasedCollator.sourceCursor:Ljava/text/CollationElementIterator;
ifnonnull 23
21: aload 0
aload 0
aload 1
invokevirtual java.text.RuleBasedCollator.getCollationElementIterator:(Ljava/lang/String;)Ljava/text/CollationElementIterator;
putfield java.text.RuleBasedCollator.sourceCursor:Ljava/text/CollationElementIterator;
22: goto 47
23: StackMap locals: java.text.RuleBasedCollator java.lang.String int int int int int int
StackMap stack:
aload 0
getfield java.text.RuleBasedCollator.sourceCursor:Ljava/text/CollationElementIterator;
aload 1
invokevirtual java.text.CollationElementIterator.setText:(Ljava/lang/String;)V
24: goto 47
25: StackMap locals:
StackMap stack:
iload 2
invokestatic java.text.CollationElementIterator.secondaryOrder:(I)S
istore 5
26: iload 2
invokestatic java.text.CollationElementIterator.tertiaryOrder:(I)S
istore 6
27: iload 2
invokestatic java.text.CollationElementIterator.isIgnorable:(I)Z
ifne 39
28: aload 0
getfield java.text.RuleBasedCollator.primResult:Ljava/lang/StringBuffer;
iload 2
invokestatic java.text.CollationElementIterator.primaryOrder:(I)I
29: iconst_1
iadd
i2c
30: invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
31: iload 3
ifeq 36
32: aload 0
getfield java.text.RuleBasedCollator.tables:Ljava/text/RBCollationTables;
invokevirtual java.text.RBCollationTables.isFrenchSec:()Z
ifeq 34
iload 7
aload 0
getfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.length:()I
if_icmpge 34
33: aload 0
getfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
iload 7
aload 0
getfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.length:()I
invokestatic java.text.RBCollationTables.reverse:(Ljava/lang/StringBuffer;II)V
34: StackMap locals:
StackMap stack:
aload 0
getfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
iload 5
iconst_1
iadd
i2c
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
35: aload 0
getfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.length:()I
istore 7
36: StackMap locals:
StackMap stack:
iload 4
ifeq 47
37: aload 0
getfield java.text.RuleBasedCollator.terResult:Ljava/lang/StringBuffer;
iload 6
iconst_1
iadd
i2c
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
38: goto 47
39: StackMap locals:
StackMap stack:
iload 3
ifeq 43
iload 5
ifeq 43
40: aload 0
getfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
41: iload 5
aload 0
getfield java.text.RuleBasedCollator.tables:Ljava/text/RBCollationTables;
invokevirtual java.text.RBCollationTables.getMaxSecOrder:()S
iadd
iconst_1
iadd
i2c
42: invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
43: StackMap locals:
StackMap stack:
iload 4
ifeq 47
iload 6
ifeq 47
44: aload 0
getfield java.text.RuleBasedCollator.terResult:Ljava/lang/StringBuffer;
45: iload 6
aload 0
getfield java.text.RuleBasedCollator.tables:Ljava/text/RBCollationTables;
invokevirtual java.text.RBCollationTables.getMaxTerOrder:()S
iadd
iconst_1
iadd
i2c
46: invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
47: StackMap locals:
StackMap stack:
aload 0
getfield java.text.RuleBasedCollator.sourceCursor:Ljava/text/CollationElementIterator;
invokevirtual java.text.CollationElementIterator.next:()I
dup
istore 2
48: iconst_m1
49: if_icmpne 25
50: aload 0
getfield java.text.RuleBasedCollator.tables:Ljava/text/RBCollationTables;
invokevirtual java.text.RBCollationTables.isFrenchSec:()Z
ifeq 54
51: iload 7
aload 0
getfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.length:()I
if_icmpge 53
52: aload 0
getfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
iload 7
aload 0
getfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.length:()I
invokestatic java.text.RBCollationTables.reverse:(Ljava/lang/StringBuffer;II)V
53: StackMap locals:
StackMap stack:
aload 0
getfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
iconst_0
aload 0
getfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.length:()I
invokestatic java.text.RBCollationTables.reverse:(Ljava/lang/StringBuffer;II)V
54: StackMap locals:
StackMap stack:
aload 0
getfield java.text.RuleBasedCollator.primResult:Ljava/lang/StringBuffer;
iconst_0
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
55: aload 0
getfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
iconst_0
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
56: aload 0
getfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
aload 0
getfield java.text.RuleBasedCollator.terResult:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
57: aload 0
getfield java.text.RuleBasedCollator.primResult:Ljava/lang/StringBuffer;
aload 0
getfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
58: aload 0
invokevirtual java.text.RuleBasedCollator.getStrength:()I
iconst_3
if_icmpne 68
59: aload 0
getfield java.text.RuleBasedCollator.primResult:Ljava/lang/StringBuffer;
iconst_0
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
60: aload 0
invokevirtual java.text.RuleBasedCollator.getDecomposition:()I
istore 8
start local 8 61: iload 8
iconst_1
if_icmpne 64
62: aload 0
getfield java.text.RuleBasedCollator.primResult:Ljava/lang/StringBuffer;
aload 1
getstatic java.text.Normalizer$Form.NFD:Ljava/text/Normalizer$Form;
invokestatic java.text.Normalizer.normalize:(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
63: goto 68
StackMap locals: int
StackMap stack:
64: iload 8
iconst_2
if_icmpne 67
65: aload 0
getfield java.text.RuleBasedCollator.primResult:Ljava/lang/StringBuffer;
aload 1
getstatic java.text.Normalizer$Form.NFKD:Ljava/text/Normalizer$Form;
invokestatic java.text.Normalizer.normalize:(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
66: goto 68
67: StackMap locals:
StackMap stack:
aload 0
getfield java.text.RuleBasedCollator.primResult:Ljava/lang/StringBuffer;
aload 1
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 8 68: StackMap locals:
StackMap stack:
new java.text.RuleBasedCollationKey
dup
aload 1
aload 0
getfield java.text.RuleBasedCollator.primResult:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
invokespecial java.text.RuleBasedCollationKey.<init>:(Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 7 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 69 0 this Ljava/text/RuleBasedCollator;
0 69 1 source Ljava/lang/String;
11 69 2 order I
14 69 3 compareSec Z
17 69 4 compareTer Z
18 69 5 secOrder I
19 69 6 terOrder I
20 69 7 preSecIgnore I
61 68 8 mode I
MethodParameters:
Name Flags
source
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljava/text/RuleBasedCollator;
if_acmpne 2
1: new java.text.RuleBasedCollator
dup
aload 0
invokespecial java.text.RuleBasedCollator.<init>:(Ljava/text/RuleBasedCollator;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokespecial java.text.Collator.clone:()Ljava/lang/Object;
checkcast java.text.RuleBasedCollator
astore 1
start local 1 3: aload 1
aconst_null
putfield java.text.RuleBasedCollator.primResult:Ljava/lang/StringBuffer;
4: aload 1
aconst_null
putfield java.text.RuleBasedCollator.secResult:Ljava/lang/StringBuffer;
5: aload 1
aconst_null
putfield java.text.RuleBasedCollator.terResult:Ljava/lang/StringBuffer;
6: aload 1
aconst_null
putfield java.text.RuleBasedCollator.sourceCursor:Ljava/text/CollationElementIterator;
7: aload 1
aconst_null
putfield java.text.RuleBasedCollator.targetCursor:Ljava/text/CollationElementIterator;
8: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/text/RuleBasedCollator;
3 9 1 result Ljava/text/RuleBasedCollator;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial java.text.Collator.equals:(Ljava/lang/Object;)Z
ifne 2
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast java.text.RuleBasedCollator
astore 2
start local 2 3: aload 0
invokevirtual java.text.RuleBasedCollator.getRules:()Ljava/lang/String;
aload 2
invokevirtual java.text.RuleBasedCollator.getRules:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/text/RuleBasedCollator;
0 4 1 obj Ljava/lang/Object;
3 4 2 other Ljava/text/RuleBasedCollator;
MethodParameters:
Name Flags
obj
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.text.RuleBasedCollator.getRules:()Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/RuleBasedCollator;
java.text.RBCollationTables getTables();
descriptor: ()Ljava/text/RBCollationTables;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.RuleBasedCollator.tables:Ljava/text/RBCollationTables;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/RuleBasedCollator;
}
SourceFile: "RuleBasedCollator.java"
InnerClasses:
public final Form = java.text.Normalizer$Form of java.text.Normalizer