final class oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock extends java.util.concurrent.locks.ReentrantLock implements oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingLock
{
private final oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode lockGraphNode;
final oadd.com.google.common.util.concurrent.CycleDetectingLockFactory this$0;
private void <init>(oadd.com.google.common.util.concurrent.CycleDetectingLockFactory, oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode, boolean)
{
oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock v;
oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode v;
oadd.com.google.common.util.concurrent.CycleDetectingLockFactory v;
java.lang.Object v;
boolean v;
v := @this: oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock;
v := @parameter: oadd.com.google.common.util.concurrent.CycleDetectingLockFactory;
v := @parameter: oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode;
v := @parameter: boolean;
v.<oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock: oadd.com.google.common.util.concurrent.CycleDetectingLockFactory this$0> = v;
specialinvoke v.<java.util.concurrent.locks.ReentrantLock: void <init>(boolean)>(v);
v = staticinvoke <oadd.com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v.<oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock: oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode lockGraphNode> = v;
return;
}
public oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode getLockGraphNode()
{
oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock v;
oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode v;
v := @this: oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock;
v = v.<oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock: oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode lockGraphNode>;
return v;
}
public boolean isAcquiredByCurrentThread()
{
oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock v;
boolean v;
v := @this: oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock;
v = virtualinvoke v.<oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock: boolean isHeldByCurrentThread()>();
return v;
}
public void lock()
{
java.lang.Throwable v;
oadd.com.google.common.util.concurrent.CycleDetectingLockFactory v;
oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock v;
v := @this: oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock;
v = v.<oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock: oadd.com.google.common.util.concurrent.CycleDetectingLockFactory this$0>;
specialinvoke v.<oadd.com.google.common.util.concurrent.CycleDetectingLockFactory: void aboutToAcquire(oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingLock)>(v);
label:
specialinvoke v.<java.util.concurrent.locks.ReentrantLock: void lock()>();
label:
staticinvoke <oadd.com.google.common.util.concurrent.CycleDetectingLockFactory: void lockStateChanged(oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingLock)>(v);
goto label;
label:
v := @caughtexception;
staticinvoke <oadd.com.google.common.util.concurrent.CycleDetectingLockFactory: void lockStateChanged(oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingLock)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void lockInterruptibly() throws java.lang.InterruptedException
{
java.lang.Throwable v;
oadd.com.google.common.util.concurrent.CycleDetectingLockFactory v;
oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock v;
v := @this: oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock;
v = v.<oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock: oadd.com.google.common.util.concurrent.CycleDetectingLockFactory this$0>;
specialinvoke v.<oadd.com.google.common.util.concurrent.CycleDetectingLockFactory: void aboutToAcquire(oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingLock)>(v);
label:
specialinvoke v.<java.util.concurrent.locks.ReentrantLock: void lockInterruptibly()>();
label:
staticinvoke <oadd.com.google.common.util.concurrent.CycleDetectingLockFactory: void lockStateChanged(oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingLock)>(v);
goto label;
label:
v := @caughtexception;
staticinvoke <oadd.com.google.common.util.concurrent.CycleDetectingLockFactory: void lockStateChanged(oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingLock)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public boolean tryLock()
{
java.lang.Throwable v;
oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock v;
oadd.com.google.common.util.concurrent.CycleDetectingLockFactory v;
boolean v;
v := @this: oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock;
v = v.<oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock: oadd.com.google.common.util.concurrent.CycleDetectingLockFactory this$0>;
specialinvoke v.<oadd.com.google.common.util.concurrent.CycleDetectingLockFactory: void aboutToAcquire(oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingLock)>(v);
label:
v = specialinvoke v.<java.util.concurrent.locks.ReentrantLock: boolean tryLock()>();
label:
staticinvoke <oadd.com.google.common.util.concurrent.CycleDetectingLockFactory: void lockStateChanged(oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingLock)>(v);
return v;
label:
v := @caughtexception;
staticinvoke <oadd.com.google.common.util.concurrent.CycleDetectingLockFactory: void lockStateChanged(oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingLock)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
}
public boolean tryLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException
{
java.lang.Throwable v;
java.util.concurrent.TimeUnit v;
oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock v;
oadd.com.google.common.util.concurrent.CycleDetectingLockFactory v;
long v;
boolean v;
v := @this: oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = v.<oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock: oadd.com.google.common.util.concurrent.CycleDetectingLockFactory this$0>;
specialinvoke v.<oadd.com.google.common.util.concurrent.CycleDetectingLockFactory: void aboutToAcquire(oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingLock)>(v);
label:
v = specialinvoke v.<java.util.concurrent.locks.ReentrantLock: boolean tryLock(long,java.util.concurrent.TimeUnit)>(v, v);
label:
staticinvoke <oadd.com.google.common.util.concurrent.CycleDetectingLockFactory: void lockStateChanged(oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingLock)>(v);
return v;
label:
v := @caughtexception;
staticinvoke <oadd.com.google.common.util.concurrent.CycleDetectingLockFactory: void lockStateChanged(oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingLock)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
}
public void unlock()
{
java.lang.Throwable v;
oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock v;
v := @this: oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock;
label:
specialinvoke v.<java.util.concurrent.locks.ReentrantLock: void unlock()>();
label:
staticinvoke <oadd.com.google.common.util.concurrent.CycleDetectingLockFactory: void lockStateChanged(oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingLock)>(v);
goto label;
label:
v := @caughtexception;
staticinvoke <oadd.com.google.common.util.concurrent.CycleDetectingLockFactory: void lockStateChanged(oadd.com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingLock)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
}