public abstract class sun.util.resources.Bundles
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.util.resources.Bundles
super_class: java.lang.Object
{
private static final int INITIAL_CACHE_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final java.util.ResourceBundle NONEXISTENT_BUNDLE;
descriptor: Ljava/util/ResourceBundle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jdk.internal.misc.JavaUtilResourceBundleAccess bundleAccess;
descriptor: Ljdk/internal/misc/JavaUtilResourceBundleAccess;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.concurrent.ConcurrentMap<sun.util.resources.Bundles$CacheKey, sun.util.resources.Bundles$BundleReference> cacheList;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Lsun/util/resources/Bundles$CacheKey;Lsun/util/resources/Bundles$BundleReference;>;
private static final java.lang.ref.ReferenceQueue<java.lang.Object> referenceQueue;
descriptor: Ljava/lang/ref/ReferenceQueue;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ref/ReferenceQueue<Ljava/lang/Object;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new sun.util.resources.Bundles$1
dup
invokespecial sun.util.resources.Bundles$1.<init>:()V
putstatic sun.util.resources.Bundles.NONEXISTENT_BUNDLE:Ljava/util/ResourceBundle;
1: invokestatic jdk.internal.misc.SharedSecrets.getJavaUtilResourceBundleAccess:()Ljdk/internal/misc/JavaUtilResourceBundleAccess;
2: putstatic sun.util.resources.Bundles.bundleAccess:Ljdk/internal/misc/JavaUtilResourceBundleAccess;
3: new java.util.concurrent.ConcurrentHashMap
dup
bipush 32
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
4: putstatic sun.util.resources.Bundles.cacheList:Ljava/util/concurrent/ConcurrentMap;
5: new java.lang.ref.ReferenceQueue
dup
invokespecial java.lang.ref.ReferenceQueue.<init>:()V
putstatic sun.util.resources.Bundles.referenceQueue:Ljava/lang/ref/ReferenceQueue;
return
LocalVariableTable:
Start End Slot Name Signature
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
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/util/resources/Bundles;
public static java.util.ResourceBundle of(java.lang.String, java.util.Locale, sun.util.resources.Bundles$Strategy);
descriptor: (Ljava/lang/String;Ljava/util/Locale;Lsun/util/resources/Bundles$Strategy;)Ljava/util/ResourceBundle;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic sun.util.resources.Bundles.loadBundleOf:(Ljava/lang/String;Ljava/util/Locale;Lsun/util/resources/Bundles$Strategy;)Ljava/util/ResourceBundle;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 baseName Ljava/lang/String;
0 1 1 locale Ljava/util/Locale;
0 1 2 strategy Lsun/util/resources/Bundles$Strategy;
MethodParameters:
Name Flags
baseName
locale
strategy
private static java.util.ResourceBundle loadBundleOf(java.lang.String, java.util.Locale, sun.util.resources.Bundles$Strategy);
descriptor: (Ljava/lang/String;Ljava/util/Locale;Lsun/util/resources/Bundles$Strategy;)Ljava/util/ResourceBundle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: new sun.util.resources.Bundles$CacheKey
dup
aload 0
aload 1
invokespecial sun.util.resources.Bundles$CacheKey.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
astore 3
start local 3 4: aconst_null
astore 4
start local 4 5: getstatic sun.util.resources.Bundles.cacheList:Ljava/util/concurrent/ConcurrentMap;
aload 3
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.util.resources.Bundles$BundleReference
astore 5
start local 5 6: aload 5
ifnull 8
7: aload 5
invokevirtual sun.util.resources.Bundles$BundleReference.get:()Ljava/lang/Object;
checkcast java.util.ResourceBundle
astore 4
8: StackMap locals: sun.util.resources.Bundles$CacheKey java.util.ResourceBundle sun.util.resources.Bundles$BundleReference
StackMap stack:
aload 4
invokestatic sun.util.resources.Bundles.isValidBundle:(Ljava/util/ResourceBundle;)Z
ifeq 10
9: aload 4
areturn
10: StackMap locals:
StackMap stack:
aload 2
aload 0
aload 1
invokeinterface sun.util.resources.Bundles$Strategy.getResourceBundleProviderType:(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/Class;
11: astore 6
start local 6 12: aload 6
ifnull 16
13: aload 6
invokestatic java.util.ServiceLoader.loadInstalled:(Ljava/lang/Class;)Ljava/util/ServiceLoader;
14: astore 7
start local 7 15: aload 3
aload 7
invokevirtual sun.util.resources.Bundles$CacheKey.setProviders:(Ljava/util/ServiceLoader;)V
end local 7 16: StackMap locals: java.lang.Class
StackMap stack:
aload 2
aload 0
aload 1
invokeinterface sun.util.resources.Bundles$Strategy.getCandidateLocales:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
astore 7
start local 7 17: aload 3
aload 2
aload 0
aload 7
iconst_0
invokestatic sun.util.resources.Bundles.findBundleOf:(Lsun/util/resources/Bundles$CacheKey;Lsun/util/resources/Bundles$Strategy;Ljava/lang/String;Ljava/util/List;I)Ljava/util/ResourceBundle;
astore 4
18: aload 4
ifnonnull 20
19: aload 0
aload 1
aload 3
invokevirtual sun.util.resources.Bundles$CacheKey.getCause:()Ljava/lang/Throwable;
invokestatic sun.util.resources.Bundles.throwMissingResourceException:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Throwable;)V
20: StackMap locals: java.util.List
StackMap stack:
aload 4
areturn
end local 7 end local 6 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 21 0 baseName Ljava/lang/String;
0 21 1 targetLocale Ljava/util/Locale;
0 21 2 strategy Lsun/util/resources/Bundles$Strategy;
4 21 3 cacheKey Lsun/util/resources/Bundles$CacheKey;
5 21 4 bundle Ljava/util/ResourceBundle;
6 21 5 bundleRef Lsun/util/resources/Bundles$BundleReference;
12 21 6 type Ljava/lang/Class<+Ljava/util/spi/ResourceBundleProvider;>;
15 16 7 providers Ljava/util/ServiceLoader<Ljava/util/spi/ResourceBundleProvider;>;
17 21 7 candidateLocales Ljava/util/List<Ljava/util/Locale;>;
MethodParameters:
Name Flags
baseName
targetLocale
strategy
private static java.util.ResourceBundle findBundleOf(sun.util.resources.Bundles$CacheKey, sun.util.resources.Bundles$Strategy, java.lang.String, java.util.List<java.util.Locale>, int);
descriptor: (Lsun/util/resources/Bundles$CacheKey;Lsun/util/resources/Bundles$Strategy;Ljava/lang/String;Ljava/util/List;I)Ljava/util/ResourceBundle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: aload 3
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.Locale
astore 6
start local 6 2: iload 4
aload 3
invokeinterface java.util.List.size:()I
iconst_1
isub
if_icmpeq 4
3: aload 0
aload 1
aload 2
aload 3
iload 4
iconst_1
iadd
invokestatic sun.util.resources.Bundles.findBundleOf:(Lsun/util/resources/Bundles$CacheKey;Lsun/util/resources/Bundles$Strategy;Ljava/lang/String;Ljava/util/List;I)Ljava/util/ResourceBundle;
astore 5
4: StackMap locals: java.util.ResourceBundle java.util.Locale
StackMap stack:
invokestatic sun.util.resources.Bundles.cleanupCache:()V
5: aload 0
aload 6
invokevirtual sun.util.resources.Bundles$CacheKey.setLocale:(Ljava/util/Locale;)Lsun/util/resources/Bundles$CacheKey;
pop
6: aload 0
invokestatic sun.util.resources.Bundles.findBundleInCache:(Lsun/util/resources/Bundles$CacheKey;)Ljava/util/ResourceBundle;
astore 7
start local 7 7: aload 7
ifnull 15
8: aload 7
getstatic sun.util.resources.Bundles.NONEXISTENT_BUNDLE:Ljava/util/ResourceBundle;
if_acmpne 10
9: aload 5
areturn
10: StackMap locals: java.util.ResourceBundle
StackMap stack:
getstatic sun.util.resources.Bundles.bundleAccess:Ljdk/internal/misc/JavaUtilResourceBundleAccess;
aload 7
invokeinterface jdk.internal.misc.JavaUtilResourceBundleAccess.getParent:(Ljava/util/ResourceBundle;)Ljava/util/ResourceBundle;
aload 5
if_acmpne 12
11: aload 7
areturn
12: StackMap locals:
StackMap stack:
getstatic sun.util.resources.Bundles.cacheList:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.util.resources.Bundles$BundleReference
astore 8
start local 8 13: aload 8
ifnull 15
aload 8
invokevirtual sun.util.resources.Bundles$BundleReference.get:()Ljava/lang/Object;
aload 7
if_acmpne 15
14: getstatic sun.util.resources.Bundles.cacheList:Ljava/util/concurrent/ConcurrentMap;
aload 0
aload 8
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;Ljava/lang/Object;)Z
pop
end local 8 15: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.util.resources.Bundles$CacheKey.getProviders:()Ljava/util/ServiceLoader;
astore 8
start local 8 16: aload 8
ifnull 19
17: aload 1
aload 2
aload 6
invokeinterface sun.util.resources.Bundles$Strategy.getResourceBundleProviderType:(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/Class;
ifnonnull 19
18: aconst_null
astore 8
19: StackMap locals: java.util.ServiceLoader
StackMap stack:
aload 0
invokevirtual sun.util.resources.Bundles$CacheKey.clone:()Ljava/lang/Object;
checkcast sun.util.resources.Bundles$CacheKey
astore 9
start local 9 20: aload 8
ifnull 23
21: aload 2
aload 6
aload 8
aload 0
invokestatic sun.util.resources.Bundles.loadBundleFromProviders:(Ljava/lang/String;Ljava/util/Locale;Ljava/util/ServiceLoader;Lsun/util/resources/Bundles$CacheKey;)Ljava/util/ResourceBundle;
astore 7
22: goto 36
23: StackMap locals: sun.util.resources.Bundles$CacheKey
StackMap stack:
aload 1
aload 2
aload 6
invokeinterface sun.util.resources.Bundles$Strategy.toBundleName:(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
astore 10
start local 10 24: ldc Lsun/util/resources/Bundles;
invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
aload 10
invokestatic java.lang.Class.forName:(Ljava/lang/Module;Ljava/lang/String;)Ljava/lang/Class;
astore 11
start local 11 25: aload 11
ifnull 36
ldc Ljava/util/ResourceBundle;
aload 11
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 36
26: aload 11
astore 12
start local 12 27: getstatic sun.util.resources.Bundles.bundleAccess:Ljdk/internal/misc/JavaUtilResourceBundleAccess;
aload 12
invokeinterface jdk.internal.misc.JavaUtilResourceBundleAccess.newResourceBundle:(Ljava/lang/Class;)Ljava/util/ResourceBundle;
astore 7
end local 12 end local 11 end local 10 28: goto 36
StackMap locals:
StackMap stack: java.lang.Exception
29: astore 10
start local 10 30: aload 0
aload 10
invokevirtual sun.util.resources.Bundles$CacheKey.setCause:(Ljava/lang/Throwable;)V
end local 10 31: goto 36
StackMap locals:
StackMap stack: java.lang.Throwable
32: astore 13
33: aload 9
invokevirtual sun.util.resources.Bundles$CacheKey.getCause:()Ljava/lang/Throwable;
instanceof java.lang.InterruptedException
ifeq 35
34: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
35: StackMap locals: sun.util.resources.Bundles$CacheKey sun.util.resources.Bundles$Strategy java.lang.String java.util.List int java.util.ResourceBundle java.util.Locale java.util.ResourceBundle java.util.ServiceLoader sun.util.resources.Bundles$CacheKey top top top java.lang.Throwable
StackMap stack:
aload 13
athrow
36: StackMap locals: sun.util.resources.Bundles$CacheKey sun.util.resources.Bundles$Strategy java.lang.String java.util.List int java.util.ResourceBundle java.util.Locale java.util.ResourceBundle java.util.ServiceLoader sun.util.resources.Bundles$CacheKey
StackMap stack:
aload 9
invokevirtual sun.util.resources.Bundles$CacheKey.getCause:()Ljava/lang/Throwable;
instanceof java.lang.InterruptedException
ifeq 38
37: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
38: StackMap locals:
StackMap stack:
aload 7
ifnonnull 41
39: aload 0
getstatic sun.util.resources.Bundles.NONEXISTENT_BUNDLE:Ljava/util/ResourceBundle;
invokestatic sun.util.resources.Bundles.putBundleInCache:(Lsun/util/resources/Bundles$CacheKey;Ljava/util/ResourceBundle;)Ljava/util/ResourceBundle;
pop
40: aload 5
areturn
41: StackMap locals:
StackMap stack:
aload 5
ifnull 43
getstatic sun.util.resources.Bundles.bundleAccess:Ljdk/internal/misc/JavaUtilResourceBundleAccess;
aload 7
invokeinterface jdk.internal.misc.JavaUtilResourceBundleAccess.getParent:(Ljava/util/ResourceBundle;)Ljava/util/ResourceBundle;
ifnonnull 43
42: getstatic sun.util.resources.Bundles.bundleAccess:Ljdk/internal/misc/JavaUtilResourceBundleAccess;
aload 7
aload 5
invokeinterface jdk.internal.misc.JavaUtilResourceBundleAccess.setParent:(Ljava/util/ResourceBundle;Ljava/util/ResourceBundle;)V
43: StackMap locals:
StackMap stack:
getstatic sun.util.resources.Bundles.bundleAccess:Ljdk/internal/misc/JavaUtilResourceBundleAccess;
aload 7
aload 6
invokeinterface jdk.internal.misc.JavaUtilResourceBundleAccess.setLocale:(Ljava/util/ResourceBundle;Ljava/util/Locale;)V
44: getstatic sun.util.resources.Bundles.bundleAccess:Ljdk/internal/misc/JavaUtilResourceBundleAccess;
aload 7
aload 2
invokeinterface jdk.internal.misc.JavaUtilResourceBundleAccess.setName:(Ljava/util/ResourceBundle;Ljava/lang/String;)V
45: aload 0
aload 7
invokestatic sun.util.resources.Bundles.putBundleInCache:(Lsun/util/resources/Bundles$CacheKey;Ljava/util/ResourceBundle;)Ljava/util/ResourceBundle;
astore 7
46: aload 7
areturn
end local 9 end local 8 end local 7 end local 6 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 47 0 cacheKey Lsun/util/resources/Bundles$CacheKey;
0 47 1 strategy Lsun/util/resources/Bundles$Strategy;
0 47 2 baseName Ljava/lang/String;
0 47 3 candidateLocales Ljava/util/List<Ljava/util/Locale;>;
0 47 4 index I
1 47 5 parent Ljava/util/ResourceBundle;
2 47 6 targetLocale Ljava/util/Locale;
7 47 7 bundle Ljava/util/ResourceBundle;
13 15 8 bundleRef Lsun/util/resources/Bundles$BundleReference;
16 47 8 providers Ljava/util/ServiceLoader<Ljava/util/spi/ResourceBundleProvider;>;
20 47 9 constKey Lsun/util/resources/Bundles$CacheKey;
24 28 10 bundleName Ljava/lang/String;
25 28 11 c Ljava/lang/Class<*>;
27 28 12 bundleClass Ljava/lang/Class<Ljava/util/ResourceBundle;>;
30 31 10 e Ljava/lang/Exception;
Exception table:
from to target type
23 28 29 Class java.lang.Exception
20 32 32 any
Signature: (Lsun/util/resources/Bundles$CacheKey;Lsun/util/resources/Bundles$Strategy;Ljava/lang/String;Ljava/util/List<Ljava/util/Locale;>;I)Ljava/util/ResourceBundle;
MethodParameters:
Name Flags
cacheKey
strategy
baseName
candidateLocales
index
private static void cleanupCache();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: goto 2
start local 0 1: StackMap locals: java.lang.Object
StackMap stack:
getstatic sun.util.resources.Bundles.cacheList:Ljava/util/concurrent/ConcurrentMap;
aload 0
checkcast sun.util.resources.Bundles$CacheKeyReference
invokeinterface sun.util.resources.Bundles$CacheKeyReference.getCacheKey:()Lsun/util/resources/Bundles$CacheKey;
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 0 2: StackMap locals:
StackMap stack:
getstatic sun.util.resources.Bundles.referenceQueue:Ljava/lang/ref/ReferenceQueue;
invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
dup
astore 0
start local 0 3: ifnonnull 1
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 2 0 ref Ljava/lang/Object;
3 5 0 ref Ljava/lang/Object;
private static java.util.ResourceBundle loadBundleFromProviders(java.lang.String, java.util.Locale, java.util.ServiceLoader<java.util.spi.ResourceBundleProvider>, sun.util.resources.Bundles$CacheKey);
descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/util/ServiceLoader;Lsun/util/resources/Bundles$CacheKey;)Ljava/util/ResourceBundle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new sun.util.resources.Bundles$2
dup
aload 2
aload 0
aload 1
aload 3
invokespecial sun.util.resources.Bundles$2.<init>:(Ljava/util/ServiceLoader;Ljava/lang/String;Ljava/util/Locale;Lsun/util/resources/Bundles$CacheKey;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.util.ResourceBundle
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 baseName Ljava/lang/String;
0 2 1 locale Ljava/util/Locale;
0 2 2 providers Ljava/util/ServiceLoader<Ljava/util/spi/ResourceBundleProvider;>;
0 2 3 cacheKey Lsun/util/resources/Bundles$CacheKey;
Signature: (Ljava/lang/String;Ljava/util/Locale;Ljava/util/ServiceLoader<Ljava/util/spi/ResourceBundleProvider;>;Lsun/util/resources/Bundles$CacheKey;)Ljava/util/ResourceBundle;
MethodParameters:
Name Flags
baseName
locale
providers
cacheKey
private static boolean isValidBundle(java.util.ResourceBundle);
descriptor: (Ljava/util/ResourceBundle;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
getstatic sun.util.resources.Bundles.NONEXISTENT_BUNDLE:Ljava/util/ResourceBundle;
if_acmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 bundle Ljava/util/ResourceBundle;
MethodParameters:
Name Flags
bundle
private static void throwMissingResourceException(java.lang.String, java.util.Locale, java.lang.Throwable);
descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Throwable;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof java.util.MissingResourceException
ifeq 2
1: aconst_null
astore 2
2: StackMap locals:
StackMap stack:
new java.util.MissingResourceException
dup
new java.lang.StringBuilder
dup
ldc "Can't find bundle for base name "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", locale "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: ldc ""
6: invokespecial java.util.MissingResourceException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
astore 3
start local 3 7: aload 3
aload 2
invokevirtual java.util.MissingResourceException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
8: aload 3
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 baseName Ljava/lang/String;
0 9 1 locale Ljava/util/Locale;
0 9 2 cause Ljava/lang/Throwable;
7 9 3 e Ljava/util/MissingResourceException;
MethodParameters:
Name Flags
baseName
locale
cause
private static java.util.ResourceBundle findBundleInCache(sun.util.resources.Bundles$CacheKey);
descriptor: (Lsun/util/resources/Bundles$CacheKey;)Ljava/util/ResourceBundle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic sun.util.resources.Bundles.cacheList:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.util.resources.Bundles$BundleReference
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: sun.util.resources.Bundles$BundleReference
StackMap stack:
aload 1
invokevirtual sun.util.resources.Bundles$BundleReference.get:()Ljava/lang/Object;
checkcast java.util.ResourceBundle
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cacheKey Lsun/util/resources/Bundles$CacheKey;
1 4 1 bundleRef Lsun/util/resources/Bundles$BundleReference;
MethodParameters:
Name Flags
cacheKey
private static java.util.ResourceBundle putBundleInCache(sun.util.resources.Bundles$CacheKey, java.util.ResourceBundle);
descriptor: (Lsun/util/resources/Bundles$CacheKey;Ljava/util/ResourceBundle;)Ljava/util/ResourceBundle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.util.resources.Bundles$CacheKey.clone:()Ljava/lang/Object;
checkcast sun.util.resources.Bundles$CacheKey
astore 2
start local 2 1: new sun.util.resources.Bundles$BundleReference
dup
aload 1
getstatic sun.util.resources.Bundles.referenceQueue:Ljava/lang/ref/ReferenceQueue;
aload 2
invokespecial sun.util.resources.Bundles$BundleReference.<init>:(Ljava/util/ResourceBundle;Ljava/lang/ref/ReferenceQueue;Lsun/util/resources/Bundles$CacheKey;)V
astore 3
start local 3 2: getstatic sun.util.resources.Bundles.cacheList:Ljava/util/concurrent/ConcurrentMap;
aload 2
aload 3
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.util.resources.Bundles$BundleReference
astore 4
start local 4 3: aload 4
ifnull 10
4: aload 4
invokevirtual sun.util.resources.Bundles$BundleReference.get:()Ljava/lang/Object;
checkcast java.util.ResourceBundle
astore 5
start local 5 5: aload 5
ifnull 9
6: aload 5
astore 1
7: aload 3
invokevirtual sun.util.resources.Bundles$BundleReference.clear:()V
8: goto 10
9: StackMap locals: sun.util.resources.Bundles$CacheKey java.util.ResourceBundle sun.util.resources.Bundles$CacheKey sun.util.resources.Bundles$BundleReference sun.util.resources.Bundles$BundleReference java.util.ResourceBundle
StackMap stack:
getstatic sun.util.resources.Bundles.cacheList:Ljava/util/concurrent/ConcurrentMap;
aload 2
aload 3
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 10: StackMap locals:
StackMap stack:
aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 cacheKey Lsun/util/resources/Bundles$CacheKey;
0 11 1 bundle Ljava/util/ResourceBundle;
1 11 2 key Lsun/util/resources/Bundles$CacheKey;
2 11 3 bundleRef Lsun/util/resources/Bundles$BundleReference;
3 11 4 result Lsun/util/resources/Bundles$BundleReference;
5 10 5 rb Ljava/util/ResourceBundle;
MethodParameters:
Name Flags
cacheKey
bundle
}
SourceFile: "Bundles.java"
NestMembers:
sun.util.resources.Bundles$1 sun.util.resources.Bundles$2 sun.util.resources.Bundles$BundleReference sun.util.resources.Bundles$CacheKey sun.util.resources.Bundles$CacheKeyReference sun.util.resources.Bundles$Strategy
InnerClasses:
sun.util.resources.Bundles$1
sun.util.resources.Bundles$2
private BundleReference = sun.util.resources.Bundles$BundleReference of sun.util.resources.Bundles
private CacheKey = sun.util.resources.Bundles$CacheKey of sun.util.resources.Bundles
private abstract CacheKeyReference = sun.util.resources.Bundles$CacheKeyReference of sun.util.resources.Bundles
public abstract Strategy = sun.util.resources.Bundles$Strategy of sun.util.resources.Bundles