public class io.smallrye.context.SmallRyeThreadContext extends java.lang.Object implements org.eclipse.microprofile.context.ThreadContext
{
static final java.lang.ThreadLocal currentThreadContext;
private static final io.smallrye.context.CleanAutoCloseable NULL_THREAD_STATE;
private static final java.util.concurrent.Executor PASSTHROUGH_EXECUTOR;
private final io.smallrye.context.impl.ThreadContextProviderPlan plan;
private final java.lang.String injectionPointName;
private final java.util.concurrent.ExecutorService defaultExecutor;
public static io.smallrye.context.CleanAutoCloseable withThreadContext(io.smallrye.context.SmallRyeThreadContext)
{
io.smallrye.context.SmallRyeThreadContext$3 v;
java.lang.ThreadLocal v, v;
io.smallrye.context.SmallRyeThreadContext v;
java.lang.Object v;
io.smallrye.context.CleanAutoCloseable v;
v := @parameter: io.smallrye.context.SmallRyeThreadContext;
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
if v != null goto label;
v = <io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.CleanAutoCloseable NULL_THREAD_STATE>;
return v;
label:
v = new io.smallrye.context.SmallRyeThreadContext$3;
specialinvoke v.<io.smallrye.context.SmallRyeThreadContext$3: void <init>(io.smallrye.context.SmallRyeThreadContext)>(v);
return v;
}
public static void withThreadContext(io.smallrye.context.SmallRyeThreadContext, java.lang.Runnable)
{
java.lang.Throwable v;
java.lang.ThreadLocal v, v, v, v, v, v;
java.lang.Runnable v;
io.smallrye.context.SmallRyeThreadContext v;
java.lang.Object v;
v := @parameter: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.lang.Runnable;
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
label:
interfaceinvoke v.<java.lang.Runnable: void run()>();
label:
if v != null goto label;
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<java.lang.ThreadLocal: void remove()>();
goto label;
label:
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
goto label;
label:
v := @caughtexception;
if v != null goto label;
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<java.lang.ThreadLocal: void remove()>();
goto label;
label:
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
label:
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public static java.lang.Object withThreadContext(io.smallrye.context.SmallRyeThreadContext, java.util.function.Supplier)
{
java.lang.Throwable v;
java.lang.ThreadLocal v, v, v, v, v, v;
java.util.function.Supplier v;
io.smallrye.context.SmallRyeThreadContext v;
java.lang.Object v, v;
v := @parameter: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.function.Supplier;
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
label:
v = interfaceinvoke v.<java.util.function.Supplier: java.lang.Object get()>();
label:
if v != null goto label;
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<java.lang.ThreadLocal: void remove()>();
goto label;
label:
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
label:
return v;
label:
v := @caughtexception;
if v != null goto label;
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<java.lang.ThreadLocal: void remove()>();
goto label;
label:
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
label:
throw v;
catch java.lang.Throwable from label to label with label;
}
public static io.smallrye.context.SmallRyeThreadContext getCurrentThreadContextOrDefaultContexts()
{
io.smallrye.context.SmallRyeContextManager v;
io.smallrye.context.SmallRyeThreadContext v, v;
v = staticinvoke <io.smallrye.context.SmallRyeContextManagerProvider: io.smallrye.context.SmallRyeContextManager getManager()>();
v = virtualinvoke v.<io.smallrye.context.SmallRyeContextManager: io.smallrye.context.SmallRyeThreadContext defaultThreadContext()>();
v = staticinvoke <io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.SmallRyeThreadContext getCurrentThreadContext(io.smallrye.context.SmallRyeThreadContext)>(v);
return v;
}
public static io.smallrye.context.SmallRyeThreadContext getCurrentThreadContextOrPropagatedContexts()
{
io.smallrye.context.SmallRyeContextManager v;
io.smallrye.context.SmallRyeThreadContext v, v;
v = staticinvoke <io.smallrye.context.SmallRyeContextManagerProvider: io.smallrye.context.SmallRyeContextManager getManager()>();
v = virtualinvoke v.<io.smallrye.context.SmallRyeContextManager: io.smallrye.context.SmallRyeThreadContext allPropagatedThreadContext()>();
v = staticinvoke <io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.SmallRyeThreadContext getCurrentThreadContext(io.smallrye.context.SmallRyeThreadContext)>(v);
return v;
}
public static io.smallrye.context.SmallRyeThreadContext getCurrentThreadContextOrClearedContexts()
{
io.smallrye.context.SmallRyeContextManager v;
io.smallrye.context.SmallRyeThreadContext v, v;
v = staticinvoke <io.smallrye.context.SmallRyeContextManagerProvider: io.smallrye.context.SmallRyeContextManager getManager()>();
v = virtualinvoke v.<io.smallrye.context.SmallRyeContextManager: io.smallrye.context.SmallRyeThreadContext allClearedThreadContext()>();
v = staticinvoke <io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.SmallRyeThreadContext getCurrentThreadContext(io.smallrye.context.SmallRyeThreadContext)>(v);
return v;
}
public static io.smallrye.context.SmallRyeThreadContext getCurrentThreadContext(io.smallrye.context.SmallRyeThreadContext)
{
java.lang.ThreadLocal v;
io.smallrye.context.SmallRyeThreadContext v, v;
java.lang.Object v;
v := @parameter: io.smallrye.context.SmallRyeThreadContext;
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
if v == null goto label;
v = v;
goto label;
label:
v = v;
label:
return v;
}
public static io.smallrye.context.SmallRyeThreadContext getCurrentThreadContext()
{
io.smallrye.context.SmallRyeThreadContext v;
v = staticinvoke <io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.SmallRyeThreadContext getCurrentThreadContext(io.smallrye.context.SmallRyeThreadContext)>(null);
return v;
}
public void <init>(io.smallrye.context.SmallRyeContextManager, java.lang.String[], java.lang.String[], java.lang.String[], java.lang.String, java.util.concurrent.ExecutorService)
{
java.lang.String[] v, v, v;
io.smallrye.context.SmallRyeContextManager v;
io.smallrye.context.impl.ThreadContextProviderPlan v;
io.smallrye.context.SmallRyeThreadContext v;
java.lang.String v;
java.util.concurrent.ExecutorService v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: io.smallrye.context.SmallRyeContextManager;
v := @parameter: java.lang.String[];
v := @parameter: java.lang.String[];
v := @parameter: java.lang.String[];
v := @parameter: java.lang.String;
v := @parameter: java.util.concurrent.ExecutorService;
specialinvoke v.<java.lang.Object: void <init>()>();
v = virtualinvoke v.<io.smallrye.context.SmallRyeContextManager: io.smallrye.context.impl.ThreadContextProviderPlan getProviderPlan(java.lang.String[],java.lang.String[],java.lang.String[])>(v, v, v);
v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan> = v;
v.<io.smallrye.context.SmallRyeThreadContext: java.lang.String injectionPointName> = v;
v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.ExecutorService defaultExecutor> = v;
return;
}
private void checkPrecontextualized(java.lang.Object)
{
io.smallrye.context.SmallRyeThreadContext v;
java.lang.Object v;
java.lang.IllegalArgumentException v;
boolean v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.lang.Object;
v = v instanceof io.smallrye.context.impl.Contextualized;
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Action is already contextualized");
throw v;
label:
return;
}
public io.smallrye.context.impl.ThreadContextProviderPlan getPlan()
{
io.smallrye.context.impl.ThreadContextProviderPlan v;
io.smallrye.context.SmallRyeThreadContext v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
return v;
}
public java.util.concurrent.ExecutorService getDefaultExecutor()
{
io.smallrye.context.SmallRyeThreadContext v;
java.util.concurrent.ExecutorService v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v = v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.ExecutorService defaultExecutor>;
return v;
}
public boolean isEmpty()
{
io.smallrye.context.impl.ThreadContextProviderPlan v;
io.smallrye.context.SmallRyeThreadContext v;
boolean v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: boolean isEmpty()>();
return v;
}
public boolean isContextualized(java.lang.Object)
{
java.lang.Object v;
io.smallrye.context.SmallRyeThreadContext v;
boolean v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.lang.Object;
v = v instanceof io.smallrye.context.impl.Contextualized;
return v;
}
public static io.smallrye.context.SmallRyeThreadContext$Builder builder()
{
io.smallrye.context.SmallRyeContextManager v;
io.smallrye.context.SmallRyeContextManagerProvider v;
io.smallrye.context.SmallRyeThreadContext$Builder v;
v = staticinvoke <io.smallrye.context.SmallRyeContextManagerProvider: io.smallrye.context.SmallRyeContextManagerProvider instance()>();
v = virtualinvoke v.<io.smallrye.context.SmallRyeContextManagerProvider: io.smallrye.context.SmallRyeContextManager getContextManager()>();
v = virtualinvoke v.<io.smallrye.context.SmallRyeContextManager: io.smallrye.context.SmallRyeThreadContext$Builder newThreadContextBuilder()>();
return v;
}
public java.util.concurrent.CompletableFuture withContextCapture(java.util.concurrent.CompletableFuture)
{
io.smallrye.context.SmallRyeThreadContext v;
java.util.concurrent.CompletableFuture v, v;
java.util.concurrent.ExecutorService v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.concurrent.CompletableFuture;
v = v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.ExecutorService defaultExecutor>;
v = virtualinvoke v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.CompletableFuture withContextCapture(java.util.concurrent.CompletableFuture,java.util.concurrent.Executor,int)>(v, v, 2);
return v;
}
public java.util.concurrent.CompletableFuture withContextCapture(java.util.concurrent.CompletableFuture, java.util.concurrent.Executor, int)
{
java.util.concurrent.Executor v;
io.smallrye.context.SmallRyeThreadContext v;
int v;
java.util.concurrent.CompletableFuture v, v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.concurrent.CompletableFuture;
v := @parameter: java.util.concurrent.Executor;
v := @parameter: int;
v = staticinvoke <io.smallrye.context.JdkSpecific: java.util.concurrent.CompletableFuture newCompletableFutureWrapper(io.smallrye.context.SmallRyeThreadContext,java.util.concurrent.CompletableFuture,java.util.concurrent.Executor,int)>(v, v, v, v);
return v;
}
public java.util.concurrent.CompletionStage withContextCapture(java.util.concurrent.CompletionStage)
{
java.util.concurrent.CompletionStage v, v;
io.smallrye.context.SmallRyeThreadContext v;
java.util.concurrent.ExecutorService v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.concurrent.CompletionStage;
v = v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.ExecutorService defaultExecutor>;
v = virtualinvoke v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.CompletionStage withContextCapture(java.util.concurrent.CompletionStage,java.util.concurrent.Executor)>(v, v);
return v;
}
public java.util.concurrent.CompletionStage withContextCapture(java.util.concurrent.CompletionStage, java.util.concurrent.Executor)
{
java.util.concurrent.CompletionStage v, v;
java.util.concurrent.Executor v;
io.smallrye.context.SmallRyeThreadContext v;
java.util.concurrent.CompletableFuture v;
boolean v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.concurrent.CompletionStage;
v := @parameter: java.util.concurrent.Executor;
v = v instanceof java.util.concurrent.CompletableFuture;
if v == 0 goto label;
v = staticinvoke <io.smallrye.context.JdkSpecific: java.util.concurrent.CompletableFuture newCompletableFutureWrapper(io.smallrye.context.SmallRyeThreadContext,java.util.concurrent.CompletableFuture,java.util.concurrent.Executor,int)>(v, v, v, 3);
return v;
label:
v = staticinvoke <io.smallrye.context.JdkSpecific: java.util.concurrent.CompletionStage newCompletionStageWrapper(io.smallrye.context.SmallRyeThreadContext,java.util.concurrent.CompletionStage,java.util.concurrent.Executor)>(v, v, v);
return v;
}
public java.util.concurrent.CompletableFuture completedFuture(java.lang.Object)
{
io.smallrye.context.SmallRyeThreadContext v;
java.lang.Object v;
java.util.concurrent.CompletableFuture v, v;
java.util.concurrent.ExecutorService v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.lang.Object;
v = staticinvoke <java.util.concurrent.CompletableFuture: java.util.concurrent.CompletableFuture completedFuture(java.lang.Object)>(v);
v = v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.ExecutorService defaultExecutor>;
v = virtualinvoke v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.CompletableFuture withContextCapture(java.util.concurrent.CompletableFuture,java.util.concurrent.Executor,int)>(v, v, 0);
return v;
}
public java.util.concurrent.CompletionStage completedStage(java.lang.Object)
{
java.lang.Object v;
java.util.concurrent.CompletableFuture v;
io.smallrye.context.SmallRyeThreadContext v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.CompletableFuture completedFuture(java.lang.Object)>(v);
return v;
}
public java.util.concurrent.CompletableFuture failedFuture(java.lang.Throwable)
{
java.lang.Throwable v;
io.smallrye.context.SmallRyeThreadContext v;
java.util.concurrent.CompletableFuture v, v;
java.util.concurrent.ExecutorService v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.lang.Throwable;
v = new java.util.concurrent.CompletableFuture;
specialinvoke v.<java.util.concurrent.CompletableFuture: void <init>()>();
virtualinvoke v.<java.util.concurrent.CompletableFuture: boolean completeExceptionally(java.lang.Throwable)>(v);
v = v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.ExecutorService defaultExecutor>;
v = virtualinvoke v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.CompletableFuture withContextCapture(java.util.concurrent.CompletableFuture,java.util.concurrent.Executor,int)>(v, v, 0);
return v;
}
public java.util.concurrent.CompletionStage failedStage(java.lang.Throwable)
{
java.lang.Throwable v;
java.util.concurrent.CompletableFuture v;
io.smallrye.context.SmallRyeThreadContext v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.lang.Throwable;
v = virtualinvoke v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.CompletableFuture failedFuture(java.lang.Throwable)>(v);
return v;
}
public java.util.concurrent.CompletableFuture newIncompleteFuture()
{
io.smallrye.context.SmallRyeThreadContext v;
java.util.concurrent.CompletableFuture v, v;
java.util.concurrent.ExecutorService v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v = new java.util.concurrent.CompletableFuture;
specialinvoke v.<java.util.concurrent.CompletableFuture: void <init>()>();
v = v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.ExecutorService defaultExecutor>;
v = virtualinvoke v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.CompletableFuture withContextCapture(java.util.concurrent.CompletableFuture,java.util.concurrent.Executor,int)>(v, v, 0);
return v;
}
public java.util.concurrent.CompletableFuture copy(java.util.concurrent.CompletableFuture)
{
io.smallrye.context.SmallRyeThreadContext v;
java.util.concurrent.CompletableFuture v, v;
java.util.concurrent.ExecutorService v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.concurrent.CompletableFuture;
v = v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.ExecutorService defaultExecutor>;
v = virtualinvoke v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.CompletableFuture withContextCapture(java.util.concurrent.CompletableFuture,java.util.concurrent.Executor,int)>(v, v, 0);
return v;
}
public java.util.concurrent.CompletionStage copy(java.util.concurrent.CompletionStage)
{
java.util.concurrent.CompletionStage v, v;
io.smallrye.context.SmallRyeThreadContext v;
java.util.concurrent.ExecutorService v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.concurrent.CompletionStage;
v = v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.ExecutorService defaultExecutor>;
v = virtualinvoke v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.CompletionStage withContextCapture(java.util.concurrent.CompletionStage,java.util.concurrent.Executor)>(v, v);
return v;
}
public java.util.concurrent.Executor currentContextExecutor()
{
io.smallrye.context.impl.CapturedContextState v;
io.smallrye.context.impl.wrappers.ContextualExecutor v;
int v, v;
boolean v, v;
io.smallrye.context.impl.wrappers.ContextualExecutorN v;
java.lang.ThreadLocal v;
java.util.concurrent.Executor v;
io.smallrye.context.impl.wrappers.SlowContextualExecutor v;
io.smallrye.context.impl.ThreadContextProviderPlan v, v, v, v, v;
io.smallrye.context.SmallRyeThreadContext v;
io.smallrye.context.impl.wrappers.ContextualExecutor v;
io.smallrye.context.impl.wrappers.ContextualExecutor v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: boolean isEmpty()>();
if v == 0 goto label;
v = <io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.Executor PASSTHROUGH_EXECUTOR>;
return v;
label:
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: boolean isFast()>();
if v == 0 goto label;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: int size()>();
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = new io.smallrye.context.impl.wrappers.ContextualExecutor;
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualExecutor1: void <init>()>();
v = v;
goto label;
label:
v = new io.smallrye.context.impl.wrappers.ContextualExecutor;
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualExecutor2: void <init>()>();
v = v;
goto label;
label:
v = new io.smallrye.context.impl.wrappers.ContextualExecutorN;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: int size()>();
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualExecutorN: void <init>(int)>(v);
v = v;
label:
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: void takeThreadContextSnapshotsFast(io.smallrye.context.SmallRyeThreadContext,java.lang.ThreadLocal,io.smallrye.context.impl.ContextHolder)>(v, v, v);
return v;
label:
v = new io.smallrye.context.impl.wrappers.SlowContextualExecutor;
v = specialinvoke v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.CapturedContextState captureContext()>();
specialinvoke v.<io.smallrye.context.impl.wrappers.SlowContextualExecutor: void <init>(io.smallrye.context.impl.CapturedContextState)>(v);
return v;
}
public java.util.function.BiConsumer contextualConsumer(java.util.function.BiConsumer)
{
io.smallrye.context.impl.CapturedContextState v;
io.smallrye.context.impl.wrappers.SlowContextualBiConsumer v;
int v, v;
java.util.function.BiConsumer v;
io.smallrye.context.impl.wrappers.ContextualBiConsumerN v;
boolean v, v;
java.lang.ThreadLocal v;
io.smallrye.context.impl.ThreadContextProviderPlan v, v, v, v, v;
io.smallrye.context.SmallRyeThreadContext v;
io.smallrye.context.impl.wrappers.ContextualBiConsumer v;
io.smallrye.context.impl.wrappers.ContextualBiConsumer v;
io.smallrye.context.impl.wrappers.ContextualBiConsumer v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.function.BiConsumer;
specialinvoke v.<io.smallrye.context.SmallRyeThreadContext: void checkPrecontextualized(java.lang.Object)>(v);
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: boolean isEmpty()>();
if v == 0 goto label;
return v;
label:
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: boolean isFast()>();
if v == 0 goto label;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: int size()>();
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = new io.smallrye.context.impl.wrappers.ContextualBiConsumer;
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualBiConsumer1: void <init>(java.util.function.BiConsumer)>(v);
v = v;
goto label;
label:
v = new io.smallrye.context.impl.wrappers.ContextualBiConsumer;
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualBiConsumer2: void <init>(java.util.function.BiConsumer)>(v);
v = v;
goto label;
label:
v = new io.smallrye.context.impl.wrappers.ContextualBiConsumerN;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: int size()>();
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualBiConsumerN: void <init>(java.util.function.BiConsumer,int)>(v, v);
v = v;
label:
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: void takeThreadContextSnapshotsFast(io.smallrye.context.SmallRyeThreadContext,java.lang.ThreadLocal,io.smallrye.context.impl.ContextHolder)>(v, v, v);
return v;
label:
v = new io.smallrye.context.impl.wrappers.SlowContextualBiConsumer;
v = specialinvoke v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.CapturedContextState captureContext()>();
specialinvoke v.<io.smallrye.context.impl.wrappers.SlowContextualBiConsumer: void <init>(io.smallrye.context.impl.CapturedContextState,java.util.function.BiConsumer)>(v, v);
return v;
}
java.util.function.BiConsumer contextualConsumerUnlessContextualized(java.util.function.BiConsumer)
{
io.smallrye.context.SmallRyeThreadContext v;
java.util.function.BiConsumer v, v;
boolean v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.function.BiConsumer;
v = v instanceof io.smallrye.context.impl.Contextualized;
if v == 0 goto label;
return v;
label:
v = virtualinvoke v.<io.smallrye.context.SmallRyeThreadContext: java.util.function.BiConsumer contextualConsumer(java.util.function.BiConsumer)>(v);
return v;
}
public java.util.function.BiFunction contextualFunction(java.util.function.BiFunction)
{
io.smallrye.context.impl.wrappers.SlowContextualBiFunction v;
io.smallrye.context.impl.CapturedContextState v;
java.util.function.BiFunction v;
io.smallrye.context.impl.wrappers.ContextualBiFunction v;
io.smallrye.context.impl.wrappers.ContextualBiFunction v;
int v, v;
boolean v, v;
java.lang.ThreadLocal v;
io.smallrye.context.impl.ThreadContextProviderPlan v, v, v, v, v;
io.smallrye.context.impl.wrappers.ContextualBiFunctionN v;
io.smallrye.context.SmallRyeThreadContext v;
io.smallrye.context.impl.wrappers.ContextualBiFunction v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.function.BiFunction;
specialinvoke v.<io.smallrye.context.SmallRyeThreadContext: void checkPrecontextualized(java.lang.Object)>(v);
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: boolean isEmpty()>();
if v == 0 goto label;
return v;
label:
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: boolean isFast()>();
if v == 0 goto label;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: int size()>();
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = new io.smallrye.context.impl.wrappers.ContextualBiFunction;
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualBiFunction1: void <init>(java.util.function.BiFunction)>(v);
v = v;
goto label;
label:
v = new io.smallrye.context.impl.wrappers.ContextualBiFunction;
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualBiFunction2: void <init>(java.util.function.BiFunction)>(v);
v = v;
goto label;
label:
v = new io.smallrye.context.impl.wrappers.ContextualBiFunctionN;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: int size()>();
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualBiFunctionN: void <init>(java.util.function.BiFunction,int)>(v, v);
v = v;
label:
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: void takeThreadContextSnapshotsFast(io.smallrye.context.SmallRyeThreadContext,java.lang.ThreadLocal,io.smallrye.context.impl.ContextHolder)>(v, v, v);
return v;
label:
v = new io.smallrye.context.impl.wrappers.SlowContextualBiFunction;
v = specialinvoke v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.CapturedContextState captureContext()>();
specialinvoke v.<io.smallrye.context.impl.wrappers.SlowContextualBiFunction: void <init>(io.smallrye.context.impl.CapturedContextState,java.util.function.BiFunction)>(v, v);
return v;
}
java.util.function.BiFunction contextualFunctionUnlessContextualized(java.util.function.BiFunction)
{
io.smallrye.context.SmallRyeThreadContext v;
java.util.function.BiFunction v, v;
boolean v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.function.BiFunction;
v = v instanceof io.smallrye.context.impl.Contextualized;
if v == 0 goto label;
return v;
label:
v = virtualinvoke v.<io.smallrye.context.SmallRyeThreadContext: java.util.function.BiFunction contextualFunction(java.util.function.BiFunction)>(v);
return v;
}
public java.util.concurrent.Callable contextualCallable(java.util.concurrent.Callable)
{
io.smallrye.context.impl.CapturedContextState v;
io.smallrye.context.impl.wrappers.SlowContextualCallable v;
java.util.concurrent.Callable v;
io.smallrye.context.impl.wrappers.ContextualCallableN v;
io.smallrye.context.impl.wrappers.ContextualCallable v;
int v, v;
boolean v, v;
java.lang.ThreadLocal v;
io.smallrye.context.impl.ThreadContextProviderPlan v, v, v, v, v;
io.smallrye.context.SmallRyeThreadContext v;
io.smallrye.context.impl.wrappers.ContextualCallable v;
io.smallrye.context.impl.wrappers.ContextualCallable v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.concurrent.Callable;
specialinvoke v.<io.smallrye.context.SmallRyeThreadContext: void checkPrecontextualized(java.lang.Object)>(v);
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: boolean isEmpty()>();
if v == 0 goto label;
return v;
label:
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: boolean isFast()>();
if v == 0 goto label;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: int size()>();
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = new io.smallrye.context.impl.wrappers.ContextualCallable;
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualCallable1: void <init>(java.util.concurrent.Callable)>(v);
v = v;
goto label;
label:
v = new io.smallrye.context.impl.wrappers.ContextualCallable;
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualCallable2: void <init>(java.util.concurrent.Callable)>(v);
v = v;
goto label;
label:
v = new io.smallrye.context.impl.wrappers.ContextualCallableN;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: int size()>();
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualCallableN: void <init>(java.util.concurrent.Callable,int)>(v, v);
v = v;
label:
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: void takeThreadContextSnapshotsFast(io.smallrye.context.SmallRyeThreadContext,java.lang.ThreadLocal,io.smallrye.context.impl.ContextHolder)>(v, v, v);
return v;
label:
v = new io.smallrye.context.impl.wrappers.SlowContextualCallable;
v = specialinvoke v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.CapturedContextState captureContext()>();
specialinvoke v.<io.smallrye.context.impl.wrappers.SlowContextualCallable: void <init>(io.smallrye.context.impl.CapturedContextState,java.util.concurrent.Callable)>(v, v);
return v;
}
java.util.concurrent.Callable contextualCallableUnlessContextualized(java.util.concurrent.Callable)
{
io.smallrye.context.SmallRyeThreadContext v;
java.util.concurrent.Callable v, v;
boolean v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.concurrent.Callable;
v = v instanceof io.smallrye.context.impl.Contextualized;
if v == 0 goto label;
return v;
label:
v = virtualinvoke v.<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.Callable contextualCallable(java.util.concurrent.Callable)>(v);
return v;
}
public java.util.function.Consumer contextualConsumer(java.util.function.Consumer)
{
io.smallrye.context.impl.CapturedContextState v;
io.smallrye.context.impl.wrappers.ContextualConsumer v;
io.smallrye.context.impl.wrappers.ContextualConsumer v;
int v, v;
boolean v, v;
java.lang.ThreadLocal v;
io.smallrye.context.impl.wrappers.ContextualConsumerN v;
io.smallrye.context.impl.wrappers.SlowContextualConsumer v;
io.smallrye.context.impl.ThreadContextProviderPlan v, v, v, v, v;
java.util.function.Consumer v;
io.smallrye.context.SmallRyeThreadContext v;
io.smallrye.context.impl.wrappers.ContextualConsumer v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.function.Consumer;
specialinvoke v.<io.smallrye.context.SmallRyeThreadContext: void checkPrecontextualized(java.lang.Object)>(v);
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: boolean isEmpty()>();
if v == 0 goto label;
return v;
label:
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: boolean isFast()>();
if v == 0 goto label;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: int size()>();
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = new io.smallrye.context.impl.wrappers.ContextualConsumer;
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualConsumer1: void <init>(java.util.function.Consumer)>(v);
v = v;
goto label;
label:
v = new io.smallrye.context.impl.wrappers.ContextualConsumer;
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualConsumer2: void <init>(java.util.function.Consumer)>(v);
v = v;
goto label;
label:
v = new io.smallrye.context.impl.wrappers.ContextualConsumerN;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: int size()>();
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualConsumerN: void <init>(java.util.function.Consumer,int)>(v, v);
v = v;
label:
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: void takeThreadContextSnapshotsFast(io.smallrye.context.SmallRyeThreadContext,java.lang.ThreadLocal,io.smallrye.context.impl.ContextHolder)>(v, v, v);
return v;
label:
v = new io.smallrye.context.impl.wrappers.SlowContextualConsumer;
v = specialinvoke v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.CapturedContextState captureContext()>();
specialinvoke v.<io.smallrye.context.impl.wrappers.SlowContextualConsumer: void <init>(io.smallrye.context.impl.CapturedContextState,java.util.function.Consumer)>(v, v);
return v;
}
java.util.function.Consumer contextualConsumerUnlessContextualized(java.util.function.Consumer)
{
java.util.function.Consumer v, v;
io.smallrye.context.SmallRyeThreadContext v;
boolean v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.function.Consumer;
v = v instanceof io.smallrye.context.impl.Contextualized;
if v == 0 goto label;
return v;
label:
v = virtualinvoke v.<io.smallrye.context.SmallRyeThreadContext: java.util.function.Consumer contextualConsumer(java.util.function.Consumer)>(v);
return v;
}
public java.util.function.Function contextualFunction(java.util.function.Function)
{
io.smallrye.context.impl.CapturedContextState v;
java.util.function.Function v;
int v, v;
io.smallrye.context.impl.wrappers.SlowContextualFunction v;
io.smallrye.context.impl.wrappers.ContextualFunctionN v;
boolean v, v;
io.smallrye.context.impl.wrappers.ContextualFunction v;
java.lang.ThreadLocal v;
io.smallrye.context.impl.ThreadContextProviderPlan v, v, v, v, v;
io.smallrye.context.impl.wrappers.ContextualFunction v;
io.smallrye.context.impl.wrappers.ContextualFunction v;
io.smallrye.context.SmallRyeThreadContext v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.function.Function;
specialinvoke v.<io.smallrye.context.SmallRyeThreadContext: void checkPrecontextualized(java.lang.Object)>(v);
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: boolean isEmpty()>();
if v == 0 goto label;
return v;
label:
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: boolean isFast()>();
if v == 0 goto label;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: int size()>();
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = new io.smallrye.context.impl.wrappers.ContextualFunction;
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualFunction1: void <init>(java.util.function.Function)>(v);
v = v;
goto label;
label:
v = new io.smallrye.context.impl.wrappers.ContextualFunction;
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualFunction2: void <init>(java.util.function.Function)>(v);
v = v;
goto label;
label:
v = new io.smallrye.context.impl.wrappers.ContextualFunctionN;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: int size()>();
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualFunctionN: void <init>(java.util.function.Function,int)>(v, v);
v = v;
label:
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: void takeThreadContextSnapshotsFast(io.smallrye.context.SmallRyeThreadContext,java.lang.ThreadLocal,io.smallrye.context.impl.ContextHolder)>(v, v, v);
return v;
label:
v = new io.smallrye.context.impl.wrappers.SlowContextualFunction;
v = specialinvoke v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.CapturedContextState captureContext()>();
specialinvoke v.<io.smallrye.context.impl.wrappers.SlowContextualFunction: void <init>(io.smallrye.context.impl.CapturedContextState,java.util.function.Function)>(v, v);
return v;
}
java.util.function.Function contextualFunctionUnlessContextualized(java.util.function.Function)
{
io.smallrye.context.SmallRyeThreadContext v;
java.util.function.Function v, v;
boolean v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.function.Function;
v = v instanceof io.smallrye.context.impl.Contextualized;
if v == 0 goto label;
return v;
label:
v = virtualinvoke v.<io.smallrye.context.SmallRyeThreadContext: java.util.function.Function contextualFunction(java.util.function.Function)>(v);
return v;
}
public java.lang.Runnable contextualRunnable(java.lang.Runnable)
{
io.smallrye.context.impl.CapturedContextState v;
io.smallrye.context.impl.wrappers.ContextualRunnableN v;
io.smallrye.context.impl.wrappers.ContextualRunnable v;
java.lang.Runnable v;
int v, v;
boolean v, v;
io.smallrye.context.impl.wrappers.ContextualRunnable v;
java.lang.ThreadLocal v;
io.smallrye.context.impl.wrappers.ContextualRunnable v;
io.smallrye.context.impl.ThreadContextProviderPlan v, v, v, v, v;
io.smallrye.context.SmallRyeThreadContext v;
io.smallrye.context.impl.wrappers.SlowContextualRunnable v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.lang.Runnable;
specialinvoke v.<io.smallrye.context.SmallRyeThreadContext: void checkPrecontextualized(java.lang.Object)>(v);
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: boolean isEmpty()>();
if v == 0 goto label;
return v;
label:
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: boolean isFast()>();
if v == 0 goto label;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: int size()>();
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = new io.smallrye.context.impl.wrappers.ContextualRunnable;
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualRunnable1: void <init>(java.lang.Runnable)>(v);
v = v;
goto label;
label:
v = new io.smallrye.context.impl.wrappers.ContextualRunnable;
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualRunnable2: void <init>(java.lang.Runnable)>(v);
v = v;
goto label;
label:
v = new io.smallrye.context.impl.wrappers.ContextualRunnableN;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: int size()>();
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualRunnableN: void <init>(java.lang.Runnable,int)>(v, v);
v = v;
label:
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: void takeThreadContextSnapshotsFast(io.smallrye.context.SmallRyeThreadContext,java.lang.ThreadLocal,io.smallrye.context.impl.ContextHolder)>(v, v, v);
return v;
label:
v = new io.smallrye.context.impl.wrappers.SlowContextualRunnable;
v = specialinvoke v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.CapturedContextState captureContext()>();
specialinvoke v.<io.smallrye.context.impl.wrappers.SlowContextualRunnable: void <init>(io.smallrye.context.impl.CapturedContextState,java.lang.Runnable)>(v, v);
return v;
}
java.lang.Runnable contextualRunnableUnlessContextualized(java.lang.Runnable)
{
io.smallrye.context.SmallRyeThreadContext v;
java.lang.Runnable v, v;
boolean v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.lang.Runnable;
v = v instanceof io.smallrye.context.impl.Contextualized;
if v == 0 goto label;
return v;
label:
v = virtualinvoke v.<io.smallrye.context.SmallRyeThreadContext: java.lang.Runnable contextualRunnable(java.lang.Runnable)>(v);
return v;
}
public java.util.function.Supplier contextualSupplier(java.util.function.Supplier)
{
io.smallrye.context.impl.CapturedContextState v;
io.smallrye.context.impl.wrappers.ContextualSupplier v;
io.smallrye.context.impl.wrappers.ContextualSupplier v;
io.smallrye.context.impl.wrappers.ContextualSupplier v;
java.util.function.Supplier v;
int v, v;
io.smallrye.context.impl.wrappers.SlowContextualSupplier v;
boolean v, v;
java.lang.ThreadLocal v;
io.smallrye.context.impl.ThreadContextProviderPlan v, v, v, v, v;
io.smallrye.context.impl.wrappers.ContextualSupplierN v;
io.smallrye.context.SmallRyeThreadContext v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.function.Supplier;
specialinvoke v.<io.smallrye.context.SmallRyeThreadContext: void checkPrecontextualized(java.lang.Object)>(v);
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: boolean isEmpty()>();
if v == 0 goto label;
return v;
label:
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: boolean isFast()>();
if v == 0 goto label;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: int size()>();
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = new io.smallrye.context.impl.wrappers.ContextualSupplier;
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualSupplier1: void <init>(java.util.function.Supplier)>(v);
v = v;
goto label;
label:
v = new io.smallrye.context.impl.wrappers.ContextualSupplier;
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualSupplier2: void <init>(java.util.function.Supplier)>(v);
v = v;
goto label;
label:
v = new io.smallrye.context.impl.wrappers.ContextualSupplierN;
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: int size()>();
specialinvoke v.<io.smallrye.context.impl.wrappers.ContextualSupplierN: void <init>(java.util.function.Supplier,int)>(v, v);
v = v;
label:
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = <io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext>;
virtualinvoke v.<io.smallrye.context.impl.ThreadContextProviderPlan: void takeThreadContextSnapshotsFast(io.smallrye.context.SmallRyeThreadContext,java.lang.ThreadLocal,io.smallrye.context.impl.ContextHolder)>(v, v, v);
return v;
label:
v = new io.smallrye.context.impl.wrappers.SlowContextualSupplier;
v = specialinvoke v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.CapturedContextState captureContext()>();
specialinvoke v.<io.smallrye.context.impl.wrappers.SlowContextualSupplier: void <init>(io.smallrye.context.impl.CapturedContextState,java.util.function.Supplier)>(v, v);
return v;
}
java.util.function.Supplier contextualSupplierUnlessContextualized(java.util.function.Supplier)
{
io.smallrye.context.SmallRyeThreadContext v;
java.util.function.Supplier v, v;
boolean v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v := @parameter: java.util.function.Supplier;
v = v instanceof io.smallrye.context.impl.Contextualized;
if v == 0 goto label;
return v;
label:
v = virtualinvoke v.<io.smallrye.context.SmallRyeThreadContext: java.util.function.Supplier contextualSupplier(java.util.function.Supplier)>(v);
return v;
}
private io.smallrye.context.impl.CapturedContextState captureContext()
{
io.smallrye.context.SmallRyeThreadContext v;
io.smallrye.context.impl.SlowCapturedContextState v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v = new io.smallrye.context.impl.SlowCapturedContextState;
specialinvoke v.<io.smallrye.context.impl.SlowCapturedContextState: void <init>(io.smallrye.context.SmallRyeThreadContext)>(v);
return v;
}
public java.lang.String toString()
{
java.lang.String v, v, v, v;
java.util.Set v, v, v;
io.smallrye.context.impl.ThreadContextProviderPlan v, v, v;
io.smallrye.context.SmallRyeThreadContext v;
java.lang.Class v;
java.lang.StringBuilder v, v, v, v, v, v, v, v, v;
v := @this: io.smallrye.context.SmallRyeThreadContext;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = class "Lio/smallrye/context/SmallRyeThreadContext;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("with cleared contexts: ");
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = v.<io.smallrye.context.impl.ThreadContextProviderPlan: java.util.Set clearedProviders>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("with propagated contexts: ");
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = v.<io.smallrye.context.impl.ThreadContextProviderPlan: java.util.Set propagatedProviders>;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("with unchanged contexts: ");
v = v.<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.impl.ThreadContextProviderPlan plan>;
v = v.<io.smallrye.context.impl.ThreadContextProviderPlan: java.util.Set unchangedProviders>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
v = v.<io.smallrye.context.SmallRyeThreadContext: java.lang.String injectionPointName>;
if v == null goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" with injection point name: ");
v = v.<io.smallrye.context.SmallRyeThreadContext: java.lang.String injectionPointName>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
static void <clinit>()
{
io.smallrye.context.SmallRyeThreadContext$2 v;
java.lang.ThreadLocal v;
io.smallrye.context.SmallRyeThreadContext$1 v;
v = staticinvoke <io.smallrye.context.storage.spi.StorageManager: java.lang.ThreadLocal threadLocal(java.lang.Class)>(class "Lio/smallrye/context/impl/SmallRyeThreadContextStorageDeclaration;");
<io.smallrye.context.SmallRyeThreadContext: java.lang.ThreadLocal currentThreadContext> = v;
v = new io.smallrye.context.SmallRyeThreadContext$1;
specialinvoke v.<io.smallrye.context.SmallRyeThreadContext$1: void <init>()>();
<io.smallrye.context.SmallRyeThreadContext: io.smallrye.context.CleanAutoCloseable NULL_THREAD_STATE> = v;
v = new io.smallrye.context.SmallRyeThreadContext$2;
specialinvoke v.<io.smallrye.context.SmallRyeThreadContext$2: void <init>()>();
<io.smallrye.context.SmallRyeThreadContext: java.util.concurrent.Executor PASSTHROUGH_EXECUTOR> = v;
return;
}
}