SetBuilder.smali
.class public final Ldagger/internal/SetBuilder;
.super Ljava/lang/Object;
.source "SetBuilder.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# static fields
.field private static final SET_CONTRIBUTIONS_CANNOT_BE_NULL:Ljava/lang/String; = "Set contributions cannot be null"
# instance fields
.field private final contributions:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"TT;>;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method private constructor <init>(I)V
.registers 3
.param p1, "estimatedSize" # I
.line 37
.local p0, "this":Ldagger/internal/SetBuilder;, "Ldagger/internal/SetBuilder<TT;>;"
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 38
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0, p1}, Ljava/util/ArrayList;-><init>(I)V
iput-object v0, p0, Ldagger/internal/SetBuilder;->contributions:Ljava/util/List;
.line 39
return-void
.end method
.method public static newSetBuilder(I)Ldagger/internal/SetBuilder;
.registers 2
.param p0, "estimatedSize" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(I)",
"Ldagger/internal/SetBuilder<",
"TT;>;"
}
.end annotation
.line 47
new-instance v0, Ldagger/internal/SetBuilder;
invoke-direct {v0, p0}, Ldagger/internal/SetBuilder;-><init>(I)V
return-object v0
.end method
# virtual methods
.method public add(Ljava/lang/Object;)Ldagger/internal/SetBuilder;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)",
"Ldagger/internal/SetBuilder<",
"TT;>;"
}
.end annotation
.line 51
.local p0, "this":Ldagger/internal/SetBuilder;, "Ldagger/internal/SetBuilder<TT;>;"
.local p1, "t":Ljava/lang/Object;, "TT;"
iget-object v0, p0, Ldagger/internal/SetBuilder;->contributions:Ljava/util/List;
const-string v1, "Set contributions cannot be null"
invoke-static {p1, v1}, Ldagger/internal/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 52
return-object p0
.end method
.method public addAll(Ljava/util/Collection;)Ldagger/internal/SetBuilder;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"+TT;>;)",
"Ldagger/internal/SetBuilder<",
"TT;>;"
}
.end annotation
.line 56
.local p0, "this":Ldagger/internal/SetBuilder;, "Ldagger/internal/SetBuilder<TT;>;"
.local p1, "collection":Ljava/util/Collection;, "Ljava/util/Collection<+TT;>;"
invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_4
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_14
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
.line 57
.local v1, "item":Ljava/lang/Object;, "TT;"
const-string v2, "Set contributions cannot be null"
invoke-static {v1, v2}, Ldagger/internal/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
.line 58
.end local v1 # "item":Ljava/lang/Object;, "TT;"
goto :goto_4
.line 59
:cond_14
iget-object v0, p0, Ldagger/internal/SetBuilder;->contributions:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
.line 60
return-object p0
.end method
.method public build()Ljava/util/Set;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set<",
"TT;>;"
}
.end annotation
.line 64
.local p0, "this":Ldagger/internal/SetBuilder;, "Ldagger/internal/SetBuilder<TT;>;"
iget-object v0, p0, Ldagger/internal/SetBuilder;->contributions:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
if-eqz v0, :cond_23
const/4 v1, 0x1
if-eq v0, v1, :cond_17
.line 70
new-instance v0, Ljava/util/HashSet;
iget-object v1, p0, Ldagger/internal/SetBuilder;->contributions:Ljava/util/List;
invoke-direct {v0, v1}, Ljava/util/HashSet;-><init>(Ljava/util/Collection;)V
invoke-static {v0}, Ljava/util/Collections;->unmodifiableSet(Ljava/util/Set;)Ljava/util/Set;
move-result-object v0
return-object v0
.line 68
:cond_17
iget-object v0, p0, Ldagger/internal/SetBuilder;->contributions:Ljava/util/List;
const/4 v1, 0x0
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Ljava/util/Collections;->singleton(Ljava/lang/Object;)Ljava/util/Set;
move-result-object v0
return-object v0
.line 66
:cond_23
invoke-static {}, Ljava/util/Collections;->emptySet()Ljava/util/Set;
move-result-object v0
return-object v0
.end method