public class io.quarkus.runtime.Quarkus extends java.lang.Object
{
private static java.io.Closeable LAUNCHED_FROM_IDE;
private static io.quarkus.runtime.Application manualApp;
private static final int MANUAL_BEGIN;
private static final int MANUAL_BEGIN_INITIALIZATION;
private static final int MANUAL_INITIALIZED;
private static final int MANUAL_STARTING;
private static final int MANUAL_STARTED;
private static final int MANUAL_FAILURE;
private static volatile int manualState;
private static final java.lang.Object manualLock;
public void <init>()
{
io.quarkus.runtime.Quarkus v;
v := @this: io.quarkus.runtime.Quarkus;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static transient void run(java.lang.Class, java.lang.String[])
{
java.lang.Class v;
java.lang.String[] v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String[];
staticinvoke <io.quarkus.runtime.Quarkus: void run(java.lang.Class,java.util.function.BiConsumer,java.lang.String[])>(v, null, v);
return;
}
public static transient void run(java.lang.Class, java.util.function.BiConsumer, java.lang.String[])
{
java.lang.Object[] v;
org.jboss.logging.Logger v;
java.lang.String[] v;
java.lang.Integer v, v;
java.lang.reflect.Constructor v;
java.lang.Thread v;
java.util.function.BiConsumer v, v;
java.lang.Class[] v;
java.lang.Exception v;
java.lang.Class v, v;
java.lang.ClassNotFoundException v;
java.lang.Object v;
java.lang.ClassLoader v;
v := @parameter: java.lang.Class;
v := @parameter: java.util.function.BiConsumer;
v := @parameter: java.lang.String[];
label:
staticinvoke <io.quarkus.runtime.logging.JBossVersion: void disableVersionLogging()>();
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("java.util.logging.manager", "org.jboss.logmanager.LogManager");
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("java.util.concurrent.ForkJoinPool.common.threadFactory", "io.quarkus.bootstrap.forkjoin.QuarkusForkJoinWorkerThreadFactory");
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String,boolean,java.lang.ClassLoader)>("io.quarkus.runner.ApplicationImpl", 0, v);
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Constructor getDeclaredConstructor(java.lang.Class[])>(v);
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Object newInstance(java.lang.Object[])>(v);
staticinvoke <io.quarkus.runtime.ApplicationLifecycleManager: void run(io.quarkus.runtime.Application,java.lang.Class,java.util.function.BiConsumer,java.lang.String[])>(v, v, v, v);
label:
return;
label:
v := @caughtexception;
goto label;
label:
v := @caughtexception;
if v == null goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(1);
interfaceinvoke v.<java.util.function.BiConsumer: void accept(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = staticinvoke <org.jboss.logging.Logger: org.jboss.logging.Logger getLogger(java.lang.Class)>(class "Lio/quarkus/runtime/Quarkus;");
virtualinvoke v.<org.jboss.logging.Logger: void error(java.lang.Object,java.lang.Throwable)>("Error running Quarkus", v);
v = staticinvoke <io.quarkus.runtime.ApplicationLifecycleManager: java.util.function.BiConsumer getDefaultExitCodeHandler()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(1);
interfaceinvoke v.<java.util.function.BiConsumer: void accept(java.lang.Object,java.lang.Object)>(v, v);
label:
return;
label:
staticinvoke <io.quarkus.runtime.Quarkus: void launchFromIDE(java.lang.Class,java.lang.String[])>(v, v);
return;
catch java.lang.ClassNotFoundException from label to label with label;
catch java.lang.Exception from label to label with label;
}
private static transient void launchFromIDE(java.lang.Class, java.lang.String[])
{
java.lang.String[] v;
java.lang.StackTraceElement[] v;
java.io.Closeable v;
java.lang.Thread v;
int v;
java.lang.Class v, v;
java.lang.StackTraceElement v, v;
java.lang.String v, v, v, v;
boolean v;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String[];
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.StackTraceElement[] getStackTrace()>();
v = 2;
label:
v = v[v];
v = virtualinvoke v.<java.lang.StackTraceElement: java.lang.String getClassName()>();
v = class "Lio/quarkus/runtime/Quarkus;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v + 1;
goto label;
label:
v = v[v];
v = virtualinvoke v.<java.lang.StackTraceElement: java.lang.String getClassName()>();
if v != null goto label;
v = null;
goto label;
label:
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
label:
v = staticinvoke <io.quarkus.launcher.QuarkusLauncher: java.io.Closeable launch(java.lang.String,java.lang.String,java.lang.String[])>(v, v, v);
<io.quarkus.runtime.Quarkus: java.io.Closeable LAUNCHED_FROM_IDE> = v;
return;
}
private static void terminateForIDE()
{
java.io.IOException v;
java.io.Closeable v, v;
v = <io.quarkus.runtime.Quarkus: java.io.Closeable LAUNCHED_FROM_IDE>;
if v == null goto label;
label:
v = <io.quarkus.runtime.Quarkus: java.io.Closeable LAUNCHED_FROM_IDE>;
interfaceinvoke v.<java.io.Closeable: void close()>();
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<java.io.IOException: void printStackTrace()>();
label:
return;
catch java.io.IOException from label to label with label;
}
public static transient void run(java.lang.String[])
{
java.lang.String[] v;
v := @parameter: java.lang.String[];
staticinvoke <io.quarkus.runtime.Quarkus: void run(java.lang.Class,java.lang.String[])>(null, v);
return;
}
public static void asyncExit(int)
{
int v;
v := @parameter: int;
staticinvoke <io.quarkus.runtime.Quarkus: void terminateForIDE()>();
staticinvoke <io.quarkus.runtime.ApplicationLifecycleManager: void exit(int)>(v);
return;
}
public static void asyncExit()
{
staticinvoke <io.quarkus.runtime.Quarkus: void terminateForIDE()>();
staticinvoke <io.quarkus.runtime.ApplicationLifecycleManager: void exit(int)>(-1);
return;
}
public static void waitForExit()
{
staticinvoke <io.quarkus.runtime.ApplicationLifecycleManager: void waitForExit()>();
return;
}
public static void blockingExit()
{
io.quarkus.runtime.Application v;
java.lang.Thread v;
org.jboss.logging.Logger v;
boolean v;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = staticinvoke <io.quarkus.runtime.Quarkus: boolean isMainThread(java.lang.Thread)>(v);
if v == 0 goto label;
v = staticinvoke <org.jboss.logging.Logger: org.jboss.logging.Logger getLogger(java.lang.Class)>(class "Lio/quarkus/runtime/Quarkus;");
virtualinvoke v.<org.jboss.logging.Logger: void error(java.lang.Object)>("\'Quarkus#blockingExit\' was called on the main thread. This will result in deadlocking the application!");
label:
v = staticinvoke <io.quarkus.runtime.Application: io.quarkus.runtime.Application currentApplication()>();
staticinvoke <io.quarkus.runtime.Quarkus: void asyncExit()>();
if v == null goto label;
virtualinvoke v.<io.quarkus.runtime.Application: void awaitShutdown()>();
label:
return;
}
public static boolean isMainThread(java.lang.Thread)
{
java.lang.ThreadGroup v;
java.util.Locale v;
java.lang.Thread v;
java.lang.String v, v, v;
boolean v, v, v;
v := @parameter: java.lang.Thread;
v = virtualinvoke v.<java.lang.Thread: java.lang.ThreadGroup getThreadGroup()>();
v = virtualinvoke v.<java.lang.ThreadGroup: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("main");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Thread: java.lang.String getName()>();
v = <java.util.Locale: java.util.Locale ROOT>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("main");
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public static void manualInitialize()
{
java.lang.Throwable v;
java.lang.Object[] v;
java.lang.Class[] v;
java.lang.RuntimeException v, v, v;
java.lang.reflect.Constructor v;
java.lang.Exception v;
int v, v;
java.lang.Class v;
java.lang.Object v, v;
boolean v, v;
v = <io.quarkus.runtime.Quarkus: int manualState>;
if v != 7 goto label;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("Quarkus manual bootstrap failed");
throw v;
label:
if v <= 0 goto label;
return;
label:
v = <io.quarkus.runtime.Quarkus: java.lang.Object manualLock>;
entermonitor v;
label:
v = <io.quarkus.runtime.Quarkus: int manualState>;
if v != 7 goto label;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("Quarkus manual bootstrap failed");
throw v;
label:
if v <= 0 goto label;
exitmonitor v;
label:
return;
label:
<io.quarkus.runtime.Quarkus: int manualState> = 1;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = staticinvoke <java.lang.Class: java.lang.Class forName(java.lang.String)>("io.quarkus.runner.ApplicationImpl");
v = newarray (java.lang.Class)[0];
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Constructor getDeclaredConstructor(java.lang.Class[])>(v);
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<java.lang.reflect.Constructor: java.lang.Object newInstance(java.lang.Object[])>(v);
<io.quarkus.runtime.Quarkus: io.quarkus.runtime.Application manualApp> = v;
<io.quarkus.runtime.Quarkus: int manualState> = 2;
v = <io.quarkus.runtime.SnapStartRecorder: boolean enabled>;
if v == 0 goto label;
v = <io.quarkus.runtime.SnapStartRecorder: boolean fullWarmup>;
if v == 0 goto label;
staticinvoke <io.quarkus.runtime.Quarkus: void manualStart()>();
label:
goto label;
label:
v := @caughtexception;
<io.quarkus.runtime.Quarkus: int manualState> = 7;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>("Quarkus manual initialization failed", v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
}
public static void manualStart()
{
java.lang.Throwable v;
java.lang.IllegalStateException v, v;
io.quarkus.runtime.Quarkus$1 v;
io.quarkus.runtime.Application v;
java.lang.Runtime v;
java.lang.String[] v;
java.lang.RuntimeException v, v;
int v, v;
java.lang.Object v;
v = <io.quarkus.runtime.Quarkus: int manualState>;
if v != 7 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Quarkus failed to start up");
throw v;
label:
if v < 5 goto label;
return;
label:
v = <io.quarkus.runtime.Quarkus: java.lang.Object manualLock>;
entermonitor v;
label:
v = <io.quarkus.runtime.Quarkus: int manualState>;
if v != 7 goto label;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>("Quarkus manual bootstrap failed");
throw v;
label:
if v < 5 goto label;
exitmonitor v;
label:
return;
label:
if v == 2 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Quarkus manual start cannot proceed as warmup did not run");
throw v;
label:
<io.quarkus.runtime.Quarkus: int manualState> = 5;
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = newarray (java.lang.String)[0];
v = staticinvoke <java.lang.Runtime: java.lang.Runtime getRuntime()>();
v = new io.quarkus.runtime.Quarkus$1;
specialinvoke v.<io.quarkus.runtime.Quarkus$1: void <init>()>();
virtualinvoke v.<java.lang.Runtime: void addShutdownHook(java.lang.Thread)>(v);
v = <io.quarkus.runtime.Quarkus: io.quarkus.runtime.Application manualApp>;
virtualinvoke v.<io.quarkus.runtime.Application: void doStart(java.lang.String[])>(v);
label:
goto label;
label:
v := @caughtexception;
<io.quarkus.runtime.Quarkus: int manualState> = 7;
throw v;
label:
<io.quarkus.runtime.Quarkus: int manualState> = 6;
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.RuntimeException from label to label with label;
}
static void <clinit>()
{
java.lang.Object v;
<io.quarkus.runtime.Quarkus: int manualState> = 0;
v = new java.lang.Object;
specialinvoke v.<java.lang.Object: void <init>()>();
<io.quarkus.runtime.Quarkus: java.lang.Object manualLock> = v;
return;
}
}