public class com.sun.org.apache.xml.internal.utils.StringComparable implements java.lang.Comparable<com.sun.org.apache.xml.internal.utils.StringComparable>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.org.apache.xml.internal.utils.StringComparable
super_class: java.lang.Object
{
public static final int UNKNOWN_CASE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
public static final int UPPER_CASE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int LOWER_CASE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private java.lang.String m_text;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.Locale m_locale;
descriptor: Ljava/util/Locale;
flags: (0x0002) ACC_PRIVATE
private java.text.RuleBasedCollator m_collator;
descriptor: Ljava/text/RuleBasedCollator;
flags: (0x0002) ACC_PRIVATE
private java.lang.String m_caseOrder;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int m_mask;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(java.lang.String, java.util.Locale, java.text.Collator, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/text/Collator;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
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 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_m1
putfield com.sun.org.apache.xml.internal.utils.StringComparable.m_mask:I
2: aload 0
aload 1
putfield com.sun.org.apache.xml.internal.utils.StringComparable.m_text:Ljava/lang/String;
3: aload 0
aload 2
putfield com.sun.org.apache.xml.internal.utils.StringComparable.m_locale:Ljava/util/Locale;
4: aload 0
aload 3
checkcast java.text.RuleBasedCollator
putfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
5: aload 0
aload 4
putfield com.sun.org.apache.xml.internal.utils.StringComparable.m_caseOrder:Ljava/lang/String;
6: aload 0
aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
invokevirtual java.text.RuleBasedCollator.getStrength:()I
invokestatic com.sun.org.apache.xml.internal.utils.StringComparable.getMask:(I)I
putfield com.sun.org.apache.xml.internal.utils.StringComparable.m_mask:I
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/org/apache/xml/internal/utils/StringComparable;
0 8 1 text Ljava/lang/String;
0 8 2 locale Ljava/util/Locale;
0 8 3 collator Ljava/text/Collator;
0 8 4 caseOrder Ljava/lang/String;
MethodParameters:
Name Flags
text final
locale final
collator final
caseOrder final
public static final java.lang.Comparable getComparator(java.lang.String, java.util.Locale, java.text.Collator, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/text/Collator;Ljava/lang/String;)Ljava/lang/Comparable;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnull 1
aload 3
invokevirtual java.lang.String.length:()I
ifne 2
1: StackMap locals:
StackMap stack:
aload 2
checkcast java.text.RuleBasedCollator
aload 0
invokevirtual java.text.RuleBasedCollator.getCollationKey:(Ljava/lang/String;)Ljava/text/CollationKey;
areturn
2: StackMap locals:
StackMap stack:
new com.sun.org.apache.xml.internal.utils.StringComparable
dup
aload 0
aload 1
aload 2
aload 3
invokespecial com.sun.org.apache.xml.internal.utils.StringComparable.<init>:(Ljava/lang/String;Ljava/util/Locale;Ljava/text/Collator;Ljava/lang/String;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 text Ljava/lang/String;
0 3 1 locale Ljava/util/Locale;
0 3 2 collator Ljava/text/Collator;
0 3 3 caseOrder Ljava/lang/String;
MethodParameters:
Name Flags
text final
locale final
collator final
caseOrder final
public final java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_text:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/org/apache/xml/internal/utils/StringComparable;
public int compareTo(com.sun.org.apache.xml.internal.utils.StringComparable);
descriptor: (Lcom/sun/org/apache/xml/internal/utils/StringComparable;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.org.apache.xml.internal.utils.StringComparable.toString:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_text:Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: iconst_0
ireturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
invokevirtual java.text.RuleBasedCollator.getStrength:()I
istore 3
start local 3 4: iconst_0
istore 4
start local 4 5: iload 3
ifeq 6
iload 3
iconst_1
if_icmpne 8
6: StackMap locals: int int
StackMap stack:
aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_text:Ljava/lang/String;
aload 2
invokevirtual java.text.RuleBasedCollator.compare:(Ljava/lang/String;Ljava/lang/String;)I
istore 4
7: goto 11
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
iconst_1
invokevirtual java.text.RuleBasedCollator.setStrength:(I)V
9: aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_text:Ljava/lang/String;
aload 2
invokevirtual java.text.RuleBasedCollator.compare:(Ljava/lang/String;Ljava/lang/String;)I
istore 4
10: aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
iload 3
invokevirtual java.text.RuleBasedCollator.setStrength:(I)V
11: StackMap locals:
StackMap stack:
iload 4
ifeq 13
12: iload 4
ireturn
13: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_text:Ljava/lang/String;
aload 2
invokevirtual com.sun.org.apache.xml.internal.utils.StringComparable.getCaseDiff:(Ljava/lang/String;Ljava/lang/String;)I
istore 4
14: iload 4
ifeq 16
15: iload 4
ireturn
16: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_text:Ljava/lang/String;
aload 2
invokevirtual java.text.RuleBasedCollator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/org/apache/xml/internal/utils/StringComparable;
0 17 1 o Lcom/sun/org/apache/xml/internal/utils/StringComparable;
1 17 2 pattern Ljava/lang/String;
4 17 3 savedStrength I
5 17 4 comp I
MethodParameters:
Name Flags
o
private final int getCaseDiff(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
invokevirtual java.text.RuleBasedCollator.getStrength:()I
istore 3
start local 3 1: aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
invokevirtual java.text.RuleBasedCollator.getDecomposition:()I
istore 4
start local 4 2: aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
iconst_2
invokevirtual java.text.RuleBasedCollator.setStrength:(I)V
3: aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
iconst_1
invokevirtual java.text.RuleBasedCollator.setDecomposition:(I)V
4: aload 0
aload 1
aload 2
aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_locale:Ljava/util/Locale;
invokevirtual com.sun.org.apache.xml.internal.utils.StringComparable.getFirstCaseDiff:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Locale;)[I
astore 5
start local 5 5: aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
iload 3
invokevirtual java.text.RuleBasedCollator.setStrength:(I)V
6: aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
iload 4
invokevirtual java.text.RuleBasedCollator.setDecomposition:(I)V
7: aload 5
ifnull 15
8: aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_caseOrder:Ljava/lang/String;
ldc "upper-first"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
9: aload 5
iconst_0
iaload
iconst_1
if_icmpne 11
10: iconst_m1
ireturn
11: StackMap locals: int int int[]
StackMap stack:
iconst_1
ireturn
12: StackMap locals:
StackMap stack:
aload 5
iconst_0
iaload
iconst_2
if_icmpne 14
13: iconst_m1
ireturn
14: StackMap locals:
StackMap stack:
iconst_1
ireturn
15: StackMap locals:
StackMap stack:
iconst_0
ireturn
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 16 0 this Lcom/sun/org/apache/xml/internal/utils/StringComparable;
0 16 1 text Ljava/lang/String;
0 16 2 pattern Ljava/lang/String;
1 16 3 savedStrength I
2 16 4 savedDecomposition I
5 16 5 diff [I
MethodParameters:
Name Flags
text final
pattern final
private final int[] getFirstCaseDiff(java.lang.String, java.lang.String, java.util.Locale);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Locale;)[I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=4, locals=20, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
aload 1
invokevirtual java.text.RuleBasedCollator.getCollationElementIterator:(Ljava/lang/String;)Ljava/text/CollationElementIterator;
astore 4
start local 4 1: aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
aload 2
invokevirtual java.text.RuleBasedCollator.getCollationElementIterator:(Ljava/lang/String;)Ljava/text/CollationElementIterator;
astore 5
start local 5 2: iconst_m1
istore 6
start local 6 3: iconst_m1
istore 7
start local 7 4: iconst_m1
istore 8
start local 8 5: iconst_m1
istore 9
start local 9 6: aload 0
iconst_m1
invokevirtual com.sun.org.apache.xml.internal.utils.StringComparable.getElement:(I)I
istore 10
start local 10 7: iconst_0
istore 11
start local 11 8: iconst_0
istore 12
start local 12 9: iconst_1
istore 13
start local 13 10: iconst_1
istore 14
start local 14 11: StackMap locals: com.sun.org.apache.xml.internal.utils.StringComparable java.lang.String java.lang.String java.util.Locale java.text.CollationElementIterator java.text.CollationElementIterator int int int int int int int int int
StackMap stack:
iload 13
ifeq 15
12: aload 5
invokevirtual java.text.CollationElementIterator.getOffset:()I
istore 8
13: aload 0
aload 5
invokevirtual java.text.CollationElementIterator.next:()I
invokevirtual com.sun.org.apache.xml.internal.utils.StringComparable.getElement:(I)I
istore 11
14: aload 5
invokevirtual java.text.CollationElementIterator.getOffset:()I
istore 9
15: StackMap locals:
StackMap stack:
iload 14
ifeq 19
16: aload 4
invokevirtual java.text.CollationElementIterator.getOffset:()I
istore 6
17: aload 0
aload 4
invokevirtual java.text.CollationElementIterator.next:()I
invokevirtual com.sun.org.apache.xml.internal.utils.StringComparable.getElement:(I)I
istore 12
18: aload 4
invokevirtual java.text.CollationElementIterator.getOffset:()I
istore 7
19: StackMap locals:
StackMap stack:
iconst_1
dup
istore 13
istore 14
20: iload 11
iload 10
if_icmpeq 21
iload 12
iload 10
if_icmpne 22
21: StackMap locals:
StackMap stack:
aconst_null
areturn
22: StackMap locals:
StackMap stack:
iload 12
ifne 25
23: iconst_0
istore 13
24: goto 11
StackMap locals:
StackMap stack:
25: iload 11
ifne 28
26: iconst_0
istore 14
27: goto 11
StackMap locals:
StackMap stack:
28: iload 12
iload 11
if_icmpeq 11
29: iload 8
iload 9
if_icmpge 11
iload 6
iload 7
if_icmpge 11
30: aload 1
iload 6
iload 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 15
start local 15 31: aload 2
iload 8
iload 9
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 16
start local 16 32: aload 15
aload 3
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 17
start local 17 33: aload 16
aload 3
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 18
start local 18 34: aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
aload 17
aload 18
invokevirtual java.text.RuleBasedCollator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 36
35: goto 11
36: StackMap locals: com.sun.org.apache.xml.internal.utils.StringComparable java.lang.String java.lang.String java.util.Locale java.text.CollationElementIterator java.text.CollationElementIterator int int int int int int int int int java.lang.String java.lang.String java.lang.String java.lang.String
StackMap stack:
iconst_2
newarray 10
dup
iconst_0
iconst_m1
iastore
dup
iconst_1
iconst_m1
iastore
astore 19
start local 19 37: aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
aload 15
aload 17
invokevirtual java.text.RuleBasedCollator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 40
38: aload 19
iconst_0
iconst_1
iastore
39: goto 42
StackMap locals: int[]
StackMap stack:
40: aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
aload 15
aload 15
aload 3
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.text.RuleBasedCollator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 42
41: aload 19
iconst_0
iconst_2
iastore
42: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
aload 16
aload 18
invokevirtual java.text.RuleBasedCollator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 45
43: aload 19
iconst_1
iconst_1
iastore
44: goto 47
StackMap locals:
StackMap stack:
45: aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_collator:Ljava/text/RuleBasedCollator;
aload 16
aload 16
aload 3
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.text.RuleBasedCollator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 47
46: aload 19
iconst_1
iconst_2
iastore
47: StackMap locals:
StackMap stack:
aload 19
iconst_0
iaload
iconst_1
if_icmpne 48
aload 19
iconst_1
iaload
iconst_2
if_icmpeq 49
48: StackMap locals:
StackMap stack:
aload 19
iconst_0
iaload
iconst_2
if_icmpne 11
aload 19
iconst_1
iaload
iconst_1
if_icmpne 11
49: StackMap locals:
StackMap stack:
aload 19
areturn
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 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 50 0 this Lcom/sun/org/apache/xml/internal/utils/StringComparable;
0 50 1 text Ljava/lang/String;
0 50 2 pattern Ljava/lang/String;
0 50 3 locale Ljava/util/Locale;
1 50 4 targIter Ljava/text/CollationElementIterator;
2 50 5 patIter Ljava/text/CollationElementIterator;
3 50 6 startTarg I
4 50 7 endTarg I
5 50 8 startPatt I
6 50 9 endPatt I
7 50 10 done I
8 50 11 patternElement I
9 50 12 targetElement I
10 50 13 getPattern Z
11 50 14 getTarget Z
31 50 15 subText Ljava/lang/String;
32 50 16 subPatt Ljava/lang/String;
33 50 17 subTextUp Ljava/lang/String;
34 50 18 subPattUp Ljava/lang/String;
37 50 19 diff [I
MethodParameters:
Name Flags
text final
pattern final
locale final
private static final int getMask(int);
descriptor: (I)I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
tableswitch { // 0 - 1
0: 1
1: 2
default: 3
}
1: StackMap locals:
StackMap stack:
ldc -65536
ireturn
2: StackMap locals:
StackMap stack:
sipush -256
ireturn
3: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 strength I
MethodParameters:
Name Flags
strength final
private final int getElement(int);
descriptor: (I)I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
aload 0
getfield com.sun.org.apache.xml.internal.utils.StringComparable.m_mask:I
iand
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/org/apache/xml/internal/utils/StringComparable;
0 1 1 maxStrengthElement I
MethodParameters:
Name Flags
maxStrengthElement
public int compareTo(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.sun.org.apache.xml.internal.utils.StringComparable
invokevirtual com.sun.org.apache.xml.internal.utils.StringComparable.compareTo:(Lcom/sun/org/apache/xml/internal/utils/StringComparable;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/lang/Comparable<Lcom/sun/org/apache/xml/internal/utils/StringComparable;>;
SourceFile: "StringComparable.java"