public final class sun.util.locale.LocaleMatcher
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.util.locale.LocaleMatcher
super_class: java.lang.Object
{
public static java.util.List<java.util.Locale> filter(java.util.List<java.util.Locale$LanguageRange>, java.util.Collection<java.util.Locale>, java.util.Locale$FilteringMode);
descriptor: (Ljava/util/List;Ljava/util/Collection;Ljava/util/Locale$FilteringMode;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokeinterface java.util.List.isEmpty:()Z
ifne 1
aload 1
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
areturn
2: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 3: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: java.util.List java.util.Collection java.util.Locale$FilteringMode java.util.List top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Locale
astore 4
start local 4 5: aload 3
aload 4
invokevirtual java.util.Locale.toLanguageTag:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: aload 0
aload 3
aload 2
invokestatic sun.util.locale.LocaleMatcher.filterTags:(Ljava/util/List;Ljava/util/Collection;Ljava/util/Locale$FilteringMode;)Ljava/util/List;
astore 4
start local 4 8: new java.util.ArrayList
dup
aload 4
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 9: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 12
StackMap locals: java.util.List java.util.Collection java.util.Locale$FilteringMode java.util.List java.util.List java.util.List top java.util.Iterator
StackMap stack:
10: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 11: aload 5
aload 6
invokestatic java.util.Locale.forLanguageTag:(Ljava/lang/String;)Ljava/util/Locale;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 12: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
13: aload 5
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 14 0 priorityList Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
0 14 1 locales Ljava/util/Collection<Ljava/util/Locale;>;
0 14 2 mode Ljava/util/Locale$FilteringMode;
3 14 3 tags Ljava/util/List<Ljava/lang/String;>;
5 6 4 locale Ljava/util/Locale;
8 14 4 filteredTags Ljava/util/List<Ljava/lang/String;>;
9 14 5 filteredLocales Ljava/util/List<Ljava/util/Locale;>;
11 12 6 tag Ljava/lang/String;
Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/util/Collection<Ljava/util/Locale;>;Ljava/util/Locale$FilteringMode;)Ljava/util/List<Ljava/util/Locale;>;
MethodParameters:
Name Flags
priorityList
locales
mode
public static java.util.List<java.lang.String> filterTags(java.util.List<java.util.Locale$LanguageRange>, java.util.Collection<java.lang.String>, java.util.Locale$FilteringMode);
descriptor: (Ljava/util/List;Ljava/util/Collection;Ljava/util/Locale$FilteringMode;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokeinterface java.util.List.isEmpty:()Z
ifne 1
aload 1
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
areturn
2: StackMap locals:
StackMap stack:
aload 2
getstatic java.util.Locale$FilteringMode.EXTENDED_FILTERING:Ljava/util/Locale$FilteringMode;
if_acmpne 4
3: aload 0
aload 1
invokestatic sun.util.locale.LocaleMatcher.filterExtended:(Ljava/util/List;Ljava/util/Collection;)Ljava/util/List;
areturn
4: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 5: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 25
StackMap locals: java.util.List java.util.Collection java.util.Locale$FilteringMode java.util.ArrayList top java.util.Iterator
StackMap stack:
6: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Locale$LanguageRange
astore 4
start local 4 7: aload 4
invokevirtual java.util.Locale$LanguageRange.getRange:()Ljava/lang/String;
astore 6
start local 6 8: aload 6
ldc "*-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 10
9: aload 6
ldc "-*"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 24
10: StackMap locals: java.util.List java.util.Collection java.util.Locale$FilteringMode java.util.ArrayList java.util.Locale$LanguageRange java.util.Iterator java.lang.String
StackMap stack:
aload 2
getstatic java.util.Locale$FilteringMode.AUTOSELECT_FILTERING:Ljava/util/Locale$FilteringMode;
if_acmpne 12
11: aload 0
aload 1
invokestatic sun.util.locale.LocaleMatcher.filterExtended:(Ljava/util/List;Ljava/util/Collection;)Ljava/util/List;
areturn
12: StackMap locals:
StackMap stack:
aload 2
getstatic java.util.Locale$FilteringMode.MAP_EXTENDED_RANGES:Ljava/util/Locale$FilteringMode;
if_acmpne 19
13: aload 6
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 42
if_icmpne 16
14: ldc "*"
astore 6
15: goto 17
16: StackMap locals:
StackMap stack:
aload 6
ldc "-[*]"
ldc ""
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 6
17: StackMap locals:
StackMap stack:
aload 3
new java.util.Locale$LanguageRange
dup
aload 6
aload 4
invokevirtual java.util.Locale$LanguageRange.getWeight:()D
invokespecial java.util.Locale$LanguageRange.<init>:(Ljava/lang/String;D)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
18: goto 25
StackMap locals:
StackMap stack:
19: aload 2
getstatic java.util.Locale$FilteringMode.REJECT_EXTENDED_RANGES:Ljava/util/Locale$FilteringMode;
if_acmpne 25
20: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "An extended range \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
21: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: ldc "\" found in REJECT_EXTENDED_RANGES mode."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
aload 3
aload 4
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 4 25: StackMap locals: java.util.List java.util.Collection java.util.Locale$FilteringMode java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
26: aload 3
aload 1
invokestatic sun.util.locale.LocaleMatcher.filterBasic:(Ljava/util/List;Ljava/util/Collection;)Ljava/util/List;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 priorityList Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
0 27 1 tags Ljava/util/Collection<Ljava/lang/String;>;
0 27 2 mode Ljava/util/Locale$FilteringMode;
5 27 3 list Ljava/util/ArrayList<Ljava/util/Locale$LanguageRange;>;
7 25 4 lr Ljava/util/Locale$LanguageRange;
8 25 6 range Ljava/lang/String;
Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/util/Collection<Ljava/lang/String;>;Ljava/util/Locale$FilteringMode;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
priorityList
tags
mode
private static java.util.List<java.lang.String> filterBasic(java.util.List<java.util.Locale$LanguageRange>, java.util.Collection<java.lang.String>);
descriptor: (Ljava/util/List;Ljava/util/Collection;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=13, args_size=2
start local 0 start local 1 0: aload 0
invokestatic sun.util.locale.LocaleMatcher.splitRanges:(Ljava/util/List;)I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpeq 5
2: aload 0
iconst_0
iload 2
invokeinterface java.util.List.subList:(II)Ljava/util/List;
astore 3
start local 3 3: aload 0
iload 2
aload 0
invokeinterface java.util.List.size:()I
invokeinterface java.util.List.subList:(II)Ljava/util/List;
astore 4
start local 4 4: goto 7
end local 4 end local 3 5: StackMap locals: int
StackMap stack:
aload 0
astore 3
start local 3 6: invokestatic java.util.List.of:()Ljava/util/List;
astore 4
start local 4 7: StackMap locals: java.util.List java.util.List
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 8: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 28
StackMap locals: java.util.List java.util.Collection int java.util.List java.util.List java.util.List top java.util.Iterator
StackMap stack:
9: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Locale$LanguageRange
astore 6
start local 6 10: aload 6
invokevirtual java.util.Locale$LanguageRange.getRange:()Ljava/lang/String;
astore 8
start local 8 11: aload 8
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
12: aload 4
aload 1
invokestatic sun.util.locale.LocaleMatcher.removeTagsMatchingBasicZeroRange:(Ljava/util/List;Ljava/util/Collection;)Ljava/util/Collection;
astore 1
13: new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
areturn
14: StackMap locals: java.util.List java.util.Collection int java.util.List java.util.List java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String
StackMap stack:
aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 10
goto 27
StackMap locals: java.util.List java.util.Collection int java.util.List java.util.List java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String top java.util.Iterator
StackMap stack:
15: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 16: aload 9
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 11
start local 11 17: aload 11
aload 8
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 27
18: aload 8
invokevirtual java.lang.String.length:()I
istore 12
start local 12 19: aload 11
invokevirtual java.lang.String.length:()I
iload 12
if_icmpeq 21
20: aload 11
iload 12
invokevirtual java.lang.String.charAt:(I)C
bipush 45
if_icmpne 27
21: StackMap locals: java.util.List java.util.Collection int java.util.List java.util.List java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String java.util.Iterator java.lang.String int
StackMap stack:
aload 5
aload 11
invokestatic sun.util.locale.LocaleMatcher.caseInsensitiveMatch:(Ljava/util/List;Ljava/lang/String;)Z
ifne 27
22: aload 4
23: aload 11
24: invokestatic sun.util.locale.LocaleMatcher.shouldIgnoreFilterBasicMatch:(Ljava/util/List;Ljava/lang/String;)Z
25: ifne 27
26: aload 5
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 12 end local 11 end local 9 27: StackMap locals: java.util.List java.util.Collection int java.util.List java.util.List java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
end local 8 end local 6 28: StackMap locals: java.util.List java.util.Collection int java.util.List java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
29: aload 5
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 30 0 priorityList Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
0 30 1 tags Ljava/util/Collection<Ljava/lang/String;>;
1 30 2 splitIndex I
3 5 3 nonZeroRanges Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
6 30 3 nonZeroRanges Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
4 5 4 zeroRanges Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
7 30 4 zeroRanges Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
8 30 5 list Ljava/util/List<Ljava/lang/String;>;
10 28 6 lr Ljava/util/Locale$LanguageRange;
11 28 8 range Ljava/lang/String;
16 27 9 tag Ljava/lang/String;
17 27 11 lowerCaseTag Ljava/lang/String;
19 27 12 len I
Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/util/Collection<Ljava/lang/String;>;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
priorityList
tags
private static java.util.Collection<java.lang.String> removeTagsMatchingBasicZeroRange(java.util.List<java.util.Locale$LanguageRange>, java.util.Collection<java.lang.String>);
descriptor: (Ljava/util/List;Ljava/util/Collection;)Ljava/util/Collection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.List.isEmpty:()Z
ifeq 3
1: aload 1
invokestatic sun.util.locale.LocaleMatcher.removeDuplicates:(Ljava/util/Collection;)Ljava/util/Collection;
astore 1
2: aload 1
areturn
3: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 4: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: java.util.List java.util.Collection java.util.List top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 6: aload 3
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 5
start local 5 7: aload 0
aload 5
invokestatic sun.util.locale.LocaleMatcher.shouldIgnoreFilterBasicMatch:(Ljava/util/List;Ljava/lang/String;)Z
ifne 10
8: aload 2
aload 5
invokestatic sun.util.locale.LocaleMatcher.caseInsensitiveMatch:(Ljava/util/List;Ljava/lang/String;)Z
ifne 10
9: aload 2
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 3 10: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
11: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 zeroRange Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
0 12 1 tags Ljava/util/Collection<Ljava/lang/String;>;
4 12 2 matchingTags Ljava/util/List<Ljava/lang/String;>;
6 10 3 tag Ljava/lang/String;
7 10 5 lowerCaseTag Ljava/lang/String;
Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/util/Collection<Ljava/lang/String;>;)Ljava/util/Collection<Ljava/lang/String;>;
MethodParameters:
Name Flags
zeroRange
tags
private static java.util.Collection<java.lang.String> removeDuplicates(java.util.Collection<java.lang.String>);
descriptor: (Ljava/util/Collection;)Ljava/util/Collection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.TreeSet
dup
getstatic java.lang.String.CASE_INSENSITIVE_ORDER:Ljava/util/Comparator;
invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
astore 1
start local 1 1: aload 0
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
aload 1
invokedynamic test(Ljava/util/Set;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
sun/util/locale/LocaleMatcher.lambda$0(Ljava/util/Set;Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
2: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Collection
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 tags Ljava/util/Collection<Ljava/lang/String;>;
1 4 1 distinctTags Ljava/util/Set<Ljava/lang/String;>;
Signature: (Ljava/util/Collection<Ljava/lang/String;>;)Ljava/util/Collection<Ljava/lang/String;>;
MethodParameters:
Name Flags
tags
private static boolean caseInsensitiveMatch(java.util.List<java.lang.String>, java.lang.String);
descriptor: (Ljava/util/List;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
aload 1
invokedynamic test(Ljava/lang/String;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
sun/util/locale/LocaleMatcher.lambda$1(Ljava/lang/String;Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 list Ljava/util/List<Ljava/lang/String;>;
0 1 1 tag Ljava/lang/String;
Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;)Z
MethodParameters:
Name Flags
list
tag
private static boolean shouldIgnoreFilterBasicMatch(java.util.List<java.util.Locale$LanguageRange>, java.lang.String);
descriptor: (Ljava/util/List;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 11
StackMap locals: java.util.List java.lang.String top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Locale$LanguageRange
astore 2
start local 2 4: aload 2
invokevirtual java.util.Locale$LanguageRange.getRange:()Ljava/lang/String;
astore 4
start local 4 5: aload 4
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: iconst_1
ireturn
7: StackMap locals: java.util.List java.lang.String java.util.Locale$LanguageRange java.util.Iterator java.lang.String
StackMap stack:
aload 1
aload 4
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 11
8: aload 4
invokevirtual java.lang.String.length:()I
istore 5
start local 5 9: aload 1
invokevirtual java.lang.String.length:()I
iload 5
if_icmpeq 10
aload 1
iload 5
invokevirtual java.lang.String.charAt:(I)C
bipush 45
if_icmpne 11
10: StackMap locals: int
StackMap stack:
iconst_1
ireturn
end local 5 end local 4 end local 2 11: StackMap locals: java.util.List java.lang.String top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
12: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 zeroRange Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
0 13 1 tag Ljava/lang/String;
4 11 2 lr Ljava/util/Locale$LanguageRange;
5 11 4 range Ljava/lang/String;
9 11 5 len I
Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/lang/String;)Z
MethodParameters:
Name Flags
zeroRange
tag
private static java.util.List<java.lang.String> filterExtended(java.util.List<java.util.Locale$LanguageRange>, java.util.Collection<java.lang.String>);
descriptor: (Ljava/util/List;Ljava/util/Collection;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=15, args_size=2
start local 0 start local 1 0: aload 0
invokestatic sun.util.locale.LocaleMatcher.splitRanges:(Ljava/util/List;)I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpeq 5
2: aload 0
iconst_0
iload 2
invokeinterface java.util.List.subList:(II)Ljava/util/List;
astore 3
start local 3 3: aload 0
iload 2
aload 0
invokeinterface java.util.List.size:()I
invokeinterface java.util.List.subList:(II)Ljava/util/List;
astore 4
start local 4 4: goto 7
end local 4 end local 3 5: StackMap locals: int
StackMap stack:
aload 0
astore 3
start local 3 6: invokestatic java.util.List.of:()Ljava/util/List;
astore 4
start local 4 7: StackMap locals: java.util.List java.util.List
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 8: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 33
StackMap locals: java.util.List java.util.Collection int java.util.List java.util.List java.util.List top java.util.Iterator
StackMap stack:
9: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Locale$LanguageRange
astore 6
start local 6 10: aload 6
invokevirtual java.util.Locale$LanguageRange.getRange:()Ljava/lang/String;
astore 8
start local 8 11: aload 8
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
12: aload 4
aload 1
invokestatic sun.util.locale.LocaleMatcher.removeTagsMatchingExtendedZeroRange:(Ljava/util/List;Ljava/util/Collection;)Ljava/util/Collection;
astore 1
13: new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
areturn
14: StackMap locals: java.util.List java.util.Collection int java.util.List java.util.List java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String
StackMap stack:
aload 8
ldc "-"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 9
start local 9 15: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 11
goto 32
StackMap locals: java.util.List java.util.Collection int java.util.List java.util.List java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String[] top java.util.Iterator
StackMap stack:
16: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 17: aload 10
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 12
start local 12 18: aload 12
ldc "-"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 13
start local 13 19: aload 9
iconst_0
aaload
aload 13
iconst_0
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
20: aload 9
iconst_0
aaload
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
21: goto 32
22: StackMap locals: java.util.List java.util.Collection int java.util.List java.util.List java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String[] java.lang.String java.util.Iterator java.lang.String java.lang.String[]
StackMap stack:
aload 9
23: aload 13
24: invokestatic sun.util.locale.LocaleMatcher.matchFilterExtendedSubtags:([Ljava/lang/String;[Ljava/lang/String;)I
istore 14
start local 14 25: aload 9
arraylength
iload 14
if_icmpne 32
26: aload 5
aload 12
invokestatic sun.util.locale.LocaleMatcher.caseInsensitiveMatch:(Ljava/util/List;Ljava/lang/String;)Z
ifne 32
27: aload 4
28: aload 12
29: invokestatic sun.util.locale.LocaleMatcher.shouldIgnoreFilterExtendedMatch:(Ljava/util/List;Ljava/lang/String;)Z
30: ifne 32
31: aload 5
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 14 end local 13 end local 12 end local 10 32: StackMap locals: java.util.List java.util.Collection int java.util.List java.util.List java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String[] top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
end local 9 end local 8 end local 6 33: StackMap locals: java.util.List java.util.Collection int java.util.List java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
34: aload 5
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 35 0 priorityList Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
0 35 1 tags Ljava/util/Collection<Ljava/lang/String;>;
1 35 2 splitIndex I
3 5 3 nonZeroRanges Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
6 35 3 nonZeroRanges Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
4 5 4 zeroRanges Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
7 35 4 zeroRanges Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
8 35 5 list Ljava/util/List<Ljava/lang/String;>;
10 33 6 lr Ljava/util/Locale$LanguageRange;
11 33 8 range Ljava/lang/String;
15 33 9 rangeSubtags [Ljava/lang/String;
17 32 10 tag Ljava/lang/String;
18 32 12 lowerCaseTag Ljava/lang/String;
19 32 13 tagSubtags [Ljava/lang/String;
25 32 14 rangeIndex I
Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/util/Collection<Ljava/lang/String;>;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
priorityList
tags
private static java.util.Collection<java.lang.String> removeTagsMatchingExtendedZeroRange(java.util.List<java.util.Locale$LanguageRange>, java.util.Collection<java.lang.String>);
descriptor: (Ljava/util/List;Ljava/util/Collection;)Ljava/util/Collection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.List.isEmpty:()Z
ifeq 3
1: aload 1
invokestatic sun.util.locale.LocaleMatcher.removeDuplicates:(Ljava/util/Collection;)Ljava/util/Collection;
astore 1
2: aload 1
areturn
3: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 4: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: java.util.List java.util.Collection java.util.List top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 6: aload 3
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 5
start local 5 7: aload 0
aload 5
invokestatic sun.util.locale.LocaleMatcher.shouldIgnoreFilterExtendedMatch:(Ljava/util/List;Ljava/lang/String;)Z
ifne 10
8: aload 2
aload 5
invokestatic sun.util.locale.LocaleMatcher.caseInsensitiveMatch:(Ljava/util/List;Ljava/lang/String;)Z
ifne 10
9: aload 2
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 3 10: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
11: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 zeroRange Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
0 12 1 tags Ljava/util/Collection<Ljava/lang/String;>;
4 12 2 matchingTags Ljava/util/List<Ljava/lang/String;>;
6 10 3 tag Ljava/lang/String;
7 10 5 lowerCaseTag Ljava/lang/String;
Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/util/Collection<Ljava/lang/String;>;)Ljava/util/Collection<Ljava/lang/String;>;
MethodParameters:
Name Flags
zeroRange
tags
private static boolean shouldIgnoreFilterExtendedMatch(java.util.List<java.util.Locale$LanguageRange>, java.lang.String);
descriptor: (Ljava/util/List;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ldc "-"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 2
start local 2 3: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 17
StackMap locals: java.util.List java.lang.String java.lang.String[] top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Locale$LanguageRange
astore 3
start local 3 5: aload 3
invokevirtual java.util.Locale$LanguageRange.getRange:()Ljava/lang/String;
astore 5
start local 5 6: aload 5
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
7: iconst_1
ireturn
8: StackMap locals: java.util.List java.lang.String java.lang.String[] java.util.Locale$LanguageRange java.util.Iterator java.lang.String
StackMap stack:
aload 5
ldc "-"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 6
start local 6 9: aload 6
iconst_0
aaload
aload 2
iconst_0
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
10: aload 6
iconst_0
aaload
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
11: goto 17
12: StackMap locals: java.lang.String[]
StackMap stack:
aload 6
13: aload 2
14: invokestatic sun.util.locale.LocaleMatcher.matchFilterExtendedSubtags:([Ljava/lang/String;[Ljava/lang/String;)I
istore 7
start local 7 15: aload 6
arraylength
iload 7
if_icmpne 17
16: iconst_1
ireturn
end local 7 end local 6 end local 5 end local 3 17: StackMap locals: java.util.List java.lang.String java.lang.String[] top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
18: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 zeroRange Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
0 19 1 tag Ljava/lang/String;
3 19 2 tagSubtags [Ljava/lang/String;
5 17 3 lr Ljava/util/Locale$LanguageRange;
6 17 5 range Ljava/lang/String;
9 17 6 rangeSubtags [Ljava/lang/String;
15 17 7 rangeIndex I
Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/lang/String;)Z
MethodParameters:
Name Flags
zeroRange
tag
private static int matchFilterExtendedSubtags(java.lang.String[], java.lang.String[]);
descriptor: ([Ljava/lang/String;[Ljava/lang/String;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iconst_1
istore 2
start local 2 1: iconst_1
istore 3
start local 3 2: goto 15
3: StackMap locals: int int
StackMap stack:
aload 0
iload 2
aaload
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
4: iinc 2 1
5: goto 15
StackMap locals:
StackMap stack:
6: aload 0
iload 2
aaload
7: aload 1
iload 3
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
8: iinc 2 1
9: iinc 3 1
10: goto 15
StackMap locals:
StackMap stack:
11: aload 1
iload 3
aaload
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpne 14
12: aload 1
iload 3
aaload
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 14
13: goto 18
14: StackMap locals:
StackMap stack:
iinc 3 1
15: StackMap locals:
StackMap stack:
iload 2
aload 0
arraylength
if_icmpge 18
16: iload 3
aload 1
arraylength
17: if_icmplt 3
18: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 rangeSubtags [Ljava/lang/String;
0 19 1 tagSubtags [Ljava/lang/String;
1 19 2 rangeIndex I
2 19 3 tagIndex I
MethodParameters:
Name Flags
rangeSubtags
tagSubtags
public static java.util.Locale lookup(java.util.List<java.util.Locale$LanguageRange>, java.util.Collection<java.util.Locale>);
descriptor: (Ljava/util/List;Ljava/util/Collection;)Ljava/util/Locale;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.List.isEmpty:()Z
ifne 1
aload 1
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 3: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: java.util.List java.util.Collection java.util.List top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Locale
astore 3
start local 3 5: aload 2
aload 3
invokevirtual java.util.Locale.toLanguageTag:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: aload 0
aload 2
invokestatic sun.util.locale.LocaleMatcher.lookupTag:(Ljava/util/List;Ljava/util/Collection;)Ljava/lang/String;
astore 3
start local 3 8: aload 3
ifnonnull 10
9: aconst_null
areturn
10: StackMap locals: java.util.List java.util.Collection java.util.List java.lang.String
StackMap stack:
aload 3
invokestatic java.util.Locale.forLanguageTag:(Ljava/lang/String;)Ljava/util/Locale;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 priorityList Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
0 11 1 locales Ljava/util/Collection<Ljava/util/Locale;>;
3 11 2 tags Ljava/util/List<Ljava/lang/String;>;
5 6 3 locale Ljava/util/Locale;
8 11 3 lookedUpTag Ljava/lang/String;
Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/util/Collection<Ljava/util/Locale;>;)Ljava/util/Locale;
MethodParameters:
Name Flags
priorityList
locales
public static java.lang.String lookupTag(java.util.List<java.util.Locale$LanguageRange>, java.util.Collection<java.lang.String>);
descriptor: (Ljava/util/List;Ljava/util/Collection;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=12, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.List.isEmpty:()Z
ifne 1
aload 1
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.util.locale.LocaleMatcher.splitRanges:(Ljava/util/List;)I
istore 2
start local 2 3: iload 2
iconst_m1
if_icmpeq 7
4: aload 0
iconst_0
iload 2
invokeinterface java.util.List.subList:(II)Ljava/util/List;
astore 3
start local 3 5: aload 0
iload 2
aload 0
invokeinterface java.util.List.size:()I
invokeinterface java.util.List.subList:(II)Ljava/util/List;
astore 4
start local 4 6: goto 9
end local 4 end local 3 7: StackMap locals: int
StackMap stack:
aload 0
astore 3
start local 3 8: invokestatic java.util.List.of:()Ljava/util/List;
astore 4
start local 4 9: StackMap locals: java.util.List java.util.List
StackMap stack:
aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 25
StackMap locals: java.util.List java.util.Collection int java.util.List java.util.List top java.util.Iterator
StackMap stack:
10: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Locale$LanguageRange
astore 5
start local 5 11: aload 5
invokevirtual java.util.Locale$LanguageRange.getRange:()Ljava/lang/String;
astore 7
start local 7 12: aload 7
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
13: goto 25
14: StackMap locals: java.util.List java.util.Collection int java.util.List java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String
StackMap stack:
aload 7
ldc "*"
ldc "\\p{Alnum}*"
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 8
start local 8 15: goto 24
16: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 10
goto 22
StackMap locals: java.util.List java.util.Collection int java.util.List java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
17: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 18: aload 9
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 11
start local 11 19: aload 11
aload 8
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifeq 22
20: aload 4
aload 11
invokestatic sun.util.locale.LocaleMatcher.shouldIgnoreLookupMatch:(Ljava/util/List;Ljava/lang/String;)Z
ifne 22
21: aload 9
areturn
end local 11 end local 9 22: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
23: aload 8
invokestatic sun.util.locale.LocaleMatcher.truncateRange:(Ljava/lang/String;)Ljava/lang/String;
astore 8
24: StackMap locals: java.util.List java.util.Collection int java.util.List java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String
StackMap stack:
aload 8
invokevirtual java.lang.String.length:()I
ifgt 16
end local 8 end local 7 end local 5 25: StackMap locals: java.util.List java.util.Collection int java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
26: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 priorityList Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
0 27 1 tags Ljava/util/Collection<Ljava/lang/String;>;
3 27 2 splitIndex I
5 7 3 nonZeroRanges Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
8 27 3 nonZeroRanges Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
6 7 4 zeroRanges Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
9 27 4 zeroRanges Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
11 25 5 lr Ljava/util/Locale$LanguageRange;
12 25 7 range Ljava/lang/String;
15 25 8 rangeForRegex Ljava/lang/String;
18 22 9 tag Ljava/lang/String;
19 22 11 lowerCaseTag Ljava/lang/String;
Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/util/Collection<Ljava/lang/String;>;)Ljava/lang/String;
MethodParameters:
Name Flags
priorityList
tags
private static boolean shouldIgnoreLookupMatch(java.util.List<java.util.Locale$LanguageRange>, java.lang.String);
descriptor: (Ljava/util/List;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 11
StackMap locals: java.util.List java.lang.String top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Locale$LanguageRange
astore 2
start local 2 2: aload 2
invokevirtual java.util.Locale$LanguageRange.getRange:()Ljava/lang/String;
astore 4
start local 4 3: aload 4
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: goto 11
5: StackMap locals: java.util.List java.lang.String java.util.Locale$LanguageRange java.util.Iterator java.lang.String
StackMap stack:
aload 4
ldc "*"
ldc "\\p{Alnum}*"
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 5
start local 5 6: goto 10
7: StackMap locals: java.lang.String
StackMap stack:
aload 1
aload 5
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifeq 9
8: iconst_1
ireturn
9: StackMap locals:
StackMap stack:
aload 5
invokestatic sun.util.locale.LocaleMatcher.truncateRange:(Ljava/lang/String;)Ljava/lang/String;
astore 5
10: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.String.length:()I
ifgt 7
end local 5 end local 4 end local 2 11: StackMap locals: java.util.List java.lang.String top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
12: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 zeroRange Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
0 13 1 tag Ljava/lang/String;
2 11 2 lr Ljava/util/Locale$LanguageRange;
3 11 4 range Ljava/lang/String;
6 11 5 rangeForRegex Ljava/lang/String;
Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/lang/String;)Z
MethodParameters:
Name Flags
zeroRange
tag
private static java.lang.String truncateRange(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
bipush 45
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 1
start local 1 1: iload 1
iflt 8
2: aload 0
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 0
3: aload 0
bipush 45
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 1
4: iload 1
iflt 9
iload 1
aload 0
invokevirtual java.lang.String.length:()I
iconst_2
isub
if_icmpne 9
5: aload 0
iconst_0
aload 0
invokevirtual java.lang.String.length:()I
iconst_2
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
6: astore 0
7: goto 9
8: StackMap locals: int
StackMap stack:
ldc ""
astore 0
9: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 rangeForRegex Ljava/lang/String;
1 10 1 index I
MethodParameters:
Name Flags
rangeForRegex
private static int splitRanges(java.util.List<java.util.Locale$LanguageRange>);
descriptor: (Ljava/util/List;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokeinterface java.util.List.size:()I
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 0
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.Locale$LanguageRange
astore 3
start local 3 4: aload 3
invokevirtual java.util.Locale$LanguageRange.getWeight:()D
dconst_0
dcmpl
ifne 6
5: iload 2
ireturn
end local 3 6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
iload 1
if_icmplt 3
end local 2 8: iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 priorityList Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
1 9 1 size I
2 8 2 index I
4 6 3 range Ljava/util/Locale$LanguageRange;
Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;)I
MethodParameters:
Name Flags
priorityList
public static java.util.List<java.util.Locale$LanguageRange> parse(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=20, args_size=1
start local 0 0: aload 0
ldc " "
ldc ""
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 0
1: aload 0
ldc "accept-language:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
2: aload 0
bipush 16
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 0
3: StackMap locals:
StackMap stack:
aload 0
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 1
start local 1 4: new java.util.ArrayList
dup
aload 1
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 5: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 6: iconst_0
istore 4
start local 4 7: aload 1
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 65
StackMap locals: java.lang.String java.lang.String[] java.util.List java.util.List int top int int java.lang.String[]
StackMap stack:
8: aload 8
iload 6
aaload
astore 5
start local 5 9: aload 5
ldc ";q="
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
dup
istore 9
start local 9 10: iconst_m1
if_icmpne 14
11: aload 5
astore 10
start local 10 12: dconst_1
dstore 11
start local 11 13: goto 29
end local 11 end local 10 14: StackMap locals: java.lang.String java.lang.String[] java.util.List java.util.List int java.lang.String int int java.lang.String[] int
StackMap stack:
aload 5
iconst_0
iload 9
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 10
start local 10 15: iinc 9 3
16: aload 5
iload 9
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
dstore 11
start local 11 17: goto 23
end local 11 18: StackMap locals: java.lang.String java.lang.String[] java.util.List java.util.List int java.lang.String int int java.lang.String[] int java.lang.String
StackMap stack: java.lang.Exception
pop
19: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "weight=\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
20: aload 5
iload 9
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: ldc "\" for language range \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
22: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 11 23: StackMap locals: double
StackMap stack:
dload 11
dconst_0
dcmpg
iflt 24
dload 11
dconst_1
dcmpl
ifle 29
24: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "weight="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
dload 11
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
25: ldc " for language range \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: ldc "\". It must be between "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
dconst_0
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
27: ldc " and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
dconst_1
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
28: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
aload 3
aload 10
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 64
30: new java.util.Locale$LanguageRange
dup
aload 10
dload 11
invokespecial java.util.Locale$LanguageRange.<init>:(Ljava/lang/String;D)V
astore 13
start local 13 31: iload 4
istore 9
32: iconst_0
istore 14
start local 14 33: goto 38
34: StackMap locals: java.util.Locale$LanguageRange int
StackMap stack:
aload 2
iload 14
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.Locale$LanguageRange
invokevirtual java.util.Locale$LanguageRange.getWeight:()D
dload 11
dcmpg
ifge 37
35: iload 14
istore 9
36: goto 39
37: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
38: iload 14
iload 4
if_icmplt 34
end local 14 39: StackMap locals:
StackMap stack:
aload 2
iload 9
aload 13
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
40: iinc 4 1
41: aload 3
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
42: aload 10
invokestatic sun.util.locale.LocaleMatcher.getEquivalentForRegionAndVariant:(Ljava/lang/String;)Ljava/lang/String;
dup
astore 14
start local 14 43: ifnull 48
44: aload 3
aload 14
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 48
45: aload 2
iload 9
iconst_1
iadd
new java.util.Locale$LanguageRange
dup
aload 14
dload 11
invokespecial java.util.Locale$LanguageRange.<init>:(Ljava/lang/String;D)V
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
46: iinc 4 1
47: aload 3
aload 14
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
48: StackMap locals: java.lang.String
StackMap stack:
aload 10
invokestatic sun.util.locale.LocaleMatcher.getEquivalentsForLanguage:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 15
start local 15 49: ifnull 64
50: aload 15
dup
astore 19
arraylength
istore 18
iconst_0
istore 17
goto 63
StackMap locals: java.lang.String java.lang.String[] java.util.List java.util.List int java.lang.String int int java.lang.String[] int java.lang.String double java.util.Locale$LanguageRange java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
51: aload 19
iload 17
aaload
astore 16
start local 16 52: aload 3
aload 16
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 56
53: aload 2
iload 9
iconst_1
iadd
new java.util.Locale$LanguageRange
dup
aload 16
dload 11
invokespecial java.util.Locale$LanguageRange.<init>:(Ljava/lang/String;D)V
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
54: iinc 4 1
55: aload 3
aload 16
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
56: StackMap locals: java.lang.String java.lang.String[] java.util.List java.util.List int java.lang.String int int java.lang.String[] int java.lang.String double java.util.Locale$LanguageRange java.lang.String java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack:
aload 16
invokestatic sun.util.locale.LocaleMatcher.getEquivalentForRegionAndVariant:(Ljava/lang/String;)Ljava/lang/String;
astore 14
57: aload 14
ifnull 62
58: aload 3
aload 14
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 62
59: aload 2
iload 9
iconst_1
iadd
new java.util.Locale$LanguageRange
dup
aload 14
dload 11
invokespecial java.util.Locale$LanguageRange.<init>:(Ljava/lang/String;D)V
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
60: iinc 4 1
61: aload 3
aload 14
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 16 62: StackMap locals: java.lang.String java.lang.String[] java.util.List java.util.List int java.lang.String int int java.lang.String[] int java.lang.String double java.util.Locale$LanguageRange java.lang.String java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 17 1
StackMap locals:
StackMap stack:
63: iload 17
iload 18
if_icmplt 51
end local 15 end local 14 end local 13 end local 11 end local 10 end local 9 end local 5 64: StackMap locals: java.lang.String java.lang.String[] java.util.List java.util.List int top int int java.lang.String[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
65: iload 6
iload 7
if_icmplt 8
66: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 67 0 ranges Ljava/lang/String;
4 67 1 langRanges [Ljava/lang/String;
5 67 2 list Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
6 67 3 tempList Ljava/util/List<Ljava/lang/String;>;
7 67 4 numOfRanges I
9 64 5 range Ljava/lang/String;
10 64 9 index I
12 14 10 r Ljava/lang/String;
15 64 10 r Ljava/lang/String;
13 14 11 w D
17 18 11 w D
23 64 11 w D
31 64 13 lr Ljava/util/Locale$LanguageRange;
33 39 14 j I
43 64 14 equivalent Ljava/lang/String;
49 64 15 equivalents [Ljava/lang/String;
52 62 16 equiv Ljava/lang/String;
Exception table:
from to target type
16 17 18 Class java.lang.Exception
Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
MethodParameters:
Name Flags
ranges
private static java.lang.String replaceFirstSubStringMatch(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 3
start local 3 1: iload 3
iconst_m1
if_icmpne 3
2: aload 0
areturn
3: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
iconst_0
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: aload 0
iload 3
aload 1
invokevirtual java.lang.String.length:()I
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 range Ljava/lang/String;
0 6 1 substr Ljava/lang/String;
0 6 2 replacement Ljava/lang/String;
1 6 3 pos I
MethodParameters:
Name Flags
range
substr
replacement
private static java.lang.String[] getEquivalentsForLanguage(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: goto 22
2: StackMap locals: java.lang.String
StackMap stack:
getstatic sun.util.locale.LocaleEquivalentMaps.singleEquivMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 7
3: getstatic sun.util.locale.LocaleEquivalentMaps.singleEquivMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 4: iconst_1
anewarray java.lang.String
dup
iconst_0
aload 0
5: aload 1
aload 2
6: invokestatic sun.util.locale.LocaleMatcher.replaceFirstSubStringMatch:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
aastore
areturn
end local 2 7: StackMap locals:
StackMap stack:
getstatic sun.util.locale.LocaleEquivalentMaps.multiEquivsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 18
8: getstatic sun.util.locale.LocaleEquivalentMaps.multiEquivsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String[]
astore 2
start local 2 9: aload 2
arraylength
anewarray java.lang.String
astore 3
start local 3 10: iconst_0
istore 4
start local 4 11: goto 16
12: StackMap locals: java.lang.String[] java.lang.String[] int
StackMap stack:
aload 3
iload 4
aload 0
13: aload 1
aload 2
iload 4
aaload
14: invokestatic sun.util.locale.LocaleMatcher.replaceFirstSubStringMatch:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
aastore
15: iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
aload 2
arraylength
if_icmplt 12
end local 4 17: aload 3
areturn
end local 3 end local 2 18: StackMap locals:
StackMap stack:
aload 1
bipush 45
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 2
start local 2 19: iload 2
iconst_m1
if_icmpne 21
20: goto 23
21: StackMap locals: int
StackMap stack:
aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
end local 2 22: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.String.length:()I
ifgt 2
23: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 range Ljava/lang/String;
1 24 1 r Ljava/lang/String;
4 7 2 equiv Ljava/lang/String;
9 18 2 equivs [Ljava/lang/String;
10 18 3 result [Ljava/lang/String;
11 17 4 i I
19 22 2 index I
MethodParameters:
Name Flags
range
private static java.lang.String getEquivalentForRegionAndVariant(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
invokestatic sun.util.locale.LocaleMatcher.getExtentionKeyIndex:(Ljava/lang/String;)I
istore 1
start local 1 1: getstatic sun.util.locale.LocaleEquivalentMaps.regionVariantEquivMap:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 14
StackMap locals: java.lang.String int top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 3: aload 0
aload 2
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
dup
istore 4
start local 4 4: iconst_m1
if_icmpeq 14
5: iload 1
ldc -2147483648
if_icmpeq 8
6: iload 4
iload 1
if_icmple 8
7: goto 14
8: StackMap locals: java.lang.String int java.lang.String java.util.Iterator int
StackMap stack:
iload 4
aload 2
invokevirtual java.lang.String.length:()I
iadd
istore 5
start local 5 9: aload 0
invokevirtual java.lang.String.length:()I
iload 5
if_icmpeq 10
aload 0
iload 5
invokevirtual java.lang.String.charAt:(I)C
bipush 45
if_icmpne 14
10: StackMap locals: int
StackMap stack:
aload 0
aload 2
11: getstatic sun.util.locale.LocaleEquivalentMaps.regionVariantEquivMap:Ljava/util/Map;
12: aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
13: invokestatic sun.util.locale.LocaleMatcher.replaceFirstSubStringMatch:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 5 end local 4 end local 2 14: StackMap locals: java.lang.String int top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
15: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 range Ljava/lang/String;
1 16 1 extensionKeyIndex I
3 14 2 subtag Ljava/lang/String;
4 14 4 index I
9 14 5 len I
MethodParameters:
Name Flags
range
private static int getExtentionKeyIndex(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.toCharArray:()[C
astore 1
start local 1 1: ldc -2147483648
istore 2
start local 2 2: iconst_1
istore 3
start local 3 3: goto 9
4: StackMap locals: char[] int int
StackMap stack:
aload 1
iload 3
caload
bipush 45
if_icmpne 8
5: iload 3
iload 2
isub
iconst_2
if_icmpne 7
6: iload 2
ireturn
7: StackMap locals:
StackMap stack:
iload 3
istore 2
8: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 1
arraylength
if_icmplt 4
end local 3 10: ldc -2147483648
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 s Ljava/lang/String;
1 11 1 c [C
2 11 2 index I
3 10 3 i I
MethodParameters:
Name Flags
s
public static java.util.List<java.util.Locale$LanguageRange> mapEquivalents(java.util.List<java.util.Locale$LanguageRange>, java.util.Map<java.lang.String, java.util.List<java.lang.String>>);
descriptor: (Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=13, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
areturn
2: StackMap locals:
StackMap stack:
aload 1
ifnull 3
aload 1
invokeinterface java.util.Map.isEmpty:()Z
ifeq 4
3: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 0
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
areturn
4: StackMap locals:
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 5: aload 1
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: java.util.List java.util.Map java.util.Map top java.util.Iterator
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 7: aload 2
aload 3
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 10: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 36
StackMap locals: java.util.List java.util.Map java.util.Map java.util.List top java.util.Iterator
StackMap stack:
11: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Locale$LanguageRange
astore 4
start local 4 12: aload 4
invokevirtual java.util.Locale$LanguageRange.getRange:()Ljava/lang/String;
astore 6
start local 6 13: aload 6
astore 7
start local 7 14: iconst_0
istore 8
start local 8 15: goto 33
16: StackMap locals: java.util.List java.util.Map java.util.Map java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String int
StackMap stack:
aload 2
aload 7
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 29
17: iconst_1
istore 8
18: aload 1
aload 2
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 9
start local 9 19: aload 9
ifnull 34
20: aload 7
invokevirtual java.lang.String.length:()I
istore 10
start local 10 21: aload 9
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 27
StackMap locals: java.util.List java.util.Map java.util.Map java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String int java.util.List int top java.util.Iterator
StackMap stack:
22: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 11
start local 11 23: aload 3
new java.util.Locale$LanguageRange
dup
new java.lang.StringBuilder
dup
aload 11
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: aload 6
iload 10
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: aload 4
invokevirtual java.util.Locale$LanguageRange.getWeight:()D
invokespecial java.util.Locale$LanguageRange.<init>:(Ljava/lang/String;D)V
26: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 11 27: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
end local 10 28: goto 34
end local 9 29: StackMap locals: java.util.List java.util.Map java.util.Map java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String int
StackMap stack:
aload 7
bipush 45
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 9
start local 9 30: iload 9
iconst_m1
if_icmpne 32
31: goto 34
32: StackMap locals: int
StackMap stack:
aload 7
iconst_0
iload 9
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 7
end local 9 33: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.lang.String.length:()I
ifgt 16
34: StackMap locals:
StackMap stack:
iload 8
ifne 36
35: aload 3
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 end local 6 end local 4 36: StackMap locals: java.util.List java.util.Map java.util.Map java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
37: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 priorityList Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
0 38 1 map Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
5 38 2 keyMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
7 8 3 key Ljava/lang/String;
10 38 3 list Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
12 36 4 lr Ljava/util/Locale$LanguageRange;
13 36 6 range Ljava/lang/String;
14 36 7 r Ljava/lang/String;
15 36 8 hasEquivalent Z
19 29 9 equivalents Ljava/util/List<Ljava/lang/String;>;
21 28 10 len I
23 27 11 equivalent Ljava/lang/String;
30 33 9 index I
Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;)Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
MethodParameters:
Name Flags
priorityList
map
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/util/locale/LocaleMatcher;
private static boolean lambda$0(java.util.Set, java.lang.String);
descriptor: (Ljava/util/Set;Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 x Ljava/lang/String;
private static boolean lambda$1(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
aload 0
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 element Ljava/lang/String;
}
SourceFile: "LocaleMatcher.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final FilteringMode = java.util.Locale$FilteringMode of java.util.Locale
public final LanguageRange = java.util.Locale$LanguageRange of java.util.Locale