class sun.util.locale.provider.HostLocaleProviderAdapterImpl$4 extends java.text.spi.DecimalFormatSymbolsProvider
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.util.locale.provider.HostLocaleProviderAdapterImpl$4
super_class: java.text.spi.DecimalFormatSymbolsProvider
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.util.locale.provider.HostLocaleProviderAdapterImpl$4 this
0: .line 299
aload 0 /* this */
invokespecial java.text.spi.DecimalFormatSymbolsProvider.<init>:()V
return
end local 0 // sun.util.locale.provider.HostLocaleProviderAdapterImpl$4 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/util/locale/provider/HostLocaleProviderAdapterImpl$4;
public java.util.Locale[] getAvailableLocales();
descriptor: ()[Ljava/util/Locale;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.util.locale.provider.HostLocaleProviderAdapterImpl$4 this
0: .line 303
invokestatic sun.util.locale.provider.HostLocaleProviderAdapterImpl.getSupportedNativeDigitLocales:()[Ljava/util/Locale;
areturn
end local 0 // sun.util.locale.provider.HostLocaleProviderAdapterImpl$4 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/util/locale/provider/HostLocaleProviderAdapterImpl$4;
public boolean isSupportedLocale(java.util.Locale);
descriptor: (Ljava/util/Locale;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 // sun.util.locale.provider.HostLocaleProviderAdapterImpl$4 this
start local 1 // java.util.Locale locale
0: .line 308
aload 1 /* locale */
invokestatic sun.util.locale.provider.HostLocaleProviderAdapterImpl.isSupportedNativeDigitLocale:(Ljava/util/Locale;)Z
ireturn
end local 1 // java.util.Locale locale
end local 0 // sun.util.locale.provider.HostLocaleProviderAdapterImpl$4 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/util/locale/provider/HostLocaleProviderAdapterImpl$4;
0 1 1 locale Ljava/util/Locale;
MethodParameters:
Name Flags
locale
public java.text.DecimalFormatSymbols getInstance(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/text/DecimalFormatSymbols;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 // sun.util.locale.provider.HostLocaleProviderAdapterImpl$4 this
start local 1 // java.util.Locale locale
0: .line 315
getstatic sun.util.locale.provider.HostLocaleProviderAdapterImpl.decimalFormatSymbolsCache:Ljava/util/concurrent/ConcurrentMap;
aload 1 /* locale */
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.SoftReference
1: .line 314
astore 3 /* ref */
start local 3 // java.lang.ref.SoftReference ref
2: .line 317
aload 3 /* ref */
ifnull 4
aload 3 /* ref */
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast java.text.DecimalFormatSymbols
dup
astore 2 /* dfs */
start local 2 // java.text.DecimalFormatSymbols dfs
3: ifnonnull 19
end local 2 // java.text.DecimalFormatSymbols dfs
4: .line 318
StackMap locals: sun.util.locale.provider.HostLocaleProviderAdapterImpl$4 java.util.Locale top java.lang.ref.SoftReference
StackMap stack:
new java.text.DecimalFormatSymbols
dup
aload 1 /* locale */
invokestatic sun.util.locale.provider.HostLocaleProviderAdapterImpl.getNumberLocale:(Ljava/util/Locale;)Ljava/util/Locale;
invokespecial java.text.DecimalFormatSymbols.<init>:(Ljava/util/Locale;)V
astore 2 /* dfs */
start local 2 // java.text.DecimalFormatSymbols dfs
5: .line 319
aload 1 /* locale */
invokestatic sun.util.locale.provider.HostLocaleProviderAdapterImpl.removeExtensions:(Ljava/util/Locale;)Ljava/util/Locale;
invokevirtual java.util.Locale.toLanguageTag:()Ljava/lang/String;
astore 4 /* langTag */
start local 4 // java.lang.String langTag
6: .line 324
aload 2 /* dfs */
aload 4 /* langTag */
aload 2 /* dfs */
invokevirtual java.text.DecimalFormatSymbols.getInternationalCurrencySymbol:()Ljava/lang/String;
invokestatic sun.util.locale.provider.HostLocaleProviderAdapterImpl.getInternationalCurrencySymbol:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.text.DecimalFormatSymbols.setInternationalCurrencySymbol:(Ljava/lang/String;)V
7: .line 325
aload 2 /* dfs */
aload 4 /* langTag */
aload 2 /* dfs */
invokevirtual java.text.DecimalFormatSymbols.getCurrencySymbol:()Ljava/lang/String;
invokestatic sun.util.locale.provider.HostLocaleProviderAdapterImpl.getCurrencySymbol:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.text.DecimalFormatSymbols.setCurrencySymbol:(Ljava/lang/String;)V
8: .line 326
aload 2 /* dfs */
aload 4 /* langTag */
aload 2 /* dfs */
invokevirtual java.text.DecimalFormatSymbols.getDecimalSeparator:()C
invokestatic sun.util.locale.provider.HostLocaleProviderAdapterImpl.getDecimalSeparator:(Ljava/lang/String;C)C
invokevirtual java.text.DecimalFormatSymbols.setDecimalSeparator:(C)V
9: .line 327
aload 2 /* dfs */
aload 4 /* langTag */
aload 2 /* dfs */
invokevirtual java.text.DecimalFormatSymbols.getGroupingSeparator:()C
invokestatic sun.util.locale.provider.HostLocaleProviderAdapterImpl.getGroupingSeparator:(Ljava/lang/String;C)C
invokevirtual java.text.DecimalFormatSymbols.setGroupingSeparator:(C)V
10: .line 328
aload 2 /* dfs */
aload 4 /* langTag */
aload 2 /* dfs */
invokevirtual java.text.DecimalFormatSymbols.getInfinity:()Ljava/lang/String;
invokestatic sun.util.locale.provider.HostLocaleProviderAdapterImpl.getInfinity:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.text.DecimalFormatSymbols.setInfinity:(Ljava/lang/String;)V
11: .line 329
aload 2 /* dfs */
aload 4 /* langTag */
aload 2 /* dfs */
invokevirtual java.text.DecimalFormatSymbols.getMinusSign:()C
invokestatic sun.util.locale.provider.HostLocaleProviderAdapterImpl.getMinusSign:(Ljava/lang/String;C)C
invokevirtual java.text.DecimalFormatSymbols.setMinusSign:(C)V
12: .line 330
aload 2 /* dfs */
aload 4 /* langTag */
aload 2 /* dfs */
invokevirtual java.text.DecimalFormatSymbols.getMonetaryDecimalSeparator:()C
invokestatic sun.util.locale.provider.HostLocaleProviderAdapterImpl.getMonetaryDecimalSeparator:(Ljava/lang/String;C)C
invokevirtual java.text.DecimalFormatSymbols.setMonetaryDecimalSeparator:(C)V
13: .line 331
aload 2 /* dfs */
aload 4 /* langTag */
aload 2 /* dfs */
invokevirtual java.text.DecimalFormatSymbols.getNaN:()Ljava/lang/String;
invokestatic sun.util.locale.provider.HostLocaleProviderAdapterImpl.getNaN:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.text.DecimalFormatSymbols.setNaN:(Ljava/lang/String;)V
14: .line 332
aload 2 /* dfs */
aload 4 /* langTag */
aload 2 /* dfs */
invokevirtual java.text.DecimalFormatSymbols.getPercent:()C
invokestatic sun.util.locale.provider.HostLocaleProviderAdapterImpl.getPercent:(Ljava/lang/String;C)C
invokevirtual java.text.DecimalFormatSymbols.setPercent:(C)V
15: .line 333
aload 2 /* dfs */
aload 4 /* langTag */
aload 2 /* dfs */
invokevirtual java.text.DecimalFormatSymbols.getPerMill:()C
invokestatic sun.util.locale.provider.HostLocaleProviderAdapterImpl.getPerMill:(Ljava/lang/String;C)C
invokevirtual java.text.DecimalFormatSymbols.setPerMill:(C)V
16: .line 334
aload 2 /* dfs */
aload 4 /* langTag */
aload 2 /* dfs */
invokevirtual java.text.DecimalFormatSymbols.getZeroDigit:()C
invokestatic sun.util.locale.provider.HostLocaleProviderAdapterImpl.getZeroDigit:(Ljava/lang/String;C)C
invokevirtual java.text.DecimalFormatSymbols.setZeroDigit:(C)V
17: .line 335
new java.lang.ref.SoftReference
dup
aload 2 /* dfs */
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
astore 3 /* ref */
18: .line 336
getstatic sun.util.locale.provider.HostLocaleProviderAdapterImpl.decimalFormatSymbolsCache:Ljava/util/concurrent/ConcurrentMap;
aload 1 /* locale */
aload 3 /* ref */
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 // java.lang.String langTag
19: .line 338
StackMap locals: sun.util.locale.provider.HostLocaleProviderAdapterImpl$4 java.util.Locale java.text.DecimalFormatSymbols java.lang.ref.SoftReference
StackMap stack:
aload 2 /* dfs */
invokevirtual java.text.DecimalFormatSymbols.clone:()Ljava/lang/Object;
checkcast java.text.DecimalFormatSymbols
areturn
end local 3 // java.lang.ref.SoftReference ref
end local 2 // java.text.DecimalFormatSymbols dfs
end local 1 // java.util.Locale locale
end local 0 // sun.util.locale.provider.HostLocaleProviderAdapterImpl$4 this
LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/util/locale/provider/HostLocaleProviderAdapterImpl$4;
0 20 1 locale Ljava/util/Locale;
3 4 2 dfs Ljava/text/DecimalFormatSymbols;
5 20 2 dfs Ljava/text/DecimalFormatSymbols;
2 20 3 ref Ljava/lang/ref/SoftReference<Ljava/text/DecimalFormatSymbols;>;
6 19 4 langTag Ljava/lang/String;
MethodParameters:
Name Flags
locale
}
SourceFile: "HostLocaleProviderAdapterImpl.java"
EnclosingMethod: sun.util.locale.provider.HostLocaleProviderAdapterImpl.getDecimalFormatSymbolsProvider:()Ljava/text/spi/DecimalFormatSymbolsProvider;
NestHost: sun.util.locale.provider.HostLocaleProviderAdapterImpl
InnerClasses:
sun.util.locale.provider.HostLocaleProviderAdapterImpl$4