final class java.util.ResourceBundle$CacheKey
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.util.ResourceBundle$CacheKey
super_class: java.lang.Object
{
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile java.util.Locale locale;
descriptor: Ljava/util/Locale;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.ResourceBundle$KeyElementReference<java.lang.Module> moduleRef;
descriptor: Ljava/util/ResourceBundle$KeyElementReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ResourceBundle$KeyElementReference<Ljava/lang/Module;>;
private final java.util.ResourceBundle$KeyElementReference<java.lang.Module> callerRef;
descriptor: Ljava/util/ResourceBundle$KeyElementReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ResourceBundle$KeyElementReference<Ljava/lang/Module;>;
private final int modulesHash;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile java.lang.String format;
descriptor: Ljava/lang/String;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile long loadTime;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile long expirationTime;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.lang.Throwable cause;
descriptor: Ljava/lang/Throwable;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.util.ServiceLoader<java.util.spi.ResourceBundleProvider> providers;
descriptor: Ljava/util/ServiceLoader;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/ServiceLoader<Ljava/util/spi/ResourceBundleProvider;>;
private volatile boolean providersChecked;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.lang.Boolean callerHasProvider;
descriptor: Ljava/lang/Boolean;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
void <init>(java.lang.String, java.util.Locale, java.lang.Module, java.lang.Module);
descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Module;Ljava/lang/Module;)V
flags: (0x0000)
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 3
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 4
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 0
aload 1
putfield java.util.ResourceBundle$CacheKey.name:Ljava/lang/String;
4: aload 0
aload 2
putfield java.util.ResourceBundle$CacheKey.locale:Ljava/util/Locale;
5: aload 0
new java.util.ResourceBundle$KeyElementReference
dup
aload 3
getstatic java.util.ResourceBundle.referenceQueue:Ljava/lang/ref/ReferenceQueue;
aload 0
invokespecial java.util.ResourceBundle$KeyElementReference.<init>:(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;Ljava/util/ResourceBundle$CacheKey;)V
putfield java.util.ResourceBundle$CacheKey.moduleRef:Ljava/util/ResourceBundle$KeyElementReference;
6: aload 0
new java.util.ResourceBundle$KeyElementReference
dup
aload 4
getstatic java.util.ResourceBundle.referenceQueue:Ljava/lang/ref/ReferenceQueue;
aload 0
invokespecial java.util.ResourceBundle$KeyElementReference.<init>:(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;Ljava/util/ResourceBundle$CacheKey;)V
putfield java.util.ResourceBundle$CacheKey.callerRef:Ljava/util/ResourceBundle$KeyElementReference;
7: aload 0
aload 3
invokevirtual java.lang.Object.hashCode:()I
aload 4
invokevirtual java.lang.Object.hashCode:()I
ixor
putfield java.util.ResourceBundle$CacheKey.modulesHash:I
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/util/ResourceBundle$CacheKey;
0 9 1 baseName Ljava/lang/String;
0 9 2 locale Ljava/util/Locale;
0 9 3 module Ljava/lang/Module;
0 9 4 caller Ljava/lang/Module;
MethodParameters:
Name Flags
baseName
locale
module
caller
void <init>(java.util.ResourceBundle$CacheKey);
descriptor: (Ljava/util/ResourceBundle$CacheKey;)V
flags: (0x0000)
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ResourceBundle$KeyElementReference
dup
2: aload 1
invokevirtual java.util.ResourceBundle$CacheKey.getModule:()Ljava/lang/Module;
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Module
getstatic java.util.ResourceBundle.referenceQueue:Ljava/lang/ref/ReferenceQueue;
aload 0
invokespecial java.util.ResourceBundle$KeyElementReference.<init>:(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;Ljava/util/ResourceBundle$CacheKey;)V
3: putfield java.util.ResourceBundle$CacheKey.moduleRef:Ljava/util/ResourceBundle$KeyElementReference;
4: aload 0
new java.util.ResourceBundle$KeyElementReference
dup
5: aload 1
invokevirtual java.util.ResourceBundle$CacheKey.getCallerModule:()Ljava/lang/Module;
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Module
getstatic java.util.ResourceBundle.referenceQueue:Ljava/lang/ref/ReferenceQueue;
aload 0
invokespecial java.util.ResourceBundle$KeyElementReference.<init>:(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;Ljava/util/ResourceBundle$CacheKey;)V
6: putfield java.util.ResourceBundle$CacheKey.callerRef:Ljava/util/ResourceBundle$KeyElementReference;
7: aload 0
aload 1
getfield java.util.ResourceBundle$CacheKey.name:Ljava/lang/String;
putfield java.util.ResourceBundle$CacheKey.name:Ljava/lang/String;
8: aload 0
aload 1
getfield java.util.ResourceBundle$CacheKey.locale:Ljava/util/Locale;
putfield java.util.ResourceBundle$CacheKey.locale:Ljava/util/Locale;
9: aload 0
aload 1
getfield java.util.ResourceBundle$CacheKey.modulesHash:I
putfield java.util.ResourceBundle$CacheKey.modulesHash:I
10: aload 0
aload 1
getfield java.util.ResourceBundle$CacheKey.format:Ljava/lang/String;
putfield java.util.ResourceBundle$CacheKey.format:Ljava/lang/String;
11: aload 0
aload 1
getfield java.util.ResourceBundle$CacheKey.loadTime:J
putfield java.util.ResourceBundle$CacheKey.loadTime:J
12: aload 0
aload 1
getfield java.util.ResourceBundle$CacheKey.expirationTime:J
putfield java.util.ResourceBundle$CacheKey.expirationTime:J
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/util/ResourceBundle$CacheKey;
0 14 1 src Ljava/util/ResourceBundle$CacheKey;
MethodParameters:
Name Flags
src
java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.ResourceBundle$CacheKey.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/ResourceBundle$CacheKey;
java.util.Locale getLocale();
descriptor: ()Ljava/util/Locale;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.ResourceBundle$CacheKey.locale:Ljava/util/Locale;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/ResourceBundle$CacheKey;
java.util.ResourceBundle$CacheKey setLocale(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/util/ResourceBundle$CacheKey;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield java.util.ResourceBundle$CacheKey.locale:Ljava/util/Locale;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/ResourceBundle$CacheKey;
0 2 1 locale Ljava/util/Locale;
MethodParameters:
Name Flags
locale
java.lang.Module getModule();
descriptor: ()Ljava/lang/Module;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.ResourceBundle$CacheKey.moduleRef:Ljava/util/ResourceBundle$KeyElementReference;
invokevirtual java.util.ResourceBundle$KeyElementReference.get:()Ljava/lang/Object;
checkcast java.lang.Module
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/ResourceBundle$CacheKey;
java.lang.Module getCallerModule();
descriptor: ()Ljava/lang/Module;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.ResourceBundle$CacheKey.callerRef:Ljava/util/ResourceBundle$KeyElementReference;
invokevirtual java.util.ResourceBundle$KeyElementReference.get:()Ljava/lang/Object;
checkcast java.lang.Module
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/ResourceBundle$CacheKey;
java.util.ServiceLoader<java.util.spi.ResourceBundleProvider> getProviders();
descriptor: ()Ljava/util/ServiceLoader;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.ResourceBundle$CacheKey.providersChecked:Z
ifne 3
1: aload 0
aload 0
invokevirtual java.util.ResourceBundle$CacheKey.getModule:()Ljava/lang/Module;
aload 0
getfield java.util.ResourceBundle$CacheKey.name:Ljava/lang/String;
invokestatic java.util.ResourceBundle.getServiceLoader:(Ljava/lang/Module;Ljava/lang/String;)Ljava/util/ServiceLoader;
putfield java.util.ResourceBundle$CacheKey.providers:Ljava/util/ServiceLoader;
2: aload 0
iconst_1
putfield java.util.ResourceBundle$CacheKey.providersChecked:Z
3: StackMap locals:
StackMap stack:
aload 0
getfield java.util.ResourceBundle$CacheKey.providers:Ljava/util/ServiceLoader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/ResourceBundle$CacheKey;
Signature: ()Ljava/util/ServiceLoader<Ljava/util/spi/ResourceBundleProvider;>;
boolean hasProviders();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.ResourceBundle$CacheKey.getProviders:()Ljava/util/ServiceLoader;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/ResourceBundle$CacheKey;
boolean callerHasProvider();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.ResourceBundle$CacheKey.callerHasProvider:Ljava/lang/Boolean;
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/ResourceBundle$CacheKey;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, 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
checkcast java.util.ResourceBundle$CacheKey
astore 2
start local 2 3: aload 0
getfield java.util.ResourceBundle$CacheKey.modulesHash:I
aload 2
getfield java.util.ResourceBundle$CacheKey.modulesHash:I
if_icmpeq 5
4: iconst_0
ireturn
5: StackMap locals: java.util.ResourceBundle$CacheKey
StackMap stack:
aload 0
getfield java.util.ResourceBundle$CacheKey.name:Ljava/lang/String;
aload 2
getfield java.util.ResourceBundle$CacheKey.name:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 0
getfield java.util.ResourceBundle$CacheKey.locale:Ljava/util/Locale;
aload 2
getfield java.util.ResourceBundle$CacheKey.locale:Ljava/util/Locale;
invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
ifne 9
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.ResourceBundle$CacheKey.getModule:()Ljava/lang/Module;
astore 3
start local 3 10: aload 0
invokevirtual java.util.ResourceBundle$CacheKey.getCallerModule:()Ljava/lang/Module;
astore 4
start local 4 11: aload 3
ifnull 14
aload 3
aload 2
invokevirtual java.util.ResourceBundle$CacheKey.getModule:()Ljava/lang/Module;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
12: aload 4
ifnull 14
aload 4
aload 2
invokevirtual java.util.ResourceBundle$CacheKey.getCallerModule:()Ljava/lang/Module;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
13: iconst_1
ireturn
StackMap locals: java.lang.Module java.lang.Module
StackMap stack:
14: iconst_0
15: ireturn
end local 4 end local 3 end local 2 16: StackMap locals: java.util.ResourceBundle$CacheKey java.lang.Object
StackMap stack: java.lang.RuntimeException
pop
17: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljava/util/ResourceBundle$CacheKey;
0 18 1 other Ljava/lang/Object;
3 16 2 otherEntry Ljava/util/ResourceBundle$CacheKey;
10 16 3 module Ljava/lang/Module;
11 16 4 caller Ljava/lang/Module;
Exception table:
from to target type
2 4 16 Class java.lang.NullPointerException
5 6 16 Class java.lang.NullPointerException
7 8 16 Class java.lang.NullPointerException
9 15 16 Class java.lang.NullPointerException
2 4 16 Class java.lang.ClassCastException
5 6 16 Class java.lang.ClassCastException
7 8 16 Class java.lang.ClassCastException
9 15 16 Class java.lang.ClassCastException
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.ResourceBundle$CacheKey.name:Ljava/lang/String;
invokevirtual java.lang.String.hashCode:()I
iconst_3
ishl
aload 0
getfield java.util.ResourceBundle$CacheKey.locale:Ljava/util/Locale;
invokevirtual java.util.Locale.hashCode:()I
ixor
aload 0
getfield java.util.ResourceBundle$CacheKey.modulesHash:I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/ResourceBundle$CacheKey;
java.lang.String getFormat();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.ResourceBundle$CacheKey.format:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/ResourceBundle$CacheKey;
void setFormat(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield java.util.ResourceBundle$CacheKey.format:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/ResourceBundle$CacheKey;
0 2 1 format Ljava/lang/String;
MethodParameters:
Name Flags
format
private void setCause(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.ResourceBundle$CacheKey.cause:Ljava/lang/Throwable;
ifnonnull 3
1: aload 0
aload 1
putfield java.util.ResourceBundle$CacheKey.cause:Ljava/lang/Throwable;
2: goto 5
3: StackMap locals:
StackMap stack:
aload 0
getfield java.util.ResourceBundle$CacheKey.cause:Ljava/lang/Throwable;
instanceof java.lang.ClassNotFoundException
ifeq 5
4: aload 0
aload 1
putfield java.util.ResourceBundle$CacheKey.cause:Ljava/lang/Throwable;
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/ResourceBundle$CacheKey;
0 6 1 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
cause
private java.lang.Throwable getCause();
descriptor: ()Ljava/lang/Throwable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.ResourceBundle$CacheKey.cause:Ljava/lang/Throwable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/ResourceBundle$CacheKey;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield java.util.ResourceBundle$CacheKey.locale:Ljava/util/Locale;
invokevirtual java.util.Locale.toString:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
invokevirtual java.lang.String.length:()I
ifne 6
2: aload 0
getfield java.util.ResourceBundle$CacheKey.locale:Ljava/util/Locale;
invokevirtual java.util.Locale.getVariant:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifeq 5
3: new java.lang.StringBuilder
dup
ldc "__"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.util.ResourceBundle$CacheKey.locale:Ljava/util/Locale;
invokevirtual java.util.Locale.getVariant:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
4: goto 6
5: StackMap locals: java.lang.String
StackMap stack:
ldc "\"\""
astore 1
6: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "CacheKey["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.util.ResourceBundle$CacheKey.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc ", locale="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc ", module="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.util.ResourceBundle$CacheKey.getModule:()Ljava/lang/Module;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9: ldc ", callerModule="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.util.ResourceBundle$CacheKey.getCallerModule:()Ljava/lang/Module;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
10: ldc ", format="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.util.ResourceBundle$CacheKey.format:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/util/ResourceBundle$CacheKey;
1 13 1 l Ljava/lang/String;
}
SourceFile: "ResourceBundle.java"
NestHost: java.util.ResourceBundle
InnerClasses:
private final CacheKey = java.util.ResourceBundle$CacheKey of java.util.ResourceBundle
private KeyElementReference = java.util.ResourceBundle$KeyElementReference of java.util.ResourceBundle