public abstract class sun.util.resources.ParallelListResourceBundle extends java.util.ResourceBundle
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.util.resources.ParallelListResourceBundle
super_class: java.util.ResourceBundle
{
private volatile java.util.concurrent.ConcurrentMap<java.lang.String, java.lang.Object> lookup;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Ljava/lang/Object;>;
private volatile java.util.Set<java.lang.String> keyset;
descriptor: Ljava/util/Set;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/Set<Ljava/lang/String;>;
private final java.util.concurrent.atomic.AtomicMarkableReference<java.lang.Object[][]> parallelContents;
descriptor: Ljava/util/concurrent/atomic/AtomicMarkableReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicMarkableReference<[[Ljava/lang/Object;>;
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.util.ResourceBundle.<init>:()V
1: aload 0
2: new java.util.concurrent.atomic.AtomicMarkableReference
dup
aconst_null
iconst_0
invokespecial java.util.concurrent.atomic.AtomicMarkableReference.<init>:(Ljava/lang/Object;Z)V
putfield sun.util.resources.ParallelListResourceBundle.parallelContents:Ljava/util/concurrent/atomic/AtomicMarkableReference;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/util/resources/ParallelListResourceBundle;
protected abstract java.lang.Object[][] getContents();
descriptor: ()[[Ljava/lang/Object;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
java.util.ResourceBundle getParent();
descriptor: ()Ljava/util/ResourceBundle;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.util.resources.ParallelListResourceBundle.parent:Ljava/util/ResourceBundle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/util/resources/ParallelListResourceBundle;
public void setParallelContents(sun.util.resources.OpenListResourceBundle);
descriptor: (Lsun/util/resources/OpenListResourceBundle;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: aload 0
getfield sun.util.resources.ParallelListResourceBundle.parallelContents:Ljava/util/concurrent/atomic/AtomicMarkableReference;
aconst_null
aconst_null
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicMarkableReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;ZZ)Z
pop
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.util.resources.ParallelListResourceBundle.parallelContents:Ljava/util/concurrent/atomic/AtomicMarkableReference;
aconst_null
aload 1
invokevirtual sun.util.resources.OpenListResourceBundle.getContents:()[[Ljava/lang/Object;
iconst_0
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicMarkableReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;ZZ)Z
pop
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/util/resources/ParallelListResourceBundle;
0 5 1 rb Lsun/util/resources/OpenListResourceBundle;
MethodParameters:
Name Flags
rb
boolean areParallelContentsComplete();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.util.resources.ParallelListResourceBundle.parallelContents:Ljava/util/concurrent/atomic/AtomicMarkableReference;
invokevirtual java.util.concurrent.atomic.AtomicMarkableReference.isMarked:()Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
newarray 4
astore 1
start local 1 3: aload 0
getfield sun.util.resources.ParallelListResourceBundle.parallelContents:Ljava/util/concurrent/atomic/AtomicMarkableReference;
aload 1
invokevirtual java.util.concurrent.atomic.AtomicMarkableReference.get:([Z)Ljava/lang/Object;
checkcast java.lang.Object[][]
astore 2
start local 2 4: aload 2
ifnonnull 5
aload 1
iconst_0
baload
ifne 5
iconst_0
ireturn
StackMap locals: boolean[] java.lang.Object[][]
StackMap stack:
5: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/util/resources/ParallelListResourceBundle;
3 6 1 done [Z
4 6 2 data [[Ljava/lang/Object;
protected java.lang.Object handleGetObject(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.util.resources.ParallelListResourceBundle.loadLookupTablesIfNecessary:()V
3: aload 0
getfield sun.util.resources.ParallelListResourceBundle.lookup:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/util/resources/ParallelListResourceBundle;
0 4 1 key Ljava/lang/String;
MethodParameters:
Name Flags
key
public java.util.Enumeration<java.lang.String> getKeys();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.util.resources.ParallelListResourceBundle.keySet:()Ljava/util/Set;
invokestatic java.util.Collections.enumeration:(Ljava/util/Collection;)Ljava/util/Enumeration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/util/resources/ParallelListResourceBundle;
Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;
public boolean containsKey(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.util.resources.ParallelListResourceBundle.keySet:()Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/util/resources/ParallelListResourceBundle;
0 1 1 key Ljava/lang/String;
MethodParameters:
Name Flags
key
protected java.util.Set<java.lang.String> handleKeySet();
descriptor: ()Ljava/util/Set;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.util.resources.ParallelListResourceBundle.loadLookupTablesIfNecessary:()V
1: aload 0
getfield sun.util.resources.ParallelListResourceBundle.lookup:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.keySet:()Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/util/resources/ParallelListResourceBundle;
Signature: ()Ljava/util/Set<Ljava/lang/String;>;
public java.util.Set<java.lang.String> keySet();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: goto 9
start local 1 1: StackMap locals: java.util.Set
StackMap stack:
new sun.util.resources.ParallelListResourceBundle$KeySet
dup
aload 0
invokevirtual sun.util.resources.ParallelListResourceBundle.handleKeySet:()Ljava/util/Set;
aload 0
getfield sun.util.resources.ParallelListResourceBundle.parent:Ljava/util/ResourceBundle;
invokespecial sun.util.resources.ParallelListResourceBundle$KeySet.<init>:(Ljava/util/Set;Ljava/util/ResourceBundle;)V
astore 1
2: aload 0
dup
astore 2
monitorenter
3: aload 0
getfield sun.util.resources.ParallelListResourceBundle.keyset:Ljava/util/Set;
ifnonnull 5
4: aload 0
aload 1
putfield sun.util.resources.ParallelListResourceBundle.keyset:Ljava/util/Set;
5: StackMap locals: sun.util.resources.ParallelListResourceBundle
StackMap stack:
aload 2
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 2
monitorexit
8: athrow
end local 1 9: StackMap locals:
StackMap stack:
aload 0
getfield sun.util.resources.ParallelListResourceBundle.keyset:Ljava/util/Set;
dup
astore 1
start local 1 10: ifnull 1
11: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/util/resources/ParallelListResourceBundle;
1 9 1 ks Ljava/util/Set<Ljava/lang/String;>;
10 12 1 ks Ljava/util/Set<Ljava/lang/String;>;
Exception table:
from to target type
3 6 7 any
7 8 7 any
Signature: ()Ljava/util/Set<Ljava/lang/String;>;
synchronized void resetKeySet();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield sun.util.resources.ParallelListResourceBundle.keyset:Ljava/util/Set;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/util/resources/ParallelListResourceBundle;
void loadLookupTablesIfNecessary();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
getfield sun.util.resources.ParallelListResourceBundle.lookup:Ljava/util/concurrent/ConcurrentMap;
astore 1
start local 1 1: aload 1
ifnonnull 8
2: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
astore 1
3: aload 0
invokevirtual sun.util.resources.ParallelListResourceBundle.getContents:()[[Ljava/lang/Object;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 7
StackMap locals: sun.util.resources.ParallelListResourceBundle java.util.concurrent.ConcurrentMap top int int java.lang.Object[][]
StackMap stack:
4: aload 5
iload 3
aaload
astore 2
start local 2 5: aload 1
aload 2
iconst_0
aaload
checkcast java.lang.String
aload 2
iconst_1
aaload
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 2 6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 4
if_icmplt 4
8: StackMap locals: sun.util.resources.ParallelListResourceBundle java.util.concurrent.ConcurrentMap
StackMap stack:
aload 0
getfield sun.util.resources.ParallelListResourceBundle.parallelContents:Ljava/util/concurrent/atomic/AtomicMarkableReference;
invokevirtual java.util.concurrent.atomic.AtomicMarkableReference.getReference:()Ljava/lang/Object;
checkcast java.lang.Object[][]
astore 2
start local 2 9: aload 2
ifnull 16
10: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 14
StackMap locals: sun.util.resources.ParallelListResourceBundle java.util.concurrent.ConcurrentMap java.lang.Object[][] top int int java.lang.Object[][]
StackMap stack:
11: aload 6
iload 4
aaload
astore 3
start local 3 12: aload 1
aload 3
iconst_0
aaload
checkcast java.lang.String
aload 3
iconst_1
aaload
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 13: iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 5
if_icmplt 11
15: aload 0
getfield sun.util.resources.ParallelListResourceBundle.parallelContents:Ljava/util/concurrent/atomic/AtomicMarkableReference;
aconst_null
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicMarkableReference.set:(Ljava/lang/Object;Z)V
16: StackMap locals: sun.util.resources.ParallelListResourceBundle java.util.concurrent.ConcurrentMap java.lang.Object[][]
StackMap stack:
aload 0
getfield sun.util.resources.ParallelListResourceBundle.lookup:Ljava/util/concurrent/ConcurrentMap;
ifnonnull 24
17: aload 0
dup
astore 3
monitorenter
18: aload 0
getfield sun.util.resources.ParallelListResourceBundle.lookup:Ljava/util/concurrent/ConcurrentMap;
ifnonnull 20
19: aload 0
aload 1
putfield sun.util.resources.ParallelListResourceBundle.lookup:Ljava/util/concurrent/ConcurrentMap;
20: StackMap locals: sun.util.resources.ParallelListResourceBundle
StackMap stack:
aload 3
monitorexit
21: goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
22: aload 3
monitorexit
23: athrow
24: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/util/resources/ParallelListResourceBundle;
1 25 1 map Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Ljava/lang/Object;>;
5 6 2 item [Ljava/lang/Object;
9 25 2 data [[Ljava/lang/Object;
12 13 3 item [Ljava/lang/Object;
Exception table:
from to target type
18 21 22 any
22 23 22 any
}
SourceFile: "ParallelListResourceBundle.java"
NestMembers:
sun.util.resources.ParallelListResourceBundle$KeySet sun.util.resources.ParallelListResourceBundle$KeySet$1
InnerClasses:
private KeySet = sun.util.resources.ParallelListResourceBundle$KeySet of sun.util.resources.ParallelListResourceBundle