public final class io.quarkus.arc.Arc extends java.lang.Object
{
private static final java.util.concurrent.atomic.AtomicReference INSTANCE;
public void <init>()
{
io.quarkus.arc.Arc v;
v := @this: io.quarkus.arc.Arc;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static io.quarkus.arc.ArcContainer initialize()
{
io.quarkus.arc.ArcContainer v;
io.quarkus.arc.ArcInitConfig v;
v = <io.quarkus.arc.ArcInitConfig: io.quarkus.arc.ArcInitConfig DEFAULT>;
v = staticinvoke <io.quarkus.arc.Arc: io.quarkus.arc.ArcContainer initialize(io.quarkus.arc.ArcInitConfig)>(v);
return v;
}
public static io.quarkus.arc.ArcContainer initialize(io.quarkus.arc.CurrentContextFactory)
{
io.quarkus.arc.CurrentContextFactory v;
io.quarkus.arc.ArcInitConfig$Builder v, v;
io.quarkus.arc.ArcContainer v;
io.quarkus.arc.ArcInitConfig v;
v := @parameter: io.quarkus.arc.CurrentContextFactory;
v = staticinvoke <io.quarkus.arc.ArcInitConfig: io.quarkus.arc.ArcInitConfig$Builder builder()>();
v = virtualinvoke v.<io.quarkus.arc.ArcInitConfig$Builder: io.quarkus.arc.ArcInitConfig$Builder setCurrentContextFactory(io.quarkus.arc.CurrentContextFactory)>(v);
v = virtualinvoke v.<io.quarkus.arc.ArcInitConfig$Builder: io.quarkus.arc.ArcInitConfig build()>();
v = staticinvoke <io.quarkus.arc.Arc: io.quarkus.arc.ArcContainer initialize(io.quarkus.arc.ArcInitConfig)>(v);
return v;
}
public static io.quarkus.arc.ArcContainer initialize(io.quarkus.arc.ArcInitConfig)
{
java.lang.Throwable v;
io.quarkus.arc.CurrentContextFactory v;
io.quarkus.arc.impl.ArcContainerImpl v;
java.util.concurrent.atomic.AtomicReference v, v, v, v;
java.lang.Object v;
boolean v;
io.quarkus.arc.ArcInitConfig v;
v := @parameter: io.quarkus.arc.ArcInitConfig;
v = <io.quarkus.arc.Arc: java.util.concurrent.atomic.AtomicReference INSTANCE>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v != null goto label;
v = <io.quarkus.arc.Arc: java.util.concurrent.atomic.AtomicReference INSTANCE>;
entermonitor v;
label:
v = <io.quarkus.arc.Arc: java.util.concurrent.atomic.AtomicReference INSTANCE>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = new io.quarkus.arc.impl.ArcContainerImpl;
v = virtualinvoke v.<io.quarkus.arc.ArcInitConfig: io.quarkus.arc.CurrentContextFactory getCurrentContextFactory()>();
v = virtualinvoke v.<io.quarkus.arc.ArcInitConfig: boolean isStrictCompatibility()>();
specialinvoke v.<io.quarkus.arc.impl.ArcContainerImpl: void <init>(io.quarkus.arc.CurrentContextFactory,boolean)>(v, v);
v = v;
v = <io.quarkus.arc.Arc: java.util.concurrent.atomic.AtomicReference INSTANCE>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(v);
virtualinvoke v.<io.quarkus.arc.impl.ArcContainerImpl: void init()>();
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;
}
public static void setExecutor(java.util.concurrent.ExecutorService)
{
java.lang.Object v;
java.util.concurrent.atomic.AtomicReference v;
java.util.concurrent.ExecutorService v;
v := @parameter: java.util.concurrent.ExecutorService;
v = <io.quarkus.arc.Arc: java.util.concurrent.atomic.AtomicReference INSTANCE>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
virtualinvoke v.<io.quarkus.arc.impl.ArcContainerImpl: void setExecutor(java.util.concurrent.ExecutorService)>(v);
return;
}
public static io.quarkus.arc.ArcContainer container()
{
java.lang.Object v;
java.util.concurrent.atomic.AtomicReference v;
v = <io.quarkus.arc.Arc: java.util.concurrent.atomic.AtomicReference INSTANCE>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
return v;
}
public static void shutdown()
{
java.lang.Throwable v;
java.lang.Object v, v;
java.util.concurrent.atomic.AtomicReference v, v, v, v;
v = <io.quarkus.arc.Arc: java.util.concurrent.atomic.AtomicReference INSTANCE>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
v = <io.quarkus.arc.Arc: java.util.concurrent.atomic.AtomicReference INSTANCE>;
entermonitor v;
label:
v = <io.quarkus.arc.Arc: java.util.concurrent.atomic.AtomicReference INSTANCE>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
virtualinvoke v.<io.quarkus.arc.impl.ArcContainerImpl: void shutdown()>();
v = <io.quarkus.arc.Arc: java.util.concurrent.atomic.AtomicReference INSTANCE>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: void set(java.lang.Object)>(null);
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;
}
static void <clinit>()
{
java.util.concurrent.atomic.AtomicReference v;
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>()>();
<io.quarkus.arc.Arc: java.util.concurrent.atomic.AtomicReference INSTANCE> = v;
return;
}
}