CycleDetectingLockFactory.smali
.class public Lcom/google/common/util/concurrent/CycleDetectingLockFactory;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/util/concurrent/CycleDetectingLockFactory$b;,
Lcom/google/common/util/concurrent/CycleDetectingLockFactory$PotentialDeadlockException;,
Lcom/google/common/util/concurrent/CycleDetectingLockFactory$a;
}
.end annotation
# static fields
.field private static final a:Ljava/util/concurrent/ConcurrentMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentMap<",
"Ljava/lang/Class<",
"+",
"Ljava/lang/Enum;",
">;",
"Ljava/util/Map<",
"+",
"Ljava/lang/Enum;",
"Lcom/google/common/util/concurrent/CycleDetectingLockFactory$b;",
">;>;"
}
.end annotation
.end field
.field private static final b:Ljava/util/logging/Logger;
.field private static final c:Ljava/lang/ThreadLocal;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ThreadLocal<",
"Ljava/util/ArrayList<",
"Lcom/google/common/util/concurrent/CycleDetectingLockFactory$b;",
">;>;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 6
.line 276
new-instance v0, Lcom/google/common/collect/i;
invoke-direct {v0}, Lcom/google/common/collect/i;-><init>()V
.line 1203
sget-object v1, Lcom/google/common/collect/j$l;->WEAK:Lcom/google/common/collect/j$l;
.line 1207
iget-object v2, v0, Lcom/google/common/collect/i;->d:Lcom/google/common/collect/j$l;
const/4 v3, 0x0
const/4 v4, 0x1
if-nez v2, :cond_f
const/4 v2, 0x1
goto :goto_10
:cond_f
const/4 v2, 0x0
:goto_10
iget-object v5, v0, Lcom/google/common/collect/i;->d:Lcom/google/common/collect/j$l;
if-eqz v2, :cond_50
.line 1208
invoke-static {v1}, Lcom/google/common/base/f;->a(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/common/collect/j$l;
iput-object v2, v0, Lcom/google/common/collect/i;->d:Lcom/google/common/collect/j$l;
.line 1209
sget-object v2, Lcom/google/common/collect/j$l;->STRONG:Lcom/google/common/collect/j$l;
if-eq v1, v2, :cond_22
.line 1211
iput-boolean v4, v0, Lcom/google/common/collect/i;->a:Z
.line 2278
:cond_22
iget-boolean v1, v0, Lcom/google/common/collect/i;->a:Z
if-nez v1, :cond_36
.line 2279
new-instance v1, Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v0}, Lcom/google/common/collect/i;->a()I
move-result v2
const/high16 v3, 0x3f400000 # 0.75f
invoke-virtual {v0}, Lcom/google/common/collect/i;->b()I
move-result v0
invoke-direct {v1, v2, v3, v0}, Ljava/util/concurrent/ConcurrentHashMap;-><init>(IFI)V
goto :goto_3a
.line 2281
:cond_36
invoke-static {v0}, Lcom/google/common/collect/j;->a(Lcom/google/common/collect/i;)Lcom/google/common/collect/j;
move-result-object v1
.line 276
:goto_3a
sput-object v1, Lcom/google/common/util/concurrent/CycleDetectingLockFactory;->a:Ljava/util/concurrent/ConcurrentMap;
.line 453
const-class v0, Lcom/google/common/util/concurrent/CycleDetectingLockFactory;
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
move-result-object v0
sput-object v0, Lcom/google/common/util/concurrent/CycleDetectingLockFactory;->b:Ljava/util/logging/Logger;
.line 467
new-instance v0, Lcom/google/common/util/concurrent/CycleDetectingLockFactory$1;
invoke-direct {v0}, Lcom/google/common/util/concurrent/CycleDetectingLockFactory$1;-><init>()V
sput-object v0, Lcom/google/common/util/concurrent/CycleDetectingLockFactory;->c:Ljava/lang/ThreadLocal;
return-void
.line 1582
:cond_50
new-instance v0, Ljava/lang/IllegalStateException;
new-array v1, v4, [Ljava/lang/Object;
aput-object v5, v1, v3
const-string v2, "Key strength was already set to %s"
invoke-static {v2, v1}, Lcom/google/common/base/f;->a(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method