public abstract class java.util.spi.AbstractResourceBundleProvider implements java.util.spi.ResourceBundleProvider
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: java.util.spi.AbstractResourceBundleProvider
super_class: java.lang.Object
{
private static final jdk.internal.misc.JavaUtilResourceBundleAccess RB_ACCESS;
descriptor: Ljdk/internal/misc/JavaUtilResourceBundleAccess;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String FORMAT_CLASS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java.class"
private static final java.lang.String FORMAT_PROPERTIES;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java.properties"
private final java.lang.String[] formats;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic jdk.internal.misc.SharedSecrets.getJavaUtilResourceBundleAccess:()Ljdk/internal/misc/JavaUtilResourceBundleAccess;
1: putstatic java.util.spi.AbstractResourceBundleProvider.RB_ACCESS:Ljdk/internal/misc/JavaUtilResourceBundleAccess;
2: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "java.properties"
aastore
invokespecial java.util.spi.AbstractResourceBundleProvider.<init>:([Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/spi/AbstractResourceBundleProvider;
protected void <init>(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
checkcast java.lang.String[]
putfield java.util.spi.AbstractResourceBundleProvider.formats:[Ljava/lang/String;
2: aload 0
getfield java.util.spi.AbstractResourceBundleProvider.formats:[Ljava/lang/String;
arraylength
ifne 4
3: new java.lang.IllegalArgumentException
dup
ldc "empty formats"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.util.spi.AbstractResourceBundleProvider java.lang.String[]
StackMap stack:
aload 0
getfield java.util.spi.AbstractResourceBundleProvider.formats:[Ljava/lang/String;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 9
StackMap locals: java.util.spi.AbstractResourceBundleProvider java.lang.String[] top int int java.lang.String[]
StackMap stack:
5: aload 5
iload 3
aaload
astore 2
start local 2 6: ldc "java.class"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
ldc "java.properties"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
7: new java.lang.IllegalArgumentException
dup
aload 2
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 2 8: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
iload 4
if_icmplt 5
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/util/spi/AbstractResourceBundleProvider;
0 11 1 formats [Ljava/lang/String;
6 8 2 f Ljava/lang/String;
MethodParameters:
Name Flags
formats
protected java.lang.String toBundleName(java.lang.String, java.util.Locale);
descriptor: (Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.util.ResourceBundle$Control.FORMAT_DEFAULT:Ljava/util/List;
invokestatic java.util.ResourceBundle$Control.getControl:(Ljava/util/List;)Ljava/util/ResourceBundle$Control;
1: aload 1
aload 2
invokevirtual java.util.ResourceBundle$Control.toBundleName:(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
2: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/spi/AbstractResourceBundleProvider;
0 3 1 baseName Ljava/lang/String;
0 3 2 locale Ljava/util/Locale;
MethodParameters:
Name Flags
baseName
locale
public java.util.ResourceBundle getBundle(java.lang.String, java.util.Locale);
descriptor: (Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getModule:()Ljava/lang/Module;
astore 3
start local 3 1: aload 0
aload 1
aload 2
invokevirtual java.util.spi.AbstractResourceBundleProvider.toBundleName:(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: aload 0
getfield java.util.spi.AbstractResourceBundleProvider.formats:[Ljava/lang/String;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 15
StackMap locals: java.util.spi.AbstractResourceBundleProvider java.lang.String java.util.Locale java.lang.Module java.lang.String java.util.ResourceBundle top int int java.lang.String[]
StackMap stack:
4: aload 9
iload 7
aaload
astore 6
start local 6 5: ldc "java.class"
aload 6
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 3
aload 4
invokestatic java.util.spi.AbstractResourceBundleProvider.loadResourceBundle:(Ljava/lang/Module;Ljava/lang/String;)Ljava/util/ResourceBundle;
astore 5
7: goto 10
StackMap locals: java.util.spi.AbstractResourceBundleProvider java.lang.String java.util.Locale java.lang.Module java.lang.String java.util.ResourceBundle java.lang.String int int java.lang.String[]
StackMap stack:
8: ldc "java.properties"
aload 6
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
9: aload 3
aload 4
invokestatic java.util.spi.AbstractResourceBundleProvider.loadPropertyResourceBundle:(Ljava/lang/Module;Ljava/lang/String;)Ljava/util/ResourceBundle;
astore 5
10: StackMap locals:
StackMap stack:
aload 5
ifnull 14
11: goto 16
12: StackMap locals:
StackMap stack: java.io.IOException
astore 10
start local 10 13: new java.io.UncheckedIOException
dup
aload 10
invokespecial java.io.UncheckedIOException.<init>:(Ljava/io/IOException;)V
athrow
end local 10 end local 6 14: StackMap locals: java.util.spi.AbstractResourceBundleProvider java.lang.String java.util.Locale java.lang.Module java.lang.String java.util.ResourceBundle top int int java.lang.String[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
15: iload 7
iload 8
if_icmplt 4
16: StackMap locals: java.util.spi.AbstractResourceBundleProvider java.lang.String java.util.Locale java.lang.Module java.lang.String java.util.ResourceBundle
StackMap stack:
aload 5
areturn
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 17 0 this Ljava/util/spi/AbstractResourceBundleProvider;
0 17 1 baseName Ljava/lang/String;
0 17 2 locale Ljava/util/Locale;
1 17 3 module Ljava/lang/Module;
2 17 4 bundleName Ljava/lang/String;
3 17 5 bundle Ljava/util/ResourceBundle;
5 14 6 format Ljava/lang/String;
13 14 10 e Ljava/io/IOException;
Exception table:
from to target type
5 11 12 Class java.io.IOException
MethodParameters:
Name Flags
baseName
locale
private static java.util.ResourceBundle loadResourceBundle(java.lang.Module, java.lang.String);
descriptor: (Ljava/lang/Module;Ljava/lang/String;)Ljava/util/ResourceBundle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokedynamic run(Ljava/lang/Module;Ljava/lang/String;)Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
java/util/spi/AbstractResourceBundleProvider.lambda$0(Ljava/lang/Module;Ljava/lang/String;)Ljava/lang/Class; (6)
()Ljava/lang/Class;
astore 2
start local 2 1: aload 2
aconst_null
iconst_1
anewarray java.security.Permission
dup
iconst_0
getstatic sun.security.util.SecurityConstants.GET_CLASSLOADER_PERMISSION:Ljava/lang/RuntimePermission;
aastore
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;[Ljava/security/Permission;)Ljava/lang/Object;
checkcast java.lang.Class
astore 3
start local 3 2: aload 3
ifnull 5
ldc Ljava/util/ResourceBundle;
aload 3
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 5
3: aload 3
astore 4
start local 4 4: getstatic java.util.spi.AbstractResourceBundleProvider.RB_ACCESS:Ljdk/internal/misc/JavaUtilResourceBundleAccess;
aload 4
invokeinterface jdk.internal.misc.JavaUtilResourceBundleAccess.newResourceBundle:(Ljava/lang/Class;)Ljava/util/ResourceBundle;
areturn
end local 4 5: StackMap locals: java.security.PrivilegedAction java.lang.Class
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 module Ljava/lang/Module;
0 6 1 bundleName Ljava/lang/String;
1 6 2 pa Ljava/security/PrivilegedAction<Ljava/lang/Class<*>;>;
2 6 3 c Ljava/lang/Class<*>;
4 5 4 bundleClass Ljava/lang/Class<Ljava/util/ResourceBundle;>;
MethodParameters:
Name Flags
module
bundleName
private static java.util.ResourceBundle loadPropertyResourceBundle(java.lang.Module, java.lang.String);
descriptor: (Ljava/lang/Module;Ljava/lang/String;)Ljava/util/ResourceBundle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ldc "properties"
invokestatic java.util.spi.AbstractResourceBundleProvider.toResourceName:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 2
invokedynamic run(Ljava/lang/Module;Ljava/lang/String;)Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
java/util/spi/AbstractResourceBundleProvider.lambda$1(Ljava/lang/Module;Ljava/lang/String;)Ljava/io/InputStream; (6)
()Ljava/io/InputStream;
astore 3
start local 3 4: aconst_null
astore 4
aconst_null
astore 5
5: aload 3
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.io.InputStream
astore 6
start local 6 6: aload 6
ifnull 10
7: new java.util.PropertyResourceBundle
dup
aload 6
invokespecial java.util.PropertyResourceBundle.<init>:(Ljava/io/InputStream;)V
8: aload 6
ifnull 9
aload 6
invokevirtual java.io.InputStream.close:()V
9: StackMap locals: java.lang.Module java.lang.String java.lang.String java.security.PrivilegedAction java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.util.PropertyResourceBundle
areturn
10: StackMap locals:
StackMap stack:
aload 6
ifnull 11
aload 6
invokevirtual java.io.InputStream.close:()V
11: StackMap locals:
StackMap stack:
aconst_null
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 4
13: aload 6
ifnull 14
aload 6
invokevirtual java.io.InputStream.close:()V
end local 6 StackMap locals:
StackMap stack:
14: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 5
aload 4
ifnonnull 16
aload 5
astore 4
goto 17
StackMap locals:
StackMap stack:
16: aload 4
aload 5
if_acmpeq 17
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 4
athrow
StackMap locals: java.lang.Module java.lang.String java.lang.String java.security.PrivilegedAction
StackMap stack: java.io.UncheckedIOException
18: astore 4
start local 4 19: aload 4
invokevirtual java.io.UncheckedIOException.getCause:()Ljava/io/IOException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 module Ljava/lang/Module;
0 20 1 bundleName Ljava/lang/String;
1 20 2 resourceName Ljava/lang/String;
4 20 3 pa Ljava/security/PrivilegedAction<Ljava/io/InputStream;>;
6 14 6 stream Ljava/io/InputStream;
19 20 4 e Ljava/io/UncheckedIOException;
Exception table:
from to target type
6 8 12 any
5 9 15 any
10 11 15 any
12 15 15 any
4 9 18 Class java.io.UncheckedIOException
10 11 18 Class java.io.UncheckedIOException
12 18 18 Class java.io.UncheckedIOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
module
bundleName
private static java.lang.String toResourceName(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ldc "://"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
iadd
aload 1
invokevirtual java.lang.String.length:()I
iadd
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 2
start local 2 3: aload 2
aload 0
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 bundleName Ljava/lang/String;
0 5 1 suffix Ljava/lang/String;
3 5 2 sb Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
bundleName
suffix
private static java.lang.Class lambda$0(java.lang.Module, java.lang.String);
descriptor: (Ljava/lang/Module;Ljava/lang/String;)Ljava/lang/Class;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokestatic java.lang.Class.forName:(Ljava/lang/Module;Ljava/lang/String;)Ljava/lang/Class;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.io.InputStream lambda$1(java.lang.Module, java.lang.String);
descriptor: (Ljava/lang/Module;Ljava/lang/String;)Ljava/io/InputStream;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=2
0: aload 0
aload 1
invokevirtual java.lang.Module.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
1: areturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 3: new java.io.UncheckedIOException
dup
aload 2
invokespecial java.io.UncheckedIOException.<init>:(Ljava/io/IOException;)V
athrow
end local 2 LocalVariableTable:
Start End Slot Name Signature
3 4 2 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
}
SourceFile: "AbstractResourceBundleProvider.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Control = java.util.ResourceBundle$Control of java.util.ResourceBundle