public class io.quarkus.arc.impl.InjectableRequestContextController extends java.lang.Object implements jakarta.enterprise.context.control.RequestContextController
{
private final io.quarkus.arc.ManagedContext requestContext;
private final java.util.concurrent.atomic.AtomicBoolean isActivator;
public void <init>()
{
io.quarkus.arc.ManagedContext v;
io.quarkus.arc.ArcContainer v;
io.quarkus.arc.impl.InjectableRequestContextController v;
java.util.concurrent.atomic.AtomicBoolean v;
v := @this: io.quarkus.arc.impl.InjectableRequestContextController;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <io.quarkus.arc.Arc: io.quarkus.arc.ArcContainer container()>();
v = interfaceinvoke v.<io.quarkus.arc.ArcContainer: io.quarkus.arc.ManagedContext requestContext()>();
v.<io.quarkus.arc.impl.InjectableRequestContextController: io.quarkus.arc.ManagedContext requestContext> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<io.quarkus.arc.impl.InjectableRequestContextController: java.util.concurrent.atomic.AtomicBoolean isActivator> = v;
return;
}
public boolean activate()
{
io.quarkus.arc.ManagedContext v;
io.quarkus.arc.ArcContainer v;
io.quarkus.arc.InjectableContext v;
io.quarkus.arc.impl.InjectableRequestContextController v;
java.util.concurrent.atomic.AtomicBoolean v;
v := @this: io.quarkus.arc.impl.InjectableRequestContextController;
v = staticinvoke <io.quarkus.arc.Arc: io.quarkus.arc.ArcContainer container()>();
v = interfaceinvoke v.<io.quarkus.arc.ArcContainer: io.quarkus.arc.InjectableContext getActiveContext(java.lang.Class)>(class "Ljakarta/enterprise/context/RequestScoped;");
if v == null goto label;
return 0;
label:
v = v.<io.quarkus.arc.impl.InjectableRequestContextController: io.quarkus.arc.ManagedContext requestContext>;
interfaceinvoke v.<io.quarkus.arc.ManagedContext: void activate()>();
v = v.<io.quarkus.arc.impl.InjectableRequestContextController: java.util.concurrent.atomic.AtomicBoolean isActivator>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
return 1;
}
public void deactivate() throws jakarta.enterprise.context.ContextNotActiveException
{
io.quarkus.arc.ManagedContext v;
io.quarkus.arc.InjectableContext v;
java.util.concurrent.atomic.AtomicBoolean v;
jakarta.enterprise.context.ContextNotActiveException v;
io.quarkus.arc.ArcContainer v;
io.quarkus.arc.impl.InjectableRequestContextController v;
java.lang.Class v;
java.lang.String v;
boolean v;
v := @this: io.quarkus.arc.impl.InjectableRequestContextController;
v = staticinvoke <io.quarkus.arc.Arc: io.quarkus.arc.ArcContainer container()>();
v = interfaceinvoke v.<io.quarkus.arc.ArcContainer: io.quarkus.arc.InjectableContext getActiveContext(java.lang.Class)>(class "Ljakarta/enterprise/context/RequestScoped;");
if v != null goto label;
v = new jakarta.enterprise.context.ContextNotActiveException;
v = class "Ljakarta/enterprise/context/RequestScoped;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
specialinvoke v.<jakarta.enterprise.context.ContextNotActiveException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<io.quarkus.arc.impl.InjectableRequestContextController: java.util.concurrent.atomic.AtomicBoolean isActivator>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(1, 0);
if v == 0 goto label;
v = v.<io.quarkus.arc.impl.InjectableRequestContextController: io.quarkus.arc.ManagedContext requestContext>;
interfaceinvoke v.<io.quarkus.arc.ManagedContext: void terminate()>();
label:
return;
}
}