public final class java.util.Locale$LanguageRange
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: java.util.Locale$LanguageRange
super_class: java.lang.Object
{
public static final double MAX_WEIGHT;
descriptor: D
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1.0
public static final double MIN_WEIGHT;
descriptor: D
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0.0
private final java.lang.String range;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double weight;
descriptor: D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile int hash;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
dconst_1
invokespecial java.util.Locale$LanguageRange.<init>:(Ljava/lang/String;D)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/Locale$LanguageRange;
0 2 1 range Ljava/lang/String;
MethodParameters:
Name Flags
range
public void <init>(java.lang.String, double);
descriptor: (Ljava/lang/String;D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ifnonnull 3
2: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
3: StackMap locals: java.util.Locale$LanguageRange java.lang.String double
StackMap stack:
dload 2
dconst_0
dcmpg
iflt 4
dload 2
dconst_1
dcmpl
ifle 5
4: 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 2
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 1
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 1
6: iconst_0
istore 4
start local 4 7: aload 1
ldc "-"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 8: aload 5
iconst_0
aaload
iconst_1
invokestatic java.util.Locale$LanguageRange.isSubtagIllFormed:(Ljava/lang/String;Z)Z
ifne 10
9: aload 1
ldc "-"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 12
10: StackMap locals: int java.lang.String[]
StackMap stack:
iconst_1
istore 4
11: goto 19
12: StackMap locals:
StackMap stack:
iconst_1
istore 6
start local 6 13: goto 18
14: StackMap locals: int
StackMap stack:
aload 5
iload 6
aaload
iconst_0
invokestatic java.util.Locale$LanguageRange.isSubtagIllFormed:(Ljava/lang/String;Z)Z
ifeq 17
15: iconst_1
istore 4
16: goto 19
17: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
18: iload 6
aload 5
arraylength
if_icmplt 14
end local 6 19: StackMap locals:
StackMap stack:
iload 4
ifeq 21
20: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "range="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield java.util.Locale$LanguageRange.range:Ljava/lang/String;
22: aload 0
dload 2
putfield java.util.Locale$LanguageRange.weight:D
23: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljava/util/Locale$LanguageRange;
0 24 1 range Ljava/lang/String;
0 24 2 weight D
7 24 4 isIllFormed Z
8 24 5 subtags [Ljava/lang/String;
13 19 6 i I
MethodParameters:
Name Flags
range
weight
private static boolean isSubtagIllFormed(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aload 0
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 1
aload 0
invokevirtual java.lang.String.length:()I
bipush 8
if_icmple 2
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.toCharArray:()[C
astore 2
start local 2 5: iload 1
ifeq 13
6: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 11
StackMap locals: java.lang.String int char[] top int int char[]
StackMap stack:
7: aload 6
iload 4
caload
istore 3
start local 3 8: iload 3
bipush 97
if_icmplt 9
iload 3
bipush 122
if_icmple 10
9: StackMap locals: java.lang.String int char[] int int int char[]
StackMap stack:
iconst_1
ireturn
end local 3 10: StackMap locals: java.lang.String int char[] top int int char[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
iload 5
if_icmplt 7
12: goto 20
13: StackMap locals: java.lang.String int char[]
StackMap stack:
aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 19
StackMap locals: java.lang.String int char[] top int int char[]
StackMap stack:
14: aload 6
iload 4
caload
istore 3
start local 3 15: iload 3
bipush 48
if_icmplt 17
iload 3
bipush 57
if_icmple 16
iload 3
bipush 97
if_icmplt 17
StackMap locals: java.lang.String int char[] int int int char[]
StackMap stack:
16: iload 3
bipush 122
if_icmple 18
17: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 18: StackMap locals: java.lang.String int char[] top int int char[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
19: iload 4
iload 5
if_icmplt 14
20: StackMap locals: java.lang.String int char[]
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 subtag Ljava/lang/String;
0 21 1 isFirstSubtag Z
5 21 2 charArray [C
8 10 3 c C
15 18 3 c C
MethodParameters:
Name Flags
subtag
isFirstSubtag
public java.lang.String getRange();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.Locale$LanguageRange.range:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Locale$LanguageRange;
public double getWeight();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.Locale$LanguageRange.weight:D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Locale$LanguageRange;
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=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic sun.util.locale.LocaleMatcher.parse:(Ljava/lang/String;)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 ranges Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
MethodParameters:
Name Flags
ranges
public static java.util.List<java.util.Locale$LanguageRange> parse(java.lang.String, java.util.Map<java.lang.String, java.util.List<java.lang.String>>);
descriptor: (Ljava/lang/String;Ljava/util/Map;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic java.util.Locale$LanguageRange.parse:(Ljava/lang/String;)Ljava/util/List;
aload 1
invokestatic java.util.Locale$LanguageRange.mapEquivalents:(Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 ranges Ljava/lang/String;
0 1 1 map Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;)Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
MethodParameters:
Name Flags
ranges
map
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=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic sun.util.locale.LocaleMatcher.mapEquivalents:(Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 priorityList Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
0 1 1 map Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
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
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
getfield java.util.Locale$LanguageRange.hash:I
istore 1
start local 1 1: iload 1
ifne 8
2: bipush 17
istore 1
3: bipush 37
iload 1
imul
aload 0
getfield java.util.Locale$LanguageRange.range:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
iadd
istore 1
4: aload 0
getfield java.util.Locale$LanguageRange.weight:D
invokestatic java.lang.Double.doubleToLongBits:(D)J
lstore 2
start local 2 5: bipush 37
iload 1
imul
lload 2
lload 2
bipush 32
lushr
lxor
l2i
iadd
istore 1
6: iload 1
ifeq 8
7: aload 0
iload 1
putfield java.util.Locale$LanguageRange.hash:I
end local 2 8: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/util/Locale$LanguageRange;
1 9 1 h I
5 8 2 bitsWeight J
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof java.util.Locale$LanguageRange
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast java.util.Locale$LanguageRange
astore 2
start local 2 5: aload 0
getfield java.util.Locale$LanguageRange.hash:I
aload 2
getfield java.util.Locale$LanguageRange.hash:I
if_icmpne 9
6: aload 0
getfield java.util.Locale$LanguageRange.range:Ljava/lang/String;
aload 2
getfield java.util.Locale$LanguageRange.range:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
7: aload 0
getfield java.util.Locale$LanguageRange.weight:D
aload 2
getfield java.util.Locale$LanguageRange.weight:D
dcmpl
ifne 9
8: iconst_1
ireturn
StackMap locals: java.util.Locale$LanguageRange
StackMap stack:
9: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/Locale$LanguageRange;
0 10 1 obj Ljava/lang/Object;
5 10 2 other Ljava/util/Locale$LanguageRange;
MethodParameters:
Name Flags
obj
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.Locale$LanguageRange.weight:D
dconst_1
dcmpl
ifne 1
aload 0
getfield java.util.Locale$LanguageRange.range:Ljava/lang/String;
goto 2
StackMap locals:
StackMap stack:
1: new java.lang.StringBuilder
dup
aload 0
getfield java.util.Locale$LanguageRange.range:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ";q="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.util.Locale$LanguageRange.weight:D
invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/Locale$LanguageRange;
}
SourceFile: "Locale.java"
NestHost: java.util.Locale
InnerClasses:
public final LanguageRange = java.util.Locale$LanguageRange of java.util.Locale