public final class org.jboss.logmanager.LogContext extends java.lang.Object implements java.lang.AutoCloseable
{
private static final org.jboss.logmanager.LogContext SYSTEM_CONTEXT;
static final java.security.Permission CREATE_CONTEXT_PERMISSION;
static final java.security.Permission SET_CONTEXT_SELECTOR_PERMISSION;
static final java.security.Permission CONTROL_PERMISSION;
private final org.jboss.logmanager.LoggerNode rootLogger;
private final boolean strong;
private final org.jboss.logmanager.LogContextInitializer initializer;
private final java.util.Set pinnedSet;
private volatile java.util.Map attachments;
private static final java.lang.invoke.VarHandle attachmentHandle;
private final java.util.concurrent.atomic.AtomicReference levelMapReference;
private final java.util.Set closeHandlers;
final java.util.concurrent.locks.ReentrantLock treeLock;
public static final org.jboss.logmanager.LogContextSelector DEFAULT_LOG_CONTEXT_SELECTOR;
private static volatile org.jboss.logmanager.LogContextSelector logContextSelector;
static final boolean $assertionsDisabled;
private static org.jboss.logmanager.LogContextInitializer discoverDefaultInitializer()
{
org.jboss.logmanager.LogContextInitializer v;
java.lang.Object v;
java.security.PrivilegedAction v;
java.lang.SecurityManager v;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = staticinvoke <org.jboss.logmanager.LogContext$discoverDefaultInitializer0__3609: java.security.PrivilegedAction bootstrap$()>();
v = staticinvoke <java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)>(v);
return v;
label:
v = staticinvoke <org.jboss.logmanager.LogContext: org.jboss.logmanager.LogContextInitializer discoverDefaultInitializer0()>();
return v;
}
public static org.jboss.logmanager.LogContextInitializer discoverDefaultInitializer0()
{
java.util.Iterator v;
java.lang.Class v;
java.lang.Object v;
java.util.ServiceLoader v;
java.lang.ClassLoader v;
boolean v;
v = class "Lorg/jboss/logmanager/LogContext;";
v = virtualinvoke v.<java.lang.Class: java.lang.ClassLoader getClassLoader()>();
v = staticinvoke <java.util.ServiceLoader: java.util.ServiceLoader load(java.lang.Class,java.lang.ClassLoader)>(class "Lorg/jboss/logmanager/LogContextInitializer;", v);
v = virtualinvoke v.<java.util.ServiceLoader: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
goto label;
label:
v = <org.jboss.logmanager.LogContextInitializer: org.jboss.logmanager.LogContextInitializer DEFAULT>;
label:
return v;
}
void <init>(boolean, org.jboss.logmanager.LogContextInitializer)
{
org.jboss.logmanager.LogContext v;
java.util.concurrent.locks.ReentrantLock v;
org.jboss.logmanager.LogContextInitializer v;
java.util.Set v;
java.util.HashMap v;
java.util.concurrent.atomic.AtomicReference v;
org.jboss.logmanager.LoggerNode v;
java.util.Map v;
java.util.LinkedHashSet v;
boolean v, v, v, v;
v := @this: org.jboss.logmanager.LogContext;
v := @parameter: boolean;
v := @parameter: org.jboss.logmanager.LogContextInitializer;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.locks.ReentrantLock;
specialinvoke v.<java.util.concurrent.locks.ReentrantLock: void <init>()>();
v.<org.jboss.logmanager.LogContext: java.util.concurrent.locks.ReentrantLock treeLock> = v;
v.<org.jboss.logmanager.LogContext: org.jboss.logmanager.LogContextInitializer initializer> = v;
if v != 0 goto label;
v = interfaceinvoke v.<org.jboss.logmanager.LogContextInitializer: boolean useStrongReferences()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v.<org.jboss.logmanager.LogContext: boolean strong> = v;
v = new java.util.concurrent.atomic.AtomicReference;
v = <org.jboss.logmanager.LogContext$LazyHolder: java.util.HashMap INITIAL_LEVEL_MAP>;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>(java.lang.Object)>(v);
v.<org.jboss.logmanager.LogContext: java.util.concurrent.atomic.AtomicReference levelMapReference> = v;
v = new org.jboss.logmanager.LoggerNode;
specialinvoke v.<org.jboss.logmanager.LoggerNode: void <init>(org.jboss.logmanager.LogContext)>(v);
v.<org.jboss.logmanager.LogContext: org.jboss.logmanager.LoggerNode rootLogger> = v;
v = new java.util.LinkedHashSet;
specialinvoke v.<java.util.LinkedHashSet: void <init>()>();
v.<org.jboss.logmanager.LogContext: java.util.Set closeHandlers> = v;
v = staticinvoke <java.util.Map: java.util.Map of()>();
v.<org.jboss.logmanager.LogContext: java.util.Map attachments> = v;
v = v.<org.jboss.logmanager.LogContext: boolean strong>;
if v == 0 goto label;
v = staticinvoke <java.util.Set: java.util.Set of()>();
goto label;
label:
v = staticinvoke <java.util.concurrent.ConcurrentHashMap: java.util.concurrent.ConcurrentHashMap$KeySetView newKeySet()>();
label:
v.<org.jboss.logmanager.LogContext: java.util.Set pinnedSet> = v;
return;
}
public static org.jboss.logmanager.LogContext create(boolean)
{
org.jboss.logmanager.LogContext v;
org.jboss.logmanager.LogContextInitializer v;
boolean v;
v := @parameter: boolean;
v = <org.jboss.logmanager.LogContextInitializer: org.jboss.logmanager.LogContextInitializer DEFAULT>;
v = staticinvoke <org.jboss.logmanager.LogContext: org.jboss.logmanager.LogContext create(boolean,org.jboss.logmanager.LogContextInitializer)>(v, v);
return v;
}
public static org.jboss.logmanager.LogContext create(boolean, org.jboss.logmanager.LogContextInitializer)
{
org.jboss.logmanager.LogContext v;
org.jboss.logmanager.LogContextInitializer v;
java.security.Permission v;
java.lang.SecurityManager v;
boolean v;
v := @parameter: boolean;
v := @parameter: org.jboss.logmanager.LogContextInitializer;
staticinvoke <io.smallrye.common.constraint.Assert: java.lang.Object checkNotNullParam(java.lang.String,java.lang.Object)>("initializer", v);
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = <org.jboss.logmanager.LogContext: java.security.Permission CREATE_CONTEXT_PERMISSION>;
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
v = new org.jboss.logmanager.LogContext;
specialinvoke v.<org.jboss.logmanager.LogContext: void <init>(boolean,org.jboss.logmanager.LogContextInitializer)>(v, v);
return v;
}
public static org.jboss.logmanager.LogContext create()
{
org.jboss.logmanager.LogContext v;
v = staticinvoke <org.jboss.logmanager.LogContext: org.jboss.logmanager.LogContext create(boolean)>(0);
return v;
}
public static org.jboss.logmanager.LogContext create(org.jboss.logmanager.LogContextInitializer)
{
org.jboss.logmanager.LogContext v;
org.jboss.logmanager.LogContextInitializer v;
v := @parameter: org.jboss.logmanager.LogContextInitializer;
v = staticinvoke <org.jboss.logmanager.LogContext: org.jboss.logmanager.LogContext create(boolean,org.jboss.logmanager.LogContextInitializer)>(0, v);
return v;
}
public java.lang.Object getAttachment(org.jboss.logmanager.Logger$AttachmentKey)
{
org.jboss.logmanager.LogContext v;
org.jboss.logmanager.Logger$AttachmentKey v;
java.util.Map v;
java.lang.Object v;
v := @this: org.jboss.logmanager.LogContext;
v := @parameter: org.jboss.logmanager.Logger$AttachmentKey;
staticinvoke <io.smallrye.common.constraint.Assert: java.lang.Object checkNotNullParam(java.lang.String,java.lang.Object)>("key", v);
v = v.<org.jboss.logmanager.LogContext: java.util.Map attachments>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public java.lang.Object attach(org.jboss.logmanager.Logger$AttachmentKey, java.lang.Object) throws java.lang.SecurityException
{
java.lang.invoke.VarHandle v;
org.jboss.logmanager.LogContext v;
java.util.HashMap v;
org.jboss.logmanager.Logger$AttachmentKey v;
java.util.Map v, v;
java.lang.Object v, v;
boolean v;
v := @this: org.jboss.logmanager.LogContext;
v := @parameter: org.jboss.logmanager.Logger$AttachmentKey;
v := @parameter: java.lang.Object;
staticinvoke <org.jboss.logmanager.LogContext: void checkAccess()>();
staticinvoke <io.smallrye.common.constraint.Assert: java.lang.Object checkNotNullParam(java.lang.String,java.lang.Object)>("key", v);
staticinvoke <io.smallrye.common.constraint.Assert: java.lang.Object checkNotNullParam(java.lang.String,java.lang.Object)>("value", v);
label:
v = v.<org.jboss.logmanager.LogContext: java.util.Map attachments>;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>(java.util.Map)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.jboss.logmanager.LogContext: java.lang.invoke.VarHandle attachmentHandle>;
v = staticinvoke <java.util.Map: java.util.Map copyOf(java.util.Map)>(v);
v = virtualinvoke v.<java.lang.invoke.VarHandle: boolean compareAndSet(org.jboss.logmanager.LogContext,java.util.Map,java.util.Map)>(v, v, v);
if v == 0 goto label;
return v;
}
public java.lang.Object attachIfAbsent(org.jboss.logmanager.Logger$AttachmentKey, java.lang.Object) throws java.lang.SecurityException
{
java.lang.invoke.VarHandle v;
org.jboss.logmanager.LogContext v;
java.util.HashMap v;
org.jboss.logmanager.Logger$AttachmentKey v;
java.util.Map v, v;
java.lang.Object v, v;
boolean v, v;
v := @this: org.jboss.logmanager.LogContext;
v := @parameter: org.jboss.logmanager.Logger$AttachmentKey;
v := @parameter: java.lang.Object;
staticinvoke <org.jboss.logmanager.LogContext: void checkAccess()>();
staticinvoke <io.smallrye.common.constraint.Assert: java.lang.Object checkNotNullParam(java.lang.String,java.lang.Object)>("key", v);
staticinvoke <io.smallrye.common.constraint.Assert: java.lang.Object checkNotNullParam(java.lang.String,java.lang.Object)>("value", v);
label:
v = v.<org.jboss.logmanager.LogContext: java.util.Map attachments>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>(java.util.Map)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.jboss.logmanager.LogContext: java.lang.invoke.VarHandle attachmentHandle>;
v = staticinvoke <java.util.Map: java.util.Map copyOf(java.util.Map)>(v);
v = virtualinvoke v.<java.lang.invoke.VarHandle: boolean compareAndSet(org.jboss.logmanager.LogContext,java.util.Map,java.util.Map)>(v, v, v);
if v == 0 goto label;
return null;
}
public java.lang.Object detach(org.jboss.logmanager.Logger$AttachmentKey) throws java.lang.SecurityException
{
java.lang.invoke.VarHandle v;
org.jboss.logmanager.LogContext v;
java.util.HashMap v;
org.jboss.logmanager.Logger$AttachmentKey v;
java.util.Map v, v, v;
int v;
java.lang.Object v;
boolean v;
v := @this: org.jboss.logmanager.LogContext;
v := @parameter: org.jboss.logmanager.Logger$AttachmentKey;
staticinvoke <org.jboss.logmanager.LogContext: void checkAccess()>();
staticinvoke <io.smallrye.common.constraint.Assert: java.lang.Object checkNotNullParam(java.lang.String,java.lang.Object)>("key", v);
label:
v = v.<org.jboss.logmanager.LogContext: java.util.Map attachments>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
return null;
label:
v = interfaceinvoke v.<java.util.Map: int size()>();
if v != 1 goto label;
v = staticinvoke <java.util.Map: java.util.Map of()>();
goto label;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>(java.util.Map)>(v);
v = v;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
label:
v = <org.jboss.logmanager.LogContext: java.lang.invoke.VarHandle attachmentHandle>;
v = staticinvoke <java.util.Map: java.util.Map copyOf(java.util.Map)>(v);
v = virtualinvoke v.<java.lang.invoke.VarHandle: boolean compareAndSet(org.jboss.logmanager.LogContext,java.util.Map,java.util.Map)>(v, v, v);
if v == 0 goto label;
return v;
}
public org.jboss.logmanager.Logger getLogger(java.lang.String)
{
org.jboss.logmanager.Logger v;
org.jboss.logmanager.LogContext v;
org.jboss.logmanager.LoggerNode v, v;
java.lang.String v;
v := @this: org.jboss.logmanager.LogContext;
v := @parameter: java.lang.String;
v = v.<org.jboss.logmanager.LogContext: org.jboss.logmanager.LoggerNode rootLogger>;
v = virtualinvoke v.<org.jboss.logmanager.LoggerNode: org.jboss.logmanager.LoggerNode getOrCreate(java.lang.String)>(v);
v = virtualinvoke v.<org.jboss.logmanager.LoggerNode: org.jboss.logmanager.Logger createLogger()>();
return v;
}
public org.jboss.logmanager.Logger getLoggerIfExists(java.lang.String)
{
org.jboss.logmanager.Logger v;
org.jboss.logmanager.LogContext v;
org.jboss.logmanager.LoggerNode v, v;
java.lang.String v;
v := @this: org.jboss.logmanager.LogContext;
v := @parameter: java.lang.String;
v = v.<org.jboss.logmanager.LogContext: org.jboss.logmanager.LoggerNode rootLogger>;
v = virtualinvoke v.<org.jboss.logmanager.LoggerNode: org.jboss.logmanager.LoggerNode getIfExists(java.lang.String)>(v);
if v != null goto label;
v = null;
goto label;
label:
v = virtualinvoke v.<org.jboss.logmanager.LoggerNode: org.jboss.logmanager.Logger createLogger()>();
label:
return v;
}
public java.lang.Object getAttachment(java.lang.String, org.jboss.logmanager.Logger$AttachmentKey)
{
org.jboss.logmanager.LogContext v;
org.jboss.logmanager.LoggerNode v, v;
org.jboss.logmanager.Logger$AttachmentKey v;
java.lang.Object v;
java.lang.String v;
v := @this: org.jboss.logmanager.LogContext;
v := @parameter: java.lang.String;
v := @parameter: org.jboss.logmanager.Logger$AttachmentKey;
v = v.<org.jboss.logmanager.LogContext: org.jboss.logmanager.LoggerNode rootLogger>;
v = virtualinvoke v.<org.jboss.logmanager.LoggerNode: org.jboss.logmanager.LoggerNode getIfExists(java.lang.String)>(v);
if v != null goto label;
return null;
label:
v = virtualinvoke v.<org.jboss.logmanager.LoggerNode: java.lang.Object getAttachment(org.jboss.logmanager.Logger$AttachmentKey)>(v);
return v;
}
public java.util.logging.Level getLevelForName(java.lang.String) throws java.lang.IllegalArgumentException
{
org.jboss.logmanager.LogContext v;
java.lang.IllegalArgumentException v;
java.util.concurrent.atomic.AtomicReference v;
java.lang.Object v, v, v;
java.lang.String v, v;
v := @this: org.jboss.logmanager.LogContext;
v := @parameter: java.lang.String;
if v == null goto label;
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.atomic.AtomicReference levelMapReference>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = interfaceinvoke v.<io.smallrye.common.ref.Reference: java.lang.Object get()>();
if v == null goto label;
return v;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Unknown level \"\u0001\"");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
}
public void registerLevel(java.util.logging.Level)
{
org.jboss.logmanager.LogContext v;
java.util.logging.Level v;
v := @this: org.jboss.logmanager.LogContext;
v := @parameter: java.util.logging.Level;
virtualinvoke v.<org.jboss.logmanager.LogContext: void registerLevel(java.util.logging.Level,boolean)>(v, 0);
return;
}
public void registerLevel(java.util.logging.Level, boolean)
{
org.jboss.logmanager.LogContext v;
java.util.HashMap v;
java.util.concurrent.atomic.AtomicReference v, v;
java.util.logging.Level v;
int v;
java.lang.String v;
io.smallrye.common.ref.Reference v;
boolean v, v, v;
java.util.Iterator v;
java.util.Set v;
java.lang.SecurityManager v;
io.smallrye.common.ref.Reference$Type v;
java.security.Permission v;
java.lang.Object v, v, v, v, v;
v := @this: org.jboss.logmanager.LogContext;
v := @parameter: java.util.logging.Level;
v := @parameter: boolean;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = <org.jboss.logmanager.LogContext: java.security.Permission CONTROL_PERMISSION>;
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.atomic.AtomicReference levelMapReference>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = new java.util.HashMap;
v = interfaceinvoke v.<java.util.Map: int size()>();
specialinvoke v.<java.util.HashMap: void <init>(int)>(v);
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = interfaceinvoke v.<io.smallrye.common.ref.Reference: java.lang.Object get()>();
if v == null goto label;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = virtualinvoke v.<java.util.logging.Level: java.lang.String getName()>();
if v == 0 goto label;
v = <io.smallrye.common.ref.Reference$Type: io.smallrye.common.ref.Reference$Type STRONG>;
goto label;
label:
v = <io.smallrye.common.ref.Reference$Type: io.smallrye.common.ref.Reference$Type WEAK>;
label:
v = staticinvoke <io.smallrye.common.ref.References: io.smallrye.common.ref.Reference create(io.smallrye.common.ref.Reference$Type,java.lang.Object,java.lang.Object)>(v, v, null);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.atomic.AtomicReference levelMapReference>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: boolean compareAndSet(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
return;
}
public void unregisterLevel(java.util.logging.Level)
{
org.jboss.logmanager.LogContext v;
java.util.HashMap v;
java.util.concurrent.atomic.AtomicReference v, v;
java.util.logging.Level v;
int v;
java.lang.String v, v;
io.smallrye.common.ref.Reference v;
boolean v, v;
java.util.Iterator v;
java.util.Set v;
java.lang.SecurityManager v;
io.smallrye.common.ref.Reference$Type v;
java.security.Permission v;
java.lang.Object v, v, v, v, v, v, v;
v := @this: org.jboss.logmanager.LogContext;
v := @parameter: java.util.logging.Level;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = <org.jboss.logmanager.LogContext: java.security.Permission CONTROL_PERMISSION>;
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.atomic.AtomicReference levelMapReference>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
v = virtualinvoke v.<java.util.logging.Level: java.lang.String getName()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = interfaceinvoke v.<io.smallrye.common.ref.Reference: java.lang.Object get()>();
if v == v goto label;
label:
return;
label:
v = new java.util.HashMap;
v = interfaceinvoke v.<java.util.Map: int size()>();
specialinvoke v.<java.util.HashMap: void <init>(int)>(v);
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = interfaceinvoke v.<io.smallrye.common.ref.Reference: java.lang.Object get()>();
if v == null goto label;
if v == v goto label;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = virtualinvoke v.<java.util.logging.Level: java.lang.String getName()>();
v = <io.smallrye.common.ref.Reference$Type: io.smallrye.common.ref.Reference$Type WEAK>;
v = staticinvoke <io.smallrye.common.ref.References: io.smallrye.common.ref.Reference create(io.smallrye.common.ref.Reference$Type,java.lang.Object,java.lang.Object)>(v, v, null);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.atomic.AtomicReference levelMapReference>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: boolean compareAndSet(java.lang.Object,java.lang.Object)>(v, v);
if v == 0 goto label;
return;
}
public static org.jboss.logmanager.LogContext getSystemLogContext()
{
org.jboss.logmanager.LogContext v;
v = <org.jboss.logmanager.LogContext: org.jboss.logmanager.LogContext SYSTEM_CONTEXT>;
return v;
}
public static org.jboss.logmanager.LogContext getLogContext()
{
org.jboss.logmanager.LogContext v;
org.jboss.logmanager.LogContextSelector v;
v = <org.jboss.logmanager.LogContext: org.jboss.logmanager.LogContextSelector logContextSelector>;
v = interfaceinvoke v.<org.jboss.logmanager.LogContextSelector: org.jboss.logmanager.LogContext getLogContext()>();
return v;
}
public static void setLogContextSelector(org.jboss.logmanager.LogContextSelector)
{
java.security.Permission v;
org.jboss.logmanager.LogContextSelector v;
java.lang.NullPointerException v;
java.lang.SecurityManager v;
v := @parameter: org.jboss.logmanager.LogContextSelector;
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("newSelector is null");
throw v;
label:
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = <org.jboss.logmanager.LogContext: java.security.Permission SET_CONTEXT_SELECTOR_PERMISSION>;
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
<org.jboss.logmanager.LogContext: org.jboss.logmanager.LogContextSelector logContextSelector> = v;
return;
}
public static org.jboss.logmanager.LogContextSelector getLogContextSelector()
{
org.jboss.logmanager.LogContextSelector v;
v = <org.jboss.logmanager.LogContext: org.jboss.logmanager.LogContextSelector logContextSelector>;
return v;
}
public void close() throws java.lang.Exception
{
java.lang.Throwable v;
org.jboss.logmanager.LogContext v;
java.util.Map v, v;
boolean v, v, v, v;
java.lang.invoke.VarHandle v;
java.util.Iterator v, v;
java.util.concurrent.locks.ReentrantLock v, v, v;
java.util.Collection v;
java.util.Set v, v, v;
java.lang.Exception v;
org.jboss.logmanager.LoggerNode v;
java.lang.Object v, v;
v := @this: org.jboss.logmanager.LogContext;
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.locks.ReentrantLock treeLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void lock()>();
label:
v = v.<org.jboss.logmanager.LogContext: org.jboss.logmanager.LoggerNode rootLogger>;
specialinvoke v.<org.jboss.logmanager.LogContext: void recursivelyClose(org.jboss.logmanager.LoggerNode)>(v);
v = v.<org.jboss.logmanager.LogContext: java.util.Set closeHandlers>;
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.lang.AutoCloseable: void close()>();
goto label;
label:
v = <org.jboss.logmanager.LogContext: java.lang.invoke.VarHandle attachmentHandle>;
v = staticinvoke <java.util.Map: java.util.Map of()>();
v = virtualinvoke v.<java.lang.invoke.VarHandle: java.util.Map getAndSet(org.jboss.logmanager.LogContext,java.util.Map)>(v, v);
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v instanceof java.lang.AutoCloseable;
if v == 0 goto label;
label:
interfaceinvoke v.<java.lang.AutoCloseable: void close()>();
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
v = v.<org.jboss.logmanager.LogContext: java.util.Set pinnedSet>;
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.jboss.logmanager.LogContext: java.util.Set pinnedSet>;
interfaceinvoke v.<java.util.Set: void clear()>();
label:
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.locks.ReentrantLock treeLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.locks.ReentrantLock treeLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public java.util.Enumeration getLoggerNames()
{
org.jboss.logmanager.LogContext v;
org.jboss.logmanager.LoggerNode v;
java.util.Enumeration v;
v := @this: org.jboss.logmanager.LogContext;
v = v.<org.jboss.logmanager.LogContext: org.jboss.logmanager.LoggerNode rootLogger>;
v = virtualinvoke v.<org.jboss.logmanager.LoggerNode: java.util.Enumeration getLoggerNames()>();
return v;
}
public void addCloseHandler(java.lang.AutoCloseable)
{
java.lang.Throwable v;
org.jboss.logmanager.LogContext v;
java.util.concurrent.locks.ReentrantLock v, v, v;
java.util.Set v;
java.lang.AutoCloseable v;
java.lang.SecurityManager v;
java.security.Permission v;
v := @this: org.jboss.logmanager.LogContext;
v := @parameter: java.lang.AutoCloseable;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = <org.jboss.logmanager.LogContext: java.security.Permission CONTROL_PERMISSION>;
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.locks.ReentrantLock treeLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void lock()>();
label:
v = v.<org.jboss.logmanager.LogContext: java.util.Set closeHandlers>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.locks.ReentrantLock treeLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.locks.ReentrantLock treeLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public java.util.Set getCloseHandlers()
{
java.lang.Throwable v;
org.jboss.logmanager.LogContext v;
java.util.concurrent.locks.ReentrantLock v, v, v;
java.util.Set v;
java.util.LinkedHashSet v;
v := @this: org.jboss.logmanager.LogContext;
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.locks.ReentrantLock treeLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void lock()>();
label:
v = new java.util.LinkedHashSet;
v = v.<org.jboss.logmanager.LogContext: java.util.Set closeHandlers>;
specialinvoke v.<java.util.LinkedHashSet: void <init>(java.util.Collection)>(v);
label:
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.locks.ReentrantLock treeLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
return v;
label:
v := @caughtexception;
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.locks.ReentrantLock treeLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
public void setCloseHandlers(java.util.Collection)
{
java.lang.Throwable v;
org.jboss.logmanager.LogContext v;
java.util.concurrent.locks.ReentrantLock v, v, v;
java.util.Collection v;
java.util.Set v, v;
java.lang.SecurityManager v;
java.security.Permission v;
v := @this: org.jboss.logmanager.LogContext;
v := @parameter: java.util.Collection;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = <org.jboss.logmanager.LogContext: java.security.Permission CONTROL_PERMISSION>;
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.locks.ReentrantLock treeLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void lock()>();
label:
v = v.<org.jboss.logmanager.LogContext: java.util.Set closeHandlers>;
interfaceinvoke v.<java.util.Set: void clear()>();
v = v.<org.jboss.logmanager.LogContext: java.util.Set closeHandlers>;
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
label:
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.locks.ReentrantLock treeLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.locks.ReentrantLock treeLock>;
virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private static java.lang.SecurityException accessDenied()
{
java.lang.SecurityException v;
v = new java.lang.SecurityException;
specialinvoke v.<java.lang.SecurityException: void <init>(java.lang.String)>("Log context modification access denied");
return v;
}
static void checkAccess()
{
java.security.Permission v;
java.lang.SecurityManager v;
v = staticinvoke <java.lang.System: java.lang.SecurityManager getSecurityManager()>();
if v == null goto label;
v = <org.jboss.logmanager.LogContext: java.security.Permission CONTROL_PERMISSION>;
virtualinvoke v.<java.lang.SecurityManager: void checkPermission(java.security.Permission)>(v);
label:
return;
}
org.jboss.logmanager.LoggerNode getRootLoggerNode()
{
org.jboss.logmanager.LogContext v;
org.jboss.logmanager.LoggerNode v;
v := @this: org.jboss.logmanager.LogContext;
v = v.<org.jboss.logmanager.LogContext: org.jboss.logmanager.LoggerNode rootLogger>;
return v;
}
java.util.concurrent.ConcurrentMap createChildMap()
{
org.jboss.logmanager.LogContext v;
org.jboss.logmanager.CopyOnWriteWeakMap v;
org.jboss.logmanager.CopyOnWriteMap v;
boolean v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.jboss.logmanager.LogContext;
v = v.<org.jboss.logmanager.LogContext: boolean strong>;
if v == 0 goto label;
v = new org.jboss.logmanager.CopyOnWriteMap;
v = v;
specialinvoke v.<org.jboss.logmanager.CopyOnWriteMap: void <init>()>();
goto label;
label:
v = new org.jboss.logmanager.CopyOnWriteWeakMap;
v = v;
specialinvoke v.<org.jboss.logmanager.CopyOnWriteWeakMap: void <init>()>();
label:
return v;
}
boolean pin(org.jboss.logmanager.LoggerNode)
{
org.jboss.logmanager.LogContext v;
org.jboss.logmanager.LoggerNode v;
java.util.Set v;
boolean v, v, v;
v := @this: org.jboss.logmanager.LogContext;
v := @parameter: org.jboss.logmanager.LoggerNode;
v = v.<org.jboss.logmanager.LogContext: boolean strong>;
if v != 0 goto label;
v = v.<org.jboss.logmanager.LogContext: java.util.Set pinnedSet>;
v = interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
boolean unpin(org.jboss.logmanager.LoggerNode)
{
org.jboss.logmanager.LogContext v;
org.jboss.logmanager.LoggerNode v;
java.util.Set v;
boolean v, v, v;
v := @this: org.jboss.logmanager.LogContext;
v := @parameter: org.jboss.logmanager.LoggerNode;
v = v.<org.jboss.logmanager.LogContext: boolean strong>;
if v != 0 goto label;
v = v.<org.jboss.logmanager.LogContext: java.util.Set pinnedSet>;
v = interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
org.jboss.logmanager.LogContextInitializer getInitializer()
{
org.jboss.logmanager.LogContext v;
org.jboss.logmanager.LogContextInitializer v;
v := @this: org.jboss.logmanager.LogContext;
v = v.<org.jboss.logmanager.LogContext: org.jboss.logmanager.LogContextInitializer initializer>;
return v;
}
private void recursivelyClose(org.jboss.logmanager.LoggerNode)
{
org.jboss.logmanager.LogContext v;
java.util.Iterator v;
java.util.concurrent.locks.ReentrantLock v;
java.util.Collection v;
java.lang.AssertionError v;
org.jboss.logmanager.LoggerNode v;
java.lang.Object v;
boolean v, v, v;
v := @this: org.jboss.logmanager.LogContext;
v := @parameter: org.jboss.logmanager.LoggerNode;
v = <org.jboss.logmanager.LogContext: boolean $assertionsDisabled>;
if v != 0 goto label;
v = v.<org.jboss.logmanager.LogContext: java.util.concurrent.locks.ReentrantLock treeLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantLock: boolean isHeldByCurrentThread()>();
if v != 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = virtualinvoke v.<org.jboss.logmanager.LoggerNode: java.util.Collection getChildren()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
specialinvoke v.<org.jboss.logmanager.LogContext: void recursivelyClose(org.jboss.logmanager.LoggerNode)>(v);
goto label;
label:
virtualinvoke v.<org.jboss.logmanager.LoggerNode: void close()>();
return;
}
static void <clinit>()
{
java.lang.invoke.VarHandle v;
org.jboss.logmanager.LogContext v;
org.jboss.logmanager.LogContext$1 v;
java.lang.invoke.MethodHandles$Lookup v;
org.jboss.logmanager.LogContextInitializer v;
java.util.logging.LoggingPermission v;
org.jboss.logmanager.LogContextSelector v;
java.lang.Class v;
java.lang.RuntimePermission v, v;
boolean v, v;
v = class "Lorg/jboss/logmanager/LogContext;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<org.jboss.logmanager.LogContext: boolean $assertionsDisabled> = v;
v = new org.jboss.logmanager.LogContext;
v = staticinvoke <org.jboss.logmanager.LogContext: org.jboss.logmanager.LogContextInitializer discoverDefaultInitializer()>();
specialinvoke v.<org.jboss.logmanager.LogContext: void <init>(boolean,org.jboss.logmanager.LogContextInitializer)>(0, v);
<org.jboss.logmanager.LogContext: org.jboss.logmanager.LogContext SYSTEM_CONTEXT> = v;
v = new java.lang.RuntimePermission;
specialinvoke v.<java.lang.RuntimePermission: void <init>(java.lang.String,java.lang.String)>("createLogContext", null);
<org.jboss.logmanager.LogContext: java.security.Permission CREATE_CONTEXT_PERMISSION> = v;
v = new java.lang.RuntimePermission;
specialinvoke v.<java.lang.RuntimePermission: void <init>(java.lang.String,java.lang.String)>("setLogContextSelector", null);
<org.jboss.logmanager.LogContext: java.security.Permission SET_CONTEXT_SELECTOR_PERMISSION> = v;
v = new java.util.logging.LoggingPermission;
specialinvoke v.<java.util.logging.LoggingPermission: void <init>(java.lang.String,java.lang.String)>("control", null);
<org.jboss.logmanager.LogContext: java.security.Permission CONTROL_PERMISSION> = v;
v = staticinvoke <java.lang.invoke.MethodHandles: java.lang.invoke.MethodHandles$Lookup lookup()>();
v = staticinvoke <java.lang.invoke.ConstantBootstraps: java.lang.invoke.VarHandle fieldVarHandle(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.Class,java.lang.Class,java.lang.Class)>(v, "attachments", class "Ljava/lang/invoke/VarHandle;", class "Lorg/jboss/logmanager/LogContext;", class "Ljava/util/Map;");
<org.jboss.logmanager.LogContext: java.lang.invoke.VarHandle attachmentHandle> = v;
v = new org.jboss.logmanager.LogContext$1;
specialinvoke v.<org.jboss.logmanager.LogContext$1: void <init>()>();
<org.jboss.logmanager.LogContext: org.jboss.logmanager.LogContextSelector DEFAULT_LOG_CONTEXT_SELECTOR> = v;
v = <org.jboss.logmanager.LogContext: org.jboss.logmanager.LogContextSelector DEFAULT_LOG_CONTEXT_SELECTOR>;
<org.jboss.logmanager.LogContext: org.jboss.logmanager.LogContextSelector logContextSelector> = v;
return;
}
}