public class net.bytebuddy.agent.builder.AgentBuilder$CircularityLock$Default extends java.lang.Object implements net.bytebuddy.agent.builder.AgentBuilder$CircularityLock
{
private final java.util.concurrent.ConcurrentMap threads;
public void <init>()
{
java.util.concurrent.ConcurrentHashMap v;
net.bytebuddy.agent.builder.AgentBuilder$CircularityLock$Default v;
v := @this: net.bytebuddy.agent.builder.AgentBuilder$CircularityLock$Default;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<net.bytebuddy.agent.builder.AgentBuilder$CircularityLock$Default: java.util.concurrent.ConcurrentMap threads> = v;
return;
}
public boolean acquire()
{
net.bytebuddy.agent.builder.AgentBuilder$CircularityLock$Default v;
java.lang.Thread v;
java.lang.Boolean v;
java.lang.Object v;
boolean v;
java.util.concurrent.ConcurrentMap v;
v := @this: net.bytebuddy.agent.builder.AgentBuilder$CircularityLock$Default;
v = v.<net.bytebuddy.agent.builder.AgentBuilder$CircularityLock$Default: java.util.concurrent.ConcurrentMap threads>;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
if v != null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void release()
{
net.bytebuddy.agent.builder.AgentBuilder$CircularityLock$Default v;
java.lang.Thread v;
java.util.concurrent.ConcurrentMap v;
v := @this: net.bytebuddy.agent.builder.AgentBuilder$CircularityLock$Default;
v = v.<net.bytebuddy.agent.builder.AgentBuilder$CircularityLock$Default: java.util.concurrent.ConcurrentMap threads>;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
return;
}
protected boolean isLocked()
{
net.bytebuddy.agent.builder.AgentBuilder$CircularityLock$Default v;
java.lang.Thread v;
boolean v;
java.util.concurrent.ConcurrentMap v;
v := @this: net.bytebuddy.agent.builder.AgentBuilder$CircularityLock$Default;
v = v.<net.bytebuddy.agent.builder.AgentBuilder$CircularityLock$Default: java.util.concurrent.ConcurrentMap threads>;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: boolean containsKey(java.lang.Object)>(v);
return v;
}
}