public final class com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering extends com.google.common.util.concurrent.CycleDetectingLockFactory
{
private final java.util.Map lockGraphNodes;
void <init>(com.google.common.util.concurrent.CycleDetectingLockFactory$Policy, java.util.Map)
{
com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering v;
com.google.common.util.concurrent.CycleDetectingLockFactory$Policy v;
java.util.Map v;
v := @this: com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering;
v := @parameter: com.google.common.util.concurrent.CycleDetectingLockFactory$Policy;
v := @parameter: java.util.Map;
specialinvoke v.<com.google.common.util.concurrent.CycleDetectingLockFactory: void <init>(com.google.common.util.concurrent.CycleDetectingLockFactory$Policy)>(v);
v.<com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering: java.util.Map lockGraphNodes> = v;
return;
}
public java.util.concurrent.locks.ReentrantLock newReentrantLock(java.lang.Enum)
{
com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering v;
java.lang.Enum v;
java.util.concurrent.locks.ReentrantLock v;
v := @this: com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering;
v := @parameter: java.lang.Enum;
v = virtualinvoke v.<com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering: java.util.concurrent.locks.ReentrantLock newReentrantLock(java.lang.Enum,boolean)>(v, 0);
return v;
}
public java.util.concurrent.locks.ReentrantLock newReentrantLock(java.lang.Enum, boolean)
{
java.util.concurrent.locks.ReentrantLock v, v;
com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock v;
com.google.common.util.concurrent.CycleDetectingLockFactory$Policies v;
com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering v;
java.lang.Enum v;
com.google.common.util.concurrent.CycleDetectingLockFactory$Policy v;
java.util.Map v;
java.lang.Object v, v;
boolean v;
v := @this: com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering;
v := @parameter: java.lang.Enum;
v := @parameter: boolean;
v = v.<com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering: com.google.common.util.concurrent.CycleDetectingLockFactory$Policy policy>;
v = <com.google.common.util.concurrent.CycleDetectingLockFactory$Policies: com.google.common.util.concurrent.CycleDetectingLockFactory$Policies DISABLED>;
if v != v goto label;
v = new java.util.concurrent.locks.ReentrantLock;
v = v;
specialinvoke v.<java.util.concurrent.locks.ReentrantLock: void <init>(boolean)>(v);
goto label;
label:
v = new com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock;
v = v;
v = v.<com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering: java.util.Map lockGraphNodes>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(v);
specialinvoke v.<com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantLock: void <init>(com.google.common.util.concurrent.CycleDetectingLockFactory,com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode,boolean)>(v, v, v);
label:
return v;
}
public java.util.concurrent.locks.ReentrantReadWriteLock newReentrantReadWriteLock(java.lang.Enum)
{
java.util.concurrent.locks.ReentrantReadWriteLock v;
com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering v;
java.lang.Enum v;
v := @this: com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering;
v := @parameter: java.lang.Enum;
v = virtualinvoke v.<com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering: java.util.concurrent.locks.ReentrantReadWriteLock newReentrantReadWriteLock(java.lang.Enum,boolean)>(v, 0);
return v;
}
public java.util.concurrent.locks.ReentrantReadWriteLock newReentrantReadWriteLock(java.lang.Enum, boolean)
{
com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantReadWriteLock v;
com.google.common.util.concurrent.CycleDetectingLockFactory$Policies v;
java.util.concurrent.locks.ReentrantReadWriteLock v, v;
com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering v;
java.lang.Enum v;
com.google.common.util.concurrent.CycleDetectingLockFactory$Policy v;
java.util.Map v;
java.lang.Object v, v;
boolean v;
v := @this: com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering;
v := @parameter: java.lang.Enum;
v := @parameter: boolean;
v = v.<com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering: com.google.common.util.concurrent.CycleDetectingLockFactory$Policy policy>;
v = <com.google.common.util.concurrent.CycleDetectingLockFactory$Policies: com.google.common.util.concurrent.CycleDetectingLockFactory$Policies DISABLED>;
if v != v goto label;
v = new java.util.concurrent.locks.ReentrantReadWriteLock;
v = v;
specialinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: void <init>(boolean)>(v);
goto label;
label:
v = new com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantReadWriteLock;
v = v;
v = v.<com.google.common.util.concurrent.CycleDetectingLockFactory$WithExplicitOrdering: java.util.Map lockGraphNodes>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object)>(v);
specialinvoke v.<com.google.common.util.concurrent.CycleDetectingLockFactory$CycleDetectingReentrantReadWriteLock: void <init>(com.google.common.util.concurrent.CycleDetectingLockFactory,com.google.common.util.concurrent.CycleDetectingLockFactory$LockGraphNode,boolean)>(v, v, v);
label:
return v;
}
}