class sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate extends java.util.spi.CurrencyNameProvider implements sun.util.locale.provider.SPILocaleProviderAdapter$Delegate<java.util.spi.CurrencyNameProvider>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate
super_class: java.util.spi.CurrencyNameProvider
{
private java.util.concurrent.ConcurrentMap<java.util.Locale, java.util.spi.CurrencyNameProvider> map;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/util/Locale;Ljava/util/spi/CurrencyNameProvider;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lsun/util/locale/provider/SPILocaleProviderAdapter;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.util.spi.CurrencyNameProvider.<init>:()V
1: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate.map:Ljava/util/concurrent/ConcurrentMap;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/util/locale/provider/SPILocaleProviderAdapter$CurrencyNameProviderDelegate;
public void addImpl(java.util.spi.CurrencyNameProvider);
descriptor: (Ljava/util/spi/CurrencyNameProvider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.spi.CurrencyNameProvider.getAvailableLocales:()[Ljava/util/Locale;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 4
StackMap locals: sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate java.util.spi.CurrencyNameProvider top int int java.util.Locale[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 0
getfield sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate.map:Ljava/util/concurrent/ConcurrentMap;
aload 2
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 2 3: iinc 3 1
StackMap locals:
StackMap stack:
4: iload 3
iload 4
if_icmplt 1
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/util/locale/provider/SPILocaleProviderAdapter$CurrencyNameProviderDelegate;
0 6 1 impl Ljava/util/spi/CurrencyNameProvider;
2 3 2 l Ljava/util/Locale;
MethodParameters:
Name Flags
impl
public java.util.spi.CurrencyNameProvider getImpl(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/util/spi/CurrencyNameProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate.map:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokestatic sun.util.locale.provider.SPILocaleProviderAdapter.getImpl:(Ljava/util/Map;Ljava/util/Locale;)Ljava/util/spi/LocaleServiceProvider;
checkcast java.util.spi.CurrencyNameProvider
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/util/locale/provider/SPILocaleProviderAdapter$CurrencyNameProviderDelegate;
0 1 1 locale Ljava/util/Locale;
MethodParameters:
Name Flags
locale
public java.util.Locale[] getAvailableLocales();
descriptor: ()[Ljava/util/Locale;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate.map:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.keySet:()Ljava/util/Set;
iconst_0
anewarray java.util.Locale
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.util.Locale[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/util/locale/provider/SPILocaleProviderAdapter$CurrencyNameProviderDelegate;
public boolean isSupportedLocale(java.util.Locale);
descriptor: (Ljava/util/Locale;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate.map:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/util/locale/provider/SPILocaleProviderAdapter$CurrencyNameProviderDelegate;
0 1 1 locale Ljava/util/Locale;
MethodParameters:
Name Flags
locale
public java.lang.String getSymbol(java.lang.String, java.util.Locale);
descriptor: (Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate.getImpl:(Ljava/util/Locale;)Ljava/util/spi/CurrencyNameProvider;
astore 3
start local 3 1: getstatic sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate.$assertionsDisabled:Z
ifne 2
aload 3
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: java.util.spi.CurrencyNameProvider
StackMap stack:
aload 3
aload 1
aload 2
invokevirtual java.util.spi.CurrencyNameProvider.getSymbol:(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/util/locale/provider/SPILocaleProviderAdapter$CurrencyNameProviderDelegate;
0 3 1 currencyCode Ljava/lang/String;
0 3 2 locale Ljava/util/Locale;
1 3 3 cnp Ljava/util/spi/CurrencyNameProvider;
MethodParameters:
Name Flags
currencyCode
locale
public java.lang.String getDisplayName(java.lang.String, java.util.Locale);
descriptor: (Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate.getImpl:(Ljava/util/Locale;)Ljava/util/spi/CurrencyNameProvider;
astore 3
start local 3 1: getstatic sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate.$assertionsDisabled:Z
ifne 2
aload 3
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: java.util.spi.CurrencyNameProvider
StackMap stack:
aload 3
aload 1
aload 2
invokevirtual java.util.spi.CurrencyNameProvider.getDisplayName:(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/util/locale/provider/SPILocaleProviderAdapter$CurrencyNameProviderDelegate;
0 3 1 currencyCode Ljava/lang/String;
0 3 2 locale Ljava/util/Locale;
1 3 3 cnp Ljava/util/spi/CurrencyNameProvider;
MethodParameters:
Name Flags
currencyCode
locale
public void addImpl(java.util.spi.LocaleServiceProvider);
descriptor: (Ljava/util/spi/LocaleServiceProvider;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.util.spi.CurrencyNameProvider
invokevirtual sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate.addImpl:(Ljava/util/spi/CurrencyNameProvider;)V
return
LocalVariableTable:
Start End Slot Name Signature
public java.util.spi.LocaleServiceProvider getImpl(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/util/spi/LocaleServiceProvider;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate.getImpl:(Ljava/util/Locale;)Ljava/util/spi/CurrencyNameProvider;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/util/spi/CurrencyNameProvider;Lsun/util/locale/provider/SPILocaleProviderAdapter$Delegate<Ljava/util/spi/CurrencyNameProvider;>;
SourceFile: "SPILocaleProviderAdapter.java"
NestHost: sun.util.locale.provider.SPILocaleProviderAdapter
InnerClasses:
CurrencyNameProviderDelegate = sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate of sun.util.locale.provider.SPILocaleProviderAdapter
abstract Delegate = sun.util.locale.provider.SPILocaleProviderAdapter$Delegate of sun.util.locale.provider.SPILocaleProviderAdapter