public final class io.smallrye.context.impl.wrappers.ContextualRunnable extends java.lang.Object implements io.smallrye.context.impl.wrappers.ContextualRunnable
{
private java.lang.ThreadLocal tl;
private java.lang.Object state;
private final java.lang.Runnable runnable;
public void <init>(java.lang.Runnable)
{
io.smallrye.context.impl.wrappers.ContextualRunnable v;
java.lang.Runnable v;
v := @this: io.smallrye.context.impl.wrappers.ContextualRunnable;
v := @parameter: java.lang.Runnable;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<io.smallrye.context.impl.wrappers.ContextualRunnable1: java.lang.Runnable runnable> = v;
return;
}
public void run()
{
io.smallrye.context.impl.wrappers.ContextualRunnable v;
java.lang.Throwable v;
java.lang.ThreadLocal v, v, v, v;
java.lang.Runnable v;
java.lang.Object v, v;
v := @this: io.smallrye.context.impl.wrappers.ContextualRunnable;
v = v.<io.smallrye.context.impl.wrappers.ContextualRunnable1: java.lang.ThreadLocal tl0>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
v = v.<io.smallrye.context.impl.wrappers.ContextualRunnable1: java.lang.ThreadLocal tl0>;
v = v.<io.smallrye.context.impl.wrappers.ContextualRunnable1: java.lang.Object state0>;
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
label:
v = v.<io.smallrye.context.impl.wrappers.ContextualRunnable1: java.lang.Runnable runnable>;
interfaceinvoke v.<java.lang.Runnable: void run()>();
label:
v = v.<io.smallrye.context.impl.wrappers.ContextualRunnable1: java.lang.ThreadLocal tl0>;
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
goto label;
label:
v := @caughtexception;
v = v.<io.smallrye.context.impl.wrappers.ContextualRunnable1: java.lang.ThreadLocal tl0>;
virtualinvoke v.<java.lang.ThreadLocal: void set(java.lang.Object)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void captureThreadLocal(int, java.lang.ThreadLocal, java.lang.Object)
{
io.smallrye.context.impl.wrappers.ContextualRunnable v;
java.lang.ThreadLocal v;
int v;
java.lang.Object v;
java.lang.String v;
java.lang.IllegalArgumentException v;
v := @this: io.smallrye.context.impl.wrappers.ContextualRunnable;
v := @parameter: int;
v := @parameter: java.lang.ThreadLocal;
v := @parameter: java.lang.Object;
lookupswitch(v)
{
case 0: goto label;
default: goto label;
};
label:
v.<io.smallrye.context.impl.wrappers.ContextualRunnable1: java.lang.ThreadLocal tl0> = v;
v.<io.smallrye.context.impl.wrappers.ContextualRunnable1: java.lang.Object state0> = v;
goto label;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Illegal index \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
}