public class io.smallrye.config.SmallRyeConfigProviderResolver extends org.eclipse.microprofile.config.spi.ConfigProviderResolver
{
private final java.util.Map configsForClassLoader;
static final java.lang.ClassLoader SYSTEM_CL;
public void <init>()
{
java.util.concurrent.ConcurrentHashMap v;
io.smallrye.config.SmallRyeConfigProviderResolver v;
v := @this: io.smallrye.config.SmallRyeConfigProviderResolver;
specialinvoke v.<org.eclipse.microprofile.config.spi.ConfigProviderResolver: void <init>()>();
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<io.smallrye.config.SmallRyeConfigProviderResolver: java.util.Map configsForClassLoader> = v;
return;
}
public static java.lang.ClassLoader calculateSystemClassLoader()
{
java.lang.ClassLoader v;
io.smallrye.config.SmallRyeConfigProviderResolver$1 v;
v = staticinvoke <java.lang.ClassLoader: java.lang.ClassLoader getSystemClassLoader()>();
if v != null goto label;
v = new io.smallrye.config.SmallRyeConfigProviderResolver$1;
specialinvoke v.<io.smallrye.config.SmallRyeConfigProviderResolver$1: void <init>(java.lang.ClassLoader)>(null);
v = v;
label:
return v;
}
public org.eclipse.microprofile.config.Config getConfig()
{
java.lang.ClassLoader v;
org.eclipse.microprofile.config.Config v;
io.smallrye.config.SmallRyeConfigProviderResolver v;
v := @this: io.smallrye.config.SmallRyeConfigProviderResolver;
v = staticinvoke <io.smallrye.config.SecuritySupport: java.lang.ClassLoader getContextClassLoader()>();
v = virtualinvoke v.<io.smallrye.config.SmallRyeConfigProviderResolver: org.eclipse.microprofile.config.Config getConfig(java.lang.ClassLoader)>(v);
return v;
}
public org.eclipse.microprofile.config.Config getConfig(java.lang.ClassLoader)
{
java.lang.Throwable v;
java.lang.IllegalStateException v;
io.smallrye.config.SmallRyeConfigFactory v;
io.smallrye.config.ConfigMessages v;
io.smallrye.config.SmallRyeConfigProviderResolver v;
java.util.Map v;
java.lang.Object v;
java.lang.ClassLoader v, v;
v := @this: io.smallrye.config.SmallRyeConfigProviderResolver;
v := @parameter: java.lang.ClassLoader;
v = staticinvoke <io.smallrye.config.SmallRyeConfigProviderResolver: java.lang.ClassLoader getRealClassLoader(java.lang.ClassLoader)>(v);
v = v.<io.smallrye.config.SmallRyeConfigProviderResolver: java.util.Map configsForClassLoader>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
entermonitor v;
label:
interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<io.smallrye.config.SmallRyeConfigProviderResolver: io.smallrye.config.SmallRyeConfigFactory getFactoryFor(java.lang.ClassLoader,boolean)>(v, 0);
v = virtualinvoke v.<io.smallrye.config.SmallRyeConfigFactory: io.smallrye.config.SmallRyeConfig getConfigFor(io.smallrye.config.SmallRyeConfigProviderResolver,java.lang.ClassLoader)>(v, v);
if v != null goto label;
v = <io.smallrye.config.ConfigMessages: io.smallrye.config.ConfigMessages msg>;
v = interfaceinvoke v.<io.smallrye.config.ConfigMessages: java.lang.IllegalStateException noConfigForClassloader()>();
throw v;
label:
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
io.smallrye.config.SmallRyeConfigFactory getFactoryFor(java.lang.ClassLoader, boolean)
{
java.util.Iterator v;
java.util.ServiceLoader v;
io.smallrye.config.SmallRyeConfigProviderResolver$2 v;
java.lang.SecurityManager v;
io.smallrye.config.SmallRyeConfigProviderResolver v;
java.lang.Object v, v;
java.lang.ClassLoader v;
boolean v, v;
v := @this: io.smallrye.config.SmallRyeConfigProviderResolver;
v := @parameter: java.lang.ClassLoader;
v := @parameter: boolean;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
if v != 0 goto label;
v = new io.smallrye.config.SmallRyeConfigProviderResolver$2;
specialinvoke v.<io.smallrye.config.SmallRyeConfigProviderResolver$2: void <init>(io.smallrye.config.SmallRyeConfigProviderResolver,java.lang.ClassLoader)>(v, v);
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
return v;
label:
v = staticinvoke <java.util.ServiceLoader: java.util.ServiceLoader load(java.lang.Class,java.lang.ClassLoader)>(class "Lio/smallrye/config/SmallRyeConfigFactory;", v);
v = virtualinvoke v.<java.util.ServiceLoader: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
goto label;
label:
v = <io.smallrye.config.SmallRyeConfigFactory$Default: io.smallrye.config.SmallRyeConfigFactory$Default INSTANCE>;
label:
return v;
}
public io.smallrye.config.SmallRyeConfigBuilder getBuilder()
{
io.smallrye.config.SmallRyeConfigProviderResolver v;
io.smallrye.config.SmallRyeConfigBuilder v, v;
v := @this: io.smallrye.config.SmallRyeConfigProviderResolver;
v = new io.smallrye.config.SmallRyeConfigBuilder;
specialinvoke v.<io.smallrye.config.SmallRyeConfigBuilder: void <init>()>();
v = virtualinvoke v.<io.smallrye.config.SmallRyeConfigBuilder: io.smallrye.config.SmallRyeConfigBuilder addDefaultInterceptors()>();
return v;
}
public void registerConfig(org.eclipse.microprofile.config.Config, java.lang.ClassLoader)
{
java.lang.Throwable v;
java.lang.IllegalStateException v;
org.eclipse.microprofile.config.Config v;
java.lang.IllegalArgumentException v;
io.smallrye.config.ConfigMessages v, v;
io.smallrye.config.SmallRyeConfigProviderResolver v;
java.util.Map v;
java.lang.Object v;
java.lang.ClassLoader v, v;
v := @this: io.smallrye.config.SmallRyeConfigProviderResolver;
v := @parameter: org.eclipse.microprofile.config.Config;
v := @parameter: java.lang.ClassLoader;
if v != null goto label;
v = <io.smallrye.config.ConfigMessages: io.smallrye.config.ConfigMessages msg>;
v = interfaceinvoke v.<io.smallrye.config.ConfigMessages: java.lang.IllegalArgumentException configIsNull()>();
throw v;
label:
v = staticinvoke <io.smallrye.config.SmallRyeConfigProviderResolver: java.lang.ClassLoader getRealClassLoader(java.lang.ClassLoader)>(v);
v = v.<io.smallrye.config.SmallRyeConfigProviderResolver: java.util.Map configsForClassLoader>;
entermonitor v;
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
if v == null goto label;
v = <io.smallrye.config.ConfigMessages: io.smallrye.config.ConfigMessages msg>;
v = interfaceinvoke v.<io.smallrye.config.ConfigMessages: java.lang.IllegalStateException configAlreadyRegistered()>();
throw v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void releaseConfig(org.eclipse.microprofile.config.Config)
{
java.lang.Throwable v;
io.smallrye.config.SmallRyeConfigProviderResolver v;
java.util.function.Predicate v;
java.util.Collection v;
java.util.Map v;
org.eclipse.microprofile.config.Config v;
v := @this: io.smallrye.config.SmallRyeConfigProviderResolver;
v := @parameter: org.eclipse.microprofile.config.Config;
v = v.<io.smallrye.config.SmallRyeConfigProviderResolver: java.util.Map configsForClassLoader>;
entermonitor v;
label:
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = staticinvoke <io.smallrye.config.SmallRyeConfigProviderResolver$lambda_releaseConfig_0__3145: java.util.function.Predicate bootstrap$(org.eclipse.microprofile.config.Config)>(v);
interfaceinvoke v.<java.util.Collection: boolean removeIf(java.util.function.Predicate)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void releaseConfig(java.lang.ClassLoader)
{
java.lang.Throwable v;
io.smallrye.config.SmallRyeConfigProviderResolver v;
java.util.Map v;
java.lang.ClassLoader v, v;
v := @this: io.smallrye.config.SmallRyeConfigProviderResolver;
v := @parameter: java.lang.ClassLoader;
v = staticinvoke <io.smallrye.config.SmallRyeConfigProviderResolver: java.lang.ClassLoader getRealClassLoader(java.lang.ClassLoader)>(v);
v = v.<io.smallrye.config.SmallRyeConfigProviderResolver: java.util.Map configsForClassLoader>;
entermonitor v;
label:
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
static java.lang.ClassLoader getRealClassLoader(java.lang.ClassLoader)
{
java.lang.ClassLoader v;
v := @parameter: java.lang.ClassLoader;
if v != null goto label;
v = staticinvoke <io.smallrye.config.SecuritySupport: java.lang.ClassLoader getContextClassLoader()>();
if v != null goto label;
v = <io.smallrye.config.SmallRyeConfigProviderResolver: java.lang.ClassLoader SYSTEM_CL>;
label:
return v;
}
static void <clinit>()
{
java.lang.Object v;
java.lang.ClassLoader v;
java.security.PrivilegedAction v;
java.lang.SecurityManager v;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = staticinvoke <io.smallrye.config.SmallRyeConfigProviderResolver$calculateSystemClassLoader__3146: java.security.PrivilegedAction bootstrap$()>();
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
<io.smallrye.config.SmallRyeConfigProviderResolver: java.lang.ClassLoader SYSTEM_CL> = v;
goto label;
label:
v = staticinvoke <io.smallrye.config.SmallRyeConfigProviderResolver: java.lang.ClassLoader calculateSystemClassLoader()>();
<io.smallrye.config.SmallRyeConfigProviderResolver: java.lang.ClassLoader SYSTEM_CL> = v;
label:
return;
}
}