o.smali
.class public abstract Lt3/o;
.super Lt3/l;
.source "ImmutableSet.java"
# interfaces
.implements Ljava/util/Set;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lt3/o$a;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">",
"Lt3/l<",
"TE;>;",
"Ljava/util/Set<",
"TE;>;"
}
.end annotation
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Lt3/l;-><init>()V
return-void
.end method
.method public static synthetic a(I[Ljava/lang/Object;)Lt3/o;
.registers 2
invoke-static {p0, p1}, Lt3/o;->b(I[Ljava/lang/Object;)Lt3/o;
move-result-object p0
return-object p0
.end method
.method public static varargs b(I[Ljava/lang/Object;)Lt3/o;
.registers 15
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">(I[",
"Ljava/lang/Object;",
")",
"Lt3/o<",
"TE;>;"
}
.end annotation
if-eqz p0, :cond_68
const/4 v0, 0x0
const/4 v1, 0x1
if-eq p0, v1, :cond_61
invoke-static {p0}, Lt3/o;->c(I)I
move-result v2
new-array v3, v2, [Ljava/lang/Object;
add-int/lit8 v4, v2, -0x1
const/4 v5, 0x0
const/4 v6, 0x0
const/4 v7, 0x0
:goto_11
if-ge v5, p0, :cond_3b
aget-object v8, p1, v5
invoke-static {v8, v5}, Lt3/x;->a(Ljava/lang/Object;I)Ljava/lang/Object;
invoke-virtual {v8}, Ljava/lang/Object;->hashCode()I
move-result v9
invoke-static {v9}, Lt3/k;->a(I)I
move-result v10
:goto_20
and-int v11, v10, v4
aget-object v12, v3, v11
if-nez v12, :cond_2f
add-int/lit8 v10, v6, 0x1
aput-object v8, p1, v6
aput-object v8, v3, v11
add-int/2addr v7, v9
move v6, v10
goto :goto_35
:cond_2f
invoke-virtual {v12, v8}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v11
if-eqz v11, :cond_38
:goto_35
add-int/lit8 v5, v5, 0x1
goto :goto_11
:cond_38
add-int/lit8 v10, v10, 0x1
goto :goto_20
:cond_3b
const/4 v5, 0x0
invoke-static {p1, v6, p0, v5}, Ljava/util/Arrays;->fill([Ljava/lang/Object;IILjava/lang/Object;)V
if-ne v6, v1, :cond_49
aget-object p0, p1, v0
new-instance p1, Lt3/f0;
invoke-direct {p1, p0, v7}, Lt3/f0;-><init>(Ljava/lang/Object;I)V
return-object p1
:cond_49
invoke-static {v6}, Lt3/o;->c(I)I
move-result p0
if-eq v2, p0, :cond_54
invoke-static {v6, p1}, Lt3/o;->b(I[Ljava/lang/Object;)Lt3/o;
move-result-object p0
return-object p0
:cond_54
array-length p0, p1
if-ge v6, p0, :cond_5b
invoke-static {p1, v6}, Lt3/x;->a([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object p1
:cond_5b
new-instance p0, Lt3/b0;
invoke-direct {p0, p1, v7, v3, v4}, Lt3/b0;-><init>([Ljava/lang/Object;I[Ljava/lang/Object;I)V
return-object p0
:cond_61
aget-object p0, p1, v0
invoke-static {p0}, Lt3/o;->of(Ljava/lang/Object;)Lt3/o;
move-result-object p0
return-object p0
:cond_68
invoke-static {}, Lt3/o;->of()Lt3/o;
move-result-object p0
return-object p0
.end method
.method public static c(I)I
.registers 7
const/4 v0, 0x1
const v1, 0x2ccccccc
if-ge p0, v1, :cond_22
add-int/lit8 v1, p0, -0x1
invoke-static {v1}, Ljava/lang/Integer;->highestOneBit(I)I
move-result v1
shl-int/lit8 v0, v1, 0x1
:goto_e
int-to-double v1, v0
const-wide v3, 0x3fe6666666666666L # 0.7
invoke-static {v1, v2}, Ljava/lang/Double;->isNaN(D)Z
mul-double v1, v1, v3
int-to-double v3, p0
cmpg-double v5, v1, v3
if-gez v5, :cond_21
shl-int/lit8 v0, v0, 0x1
goto :goto_e
:cond_21
return v0
:cond_22
const/high16 v1, 0x40000000 # 2.0f
if-ge p0, v1, :cond_27
goto :goto_28
:cond_27
const/4 v0, 0x0
:goto_28
const-string p0, "collection too large"
invoke-static {v0, p0}, Lr3/j;->a(ZLjava/lang/Object;)V
return v1
.end method
.method public static d()Lt3/o$a;
.registers 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">()",
"Lt3/o$a<",
"TE;>;"
}
.end annotation
new-instance v0, Lt3/o$a;
invoke-direct {v0}, Lt3/o$a;-><init>()V
return-object v0
.end method
.method public static of()Lt3/o;
.registers 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">()",
"Lt3/o<",
"TE;>;"
}
.end annotation
sget-object v0, Lt3/i;->a:Lt3/i;
return-object v0
.end method
.method public static of(Ljava/lang/Object;)Lt3/o;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">(TE;)",
"Lt3/o<",
"TE;>;"
}
.end annotation
new-instance v0, Lt3/f0;
invoke-direct {v0, p0}, Lt3/f0;-><init>(Ljava/lang/Object;)V
return-object v0
.end method
.method public static of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lt3/o;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">(TE;TE;TE;)",
"Lt3/o<",
"TE;>;"
}
.end annotation
const/4 v0, 0x3
new-array v1, v0, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p0, v1, v2
const/4 p0, 0x1
aput-object p1, v1, p0
const/4 p0, 0x2
aput-object p2, v1, p0
invoke-static {v0, v1}, Lt3/o;->b(I[Ljava/lang/Object;)Lt3/o;
move-result-object p0
return-object p0
.end method
# virtual methods
.method public c()Z
.registers 2
const/4 v0, 0x0
return v0
.end method
.method public equals(Ljava/lang/Object;)Z
.registers 4
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/Nullable;
.end annotation
.end param
if-ne p1, p0, :cond_4
const/4 p1, 0x1
return p1
:cond_4
instance-of v0, p1, Lt3/o;
if-eqz v0, :cond_23
invoke-virtual {p0}, Lt3/o;->c()Z
move-result v0
if-eqz v0, :cond_23
move-object v0, p1
check-cast v0, Lt3/o;
invoke-virtual {v0}, Lt3/o;->c()Z
move-result v0
if-eqz v0, :cond_23
invoke-virtual {p0}, Lt3/o;->hashCode()I
move-result v0
invoke-virtual {p1}, Ljava/lang/Object;->hashCode()I
move-result v1
if-eq v0, v1, :cond_23
const/4 p1, 0x0
return p1
:cond_23
invoke-static {p0, p1}, Lt3/d0;->a(Ljava/util/Set;Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public hashCode()I
.registers 2
invoke-static {p0}, Lt3/d0;->a(Ljava/util/Set;)I
move-result v0
return v0
.end method
.method public bridge synthetic iterator()Ljava/util/Iterator;
.registers 2
invoke-virtual {p0}, Lt3/o;->iterator()Lt3/k0;
move-result-object v0
return-object v0
.end method
.method public abstract iterator()Lt3/k0;
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lt3/k0<",
"TE;>;"
}
.end annotation
.end method