final class java.text.MergeCollation
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.text.MergeCollation
super_class: java.lang.Object
{
java.util.ArrayList<java.text.PatternEntry> patterns;
descriptor: Ljava/util/ArrayList;
flags: (0x0000)
Signature: Ljava/util/ArrayList<Ljava/text/PatternEntry;>;
private transient java.text.PatternEntry saveEntry;
descriptor: Ljava/text/PatternEntry;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.text.PatternEntry lastEntry;
descriptor: Ljava/text/PatternEntry;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient java.lang.StringBuffer excess;
descriptor: Ljava/lang/StringBuffer;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient byte[] statusArray;
descriptor: [B
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private final byte BITARRAYMASK;
descriptor: B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 1
private final int BYTEPOWER;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 3
private final int BYTEMASK;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 7
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
2: aload 0
aconst_null
putfield java.text.MergeCollation.saveEntry:Ljava/text/PatternEntry;
3: aload 0
aconst_null
putfield java.text.MergeCollation.lastEntry:Ljava/text/PatternEntry;
4: aload 0
new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
putfield java.text.MergeCollation.excess:Ljava/lang/StringBuffer;
5: aload 0
sipush 8192
newarray 8
putfield java.text.MergeCollation.statusArray:[B
6: aload 0
iconst_1
putfield java.text.MergeCollation.BITARRAYMASK:B
7: aload 0
iconst_3
putfield java.text.MergeCollation.BYTEPOWER:I
8: aload 0
bipush 7
putfield java.text.MergeCollation.BYTEMASK:I
9: iconst_0
istore 2
start local 2 10: goto 13
11: StackMap locals: java.text.MergeCollation java.lang.String int
StackMap stack:
aload 0
getfield java.text.MergeCollation.statusArray:[B
iload 2
iconst_0
bastore
12: iinc 2 1
StackMap locals:
StackMap stack:
13: iload 2
aload 0
getfield java.text.MergeCollation.statusArray:[B
arraylength
if_icmplt 11
end local 2 14: aload 0
aload 1
invokevirtual java.text.MergeCollation.setPattern:(Ljava/lang/String;)V
15: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/text/MergeCollation;
0 16 1 pattern Ljava/lang/String;
10 14 2 i I
Exceptions:
throws java.text.ParseException
MethodParameters:
Name Flags
pattern
public java.lang.String getPattern();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual java.text.MergeCollation.getPattern:(Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/MergeCollation;
public java.lang.String getPattern(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 22
5: StackMap locals: java.text.MergeCollation int java.lang.StringBuffer java.text.PatternEntry java.util.ArrayList int
StackMap stack:
aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
iload 5
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.text.PatternEntry
astore 6
start local 6 6: aload 6
getfield java.text.PatternEntry.extension:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 11
7: aload 4
ifnonnull 9
8: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
9: StackMap locals: java.text.PatternEntry
StackMap stack:
aload 4
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
10: goto 21
11: StackMap locals:
StackMap stack:
aload 4
ifnull 20
12: aload 0
iload 5
iconst_1
isub
invokevirtual java.text.MergeCollation.findLastWithNoExtension:(I)Ljava/text/PatternEntry;
astore 7
start local 7 13: aload 4
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 8
start local 8 14: goto 18
15: StackMap locals: java.text.PatternEntry int
StackMap stack:
aload 4
iload 8
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.text.PatternEntry
astore 3
16: aload 3
aload 2
iconst_0
iload 1
aload 7
invokevirtual java.text.PatternEntry.addToBuffer:(Ljava/lang/StringBuffer;ZZLjava/text/PatternEntry;)V
17: iinc 8 -1
StackMap locals:
StackMap stack:
18: iload 8
ifge 15
end local 8 19: aconst_null
astore 4
end local 7 20: StackMap locals:
StackMap stack:
aload 6
aload 2
iconst_0
iload 1
aconst_null
invokevirtual java.text.PatternEntry.addToBuffer:(Ljava/lang/StringBuffer;ZZLjava/text/PatternEntry;)V
end local 6 21: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
22: iload 5
aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 5
23: aload 4
ifnull 32
24: aload 0
iload 5
iconst_1
isub
invokevirtual java.text.MergeCollation.findLastWithNoExtension:(I)Ljava/text/PatternEntry;
astore 6
start local 6 25: aload 4
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 7
start local 7 26: goto 30
27: StackMap locals: java.text.PatternEntry int
StackMap stack:
aload 4
iload 7
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.text.PatternEntry
astore 3
28: aload 3
aload 2
iconst_0
iload 1
aload 6
invokevirtual java.text.PatternEntry.addToBuffer:(Ljava/lang/StringBuffer;ZZLjava/text/PatternEntry;)V
29: iinc 7 -1
StackMap locals:
StackMap stack:
30: iload 7
ifge 27
end local 7 31: aconst_null
astore 4
end local 6 32: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
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 33 0 this Ljava/text/MergeCollation;
0 33 1 withWhiteSpace Z
1 33 2 result Ljava/lang/StringBuffer;
2 33 3 tmp Ljava/text/PatternEntry;
3 33 4 extList Ljava/util/ArrayList<Ljava/text/PatternEntry;>;
4 33 5 i I
6 21 6 entry Ljava/text/PatternEntry;
13 20 7 last Ljava/text/PatternEntry;
14 19 8 j I
25 32 6 last Ljava/text/PatternEntry;
26 31 7 j I
MethodParameters:
Name Flags
withWhiteSpace
private final java.text.PatternEntry findLastWithNoExtension(int);
descriptor: (I)Ljava/text/PatternEntry;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iinc 1 -1
goto 5
1: StackMap locals:
StackMap stack:
aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
iload 1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.text.PatternEntry
astore 2
start local 2 2: aload 2
getfield java.text.PatternEntry.extension:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 4
3: aload 2
areturn
end local 2 4: StackMap locals:
StackMap stack:
iinc 1 -1
StackMap locals:
StackMap stack:
5: iload 1
ifge 1
6: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/text/MergeCollation;
0 7 1 i I
2 4 2 entry Ljava/text/PatternEntry;
MethodParameters:
Name Flags
i
public java.lang.String emitPattern();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual java.text.MergeCollation.emitPattern:(Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/MergeCollation;
public java.lang.String emitPattern(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 7
3: StackMap locals: java.lang.StringBuffer int
StackMap stack:
aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.text.PatternEntry
astore 4
start local 4 4: aload 4
ifnull 6
5: aload 4
aload 2
iconst_1
iload 1
aconst_null
invokevirtual java.text.PatternEntry.addToBuffer:(Ljava/lang/StringBuffer;ZZLjava/text/PatternEntry;)V
end local 4 6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 3
end local 3 8: aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/text/MergeCollation;
0 9 1 withWhiteSpace Z
1 9 2 result Ljava/lang/StringBuffer;
2 8 3 i I
4 6 4 entry Ljava/text/PatternEntry;
MethodParameters:
Name Flags
withWhiteSpace
public void setPattern(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
1: aload 0
aload 1
invokevirtual java.text.MergeCollation.addPattern:(Ljava/lang/String;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/text/MergeCollation;
0 3 1 pattern Ljava/lang/String;
Exceptions:
throws java.text.ParseException
MethodParameters:
Name Flags
pattern
public void addPattern(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
new java.text.PatternEntry$Parser
dup
aload 1
invokespecial java.text.PatternEntry$Parser.<init>:(Ljava/lang/String;)V
astore 2
start local 2 3: aload 2
invokevirtual java.text.PatternEntry$Parser.next:()Ljava/text/PatternEntry;
astore 3
start local 3 4: goto 7
5: StackMap locals: java.text.PatternEntry$Parser java.text.PatternEntry
StackMap stack:
aload 0
aload 3
invokevirtual java.text.MergeCollation.fixEntry:(Ljava/text/PatternEntry;)V
6: aload 2
invokevirtual java.text.PatternEntry$Parser.next:()Ljava/text/PatternEntry;
astore 3
7: StackMap locals:
StackMap stack:
aload 3
ifnonnull 5
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/text/MergeCollation;
0 9 1 pattern Ljava/lang/String;
3 9 2 parser Ljava/text/PatternEntry$Parser;
4 9 3 entry Ljava/text/PatternEntry;
Exceptions:
throws java.text.ParseException
MethodParameters:
Name Flags
pattern
public int getCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/MergeCollation;
public java.text.PatternEntry getItemAt(int);
descriptor: (I)Ljava/text/PatternEntry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
iload 1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.text.PatternEntry
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/text/MergeCollation;
0 1 1 index I
MethodParameters:
Name Flags
index
private final void fixEntry(java.text.PatternEntry);
descriptor: (Ljava/text/PatternEntry;)V
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield java.text.MergeCollation.lastEntry:Ljava/text/PatternEntry;
ifnull 9
aload 1
getfield java.text.PatternEntry.chars:Ljava/lang/String;
aload 0
getfield java.text.MergeCollation.lastEntry:Ljava/text/PatternEntry;
getfield java.text.PatternEntry.chars:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
1: aload 1
getfield java.text.PatternEntry.extension:Ljava/lang/String;
aload 0
getfield java.text.MergeCollation.lastEntry:Ljava/text/PatternEntry;
getfield java.text.PatternEntry.extension:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
2: aload 1
getfield java.text.PatternEntry.strength:I
iconst_3
if_icmpeq 8
3: aload 1
getfield java.text.PatternEntry.strength:I
bipush -2
if_icmpeq 8
4: new java.text.ParseException
dup
new java.lang.StringBuilder
dup
ldc "The entries "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.text.MergeCollation.lastEntry:Ljava/text/PatternEntry;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " are adjacent in the rules, but have conflicting "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc "strengths: A character can't be unequal to itself."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_m1
7: invokespecial java.text.ParseException.<init>:(Ljava/lang/String;I)V
athrow
8: StackMap locals:
StackMap stack:
return
9: StackMap locals:
StackMap stack:
iconst_1
istore 2
start local 2 10: aload 1
getfield java.text.PatternEntry.strength:I
bipush -2
if_icmpeq 37
11: iconst_m1
istore 3
start local 3 12: aload 1
getfield java.text.PatternEntry.chars:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpne 22
13: aload 1
getfield java.text.PatternEntry.chars:Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 14: iload 4
iconst_3
ishr
istore 5
start local 5 15: aload 0
getfield java.text.MergeCollation.statusArray:[B
iload 5
baload
istore 6
start local 6 16: iconst_1
iload 4
bipush 7
iand
ishl
i2b
istore 7
start local 7 17: iload 6
ifeq 20
iload 6
iload 7
iand
ifeq 20
18: aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.lastIndexOf:(Ljava/lang/Object;)I
istore 3
19: goto 23
20: StackMap locals: java.text.MergeCollation java.text.PatternEntry int int int int int int
StackMap stack:
aload 0
getfield java.text.MergeCollation.statusArray:[B
iload 5
iload 6
iload 7
ior
i2b
bastore
end local 7 end local 6 end local 5 end local 4 21: goto 23
22: StackMap locals: java.text.MergeCollation java.text.PatternEntry int int
StackMap stack:
aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.lastIndexOf:(Ljava/lang/Object;)I
istore 3
23: StackMap locals:
StackMap stack:
iload 3
iconst_m1
if_icmpeq 25
24: aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
pop
25: StackMap locals:
StackMap stack:
aload 0
getfield java.text.MergeCollation.excess:Ljava/lang/StringBuffer;
iconst_0
invokevirtual java.lang.StringBuffer.setLength:(I)V
26: aload 0
aload 0
getfield java.text.MergeCollation.lastEntry:Ljava/text/PatternEntry;
aload 0
getfield java.text.MergeCollation.excess:Ljava/lang/StringBuffer;
invokevirtual java.text.MergeCollation.findLastEntry:(Ljava/text/PatternEntry;Ljava/lang/StringBuffer;)I
istore 4
start local 4 27: aload 0
getfield java.text.MergeCollation.excess:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuffer.length:()I
ifeq 32
28: aload 1
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
getfield java.text.MergeCollation.excess:Ljava/lang/StringBuffer;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
aload 1
getfield java.text.PatternEntry.extension:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield java.text.PatternEntry.extension:Ljava/lang/String;
29: iload 4
aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmpeq 32
30: aload 0
aload 0
getfield java.text.MergeCollation.saveEntry:Ljava/text/PatternEntry;
putfield java.text.MergeCollation.lastEntry:Ljava/text/PatternEntry;
31: iconst_0
istore 2
32: StackMap locals: int
StackMap stack:
iload 4
aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmpne 36
33: aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
34: aload 0
aload 1
putfield java.text.MergeCollation.saveEntry:Ljava/text/PatternEntry;
35: goto 37
36: StackMap locals:
StackMap stack:
aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
iload 4
aload 1
invokevirtual java.util.ArrayList.add:(ILjava/lang/Object;)V
end local 4 end local 3 37: StackMap locals:
StackMap stack:
iload 2
ifeq 39
38: aload 0
aload 1
putfield java.text.MergeCollation.lastEntry:Ljava/text/PatternEntry;
39: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Ljava/text/MergeCollation;
0 40 1 newEntry Ljava/text/PatternEntry;
10 40 2 changeLastEntry Z
12 37 3 oldIndex I
14 21 4 c C
15 21 5 statusIndex I
16 21 6 bitClump B
17 21 7 setBit B
27 37 4 lastIndex I
Exceptions:
throws java.text.ParseException
MethodParameters:
Name Flags
newEntry
private final int findLastEntry(java.text.PatternEntry, java.lang.StringBuffer);
descriptor: (Ljava/text/PatternEntry;Ljava/lang/StringBuffer;)I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
getfield java.text.PatternEntry.strength:I
bipush -2
if_icmpeq 17
3: iconst_m1
istore 3
start local 3 4: aload 1
getfield java.text.PatternEntry.chars:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpne 11
5: aload 1
getfield java.text.PatternEntry.chars:Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
iconst_3
ishr
istore 4
start local 4 6: aload 0
getfield java.text.MergeCollation.statusArray:[B
iload 4
baload
7: iconst_1
aload 1
getfield java.text.PatternEntry.chars:Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 7
iand
ishl
8: iand
ifeq 12
9: aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.lastIndexOf:(Ljava/lang/Object;)I
istore 3
end local 4 10: goto 12
11: StackMap locals: int
StackMap stack:
aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.lastIndexOf:(Ljava/lang/Object;)I
istore 3
12: StackMap locals:
StackMap stack:
iload 3
iconst_m1
if_icmpne 16
13: new java.text.ParseException
dup
new java.lang.StringBuilder
dup
ldc "couldn't find last entry: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
14: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 3
15: invokespecial java.text.ParseException.<init>:(Ljava/lang/String;I)V
athrow
16: StackMap locals:
StackMap stack:
iload 3
iconst_1
iadd
ireturn
end local 3 17: StackMap locals:
StackMap stack:
aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
istore 3
start local 3 18: goto 29
19: StackMap locals: int
StackMap stack:
aload 0
getfield java.text.MergeCollation.patterns:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.text.PatternEntry
astore 4
start local 4 20: aload 4
getfield java.text.PatternEntry.chars:Ljava/lang/String;
iconst_0
aload 1
getfield java.text.PatternEntry.chars:Ljava/lang/String;
iconst_0
21: aload 4
getfield java.text.PatternEntry.chars:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
22: invokevirtual java.lang.String.regionMatches:(ILjava/lang/String;II)Z
23: ifeq 28
24: aload 2
aload 1
getfield java.text.PatternEntry.chars:Ljava/lang/String;
aload 4
getfield java.text.PatternEntry.chars:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
25: aload 1
getfield java.text.PatternEntry.chars:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
26: invokevirtual java.lang.StringBuffer.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuffer;
pop
27: goto 30
end local 4 28: StackMap locals:
StackMap stack:
iinc 3 -1
StackMap locals:
StackMap stack:
29: iload 3
ifge 19
30: StackMap locals:
StackMap stack:
iload 3
iconst_m1
if_icmpne 32
31: new java.text.ParseException
dup
new java.lang.StringBuilder
dup
ldc "couldn't find: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 3
invokespecial java.text.ParseException.<init>:(Ljava/lang/String;I)V
athrow
32: StackMap locals:
StackMap stack:
iload 3
iconst_1
iadd
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Ljava/text/MergeCollation;
0 33 1 entry Ljava/text/PatternEntry;
0 33 2 excessChars Ljava/lang/StringBuffer;
4 17 3 oldIndex I
6 10 4 index I
18 33 3 i I
20 28 4 e Ljava/text/PatternEntry;
Exceptions:
throws java.text.ParseException
MethodParameters:
Name Flags
entry
excessChars
}
SourceFile: "MergeCollation.java"
InnerClasses:
Parser = java.text.PatternEntry$Parser of java.text.PatternEntry