CollectionsKt__IterablesKt.smali
.class Lkotlin/collections/CollectionsKt__IterablesKt;
.super Lkotlin/collections/CollectionsKt__CollectionsKt;
.source "Iterables.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {
0x1,
0x0,
0x3
}
d1 = {
"\u0000:\n\u0000\n\u0002\u0010\u001c\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0010(\n\u0000\n\u0002\u0010\u0008\n\u0002\u0008\u0004\n\u0002\u0010\u001e\n\u0002\u0008\u0003\n\u0002\u0010 \n\u0000\n\u0002\u0010\u000b\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\u001a+\u0010\u0000\u001a\u0008\u0012\u0004\u0012\u0002H\u00020\u0001\"\u0004\u0008\u0000\u0010\u00022\u0014\u0008\u0004\u0010\u0003\u001a\u000e\u0012\n\u0012\u0008\u0012\u0004\u0012\u0002H\u00020\u00050\u0004H\u0087\u0008\u001a \u0010\u0006\u001a\u00020\u0007\"\u0004\u0008\u0000\u0010\u0002*\u0008\u0012\u0004\u0012\u0002H\u00020\u00012\u0006\u0010\u0008\u001a\u00020\u0007H\u0001\u001a\u001f\u0010\t\u001a\u0004\u0018\u00010\u0007\"\u0004\u0008\u0000\u0010\u0002*\u0008\u0012\u0004\u0012\u0002H\u00020\u0001H\u0001\u00a2\u0006\u0002\u0010\n\u001a\u001e\u0010\u000b\u001a\u0008\u0012\u0004\u0012\u0002H\u00020\u000c\"\u0004\u0008\u0000\u0010\u0002*\u0008\u0012\u0004\u0012\u0002H\u00020\u0001H\u0000\u001a,\u0010\r\u001a\u0008\u0012\u0004\u0012\u0002H\u00020\u000c\"\u0004\u0008\u0000\u0010\u0002*\u0008\u0012\u0004\u0012\u0002H\u00020\u00012\u000c\u0010\u000e\u001a\u0008\u0012\u0004\u0012\u0002H\u00020\u0001H\u0000\u001a\"\u0010\u000f\u001a\u0008\u0012\u0004\u0012\u0002H\u00020\u0010\"\u0004\u0008\u0000\u0010\u0002*\u000e\u0012\n\u0012\u0008\u0012\u0004\u0012\u0002H\u00020\u00010\u0001\u001a\u001d\u0010\u0011\u001a\u00020\u0012\"\u0004\u0008\u0000\u0010\u0002*\u0008\u0012\u0004\u0012\u0002H\u00020\u000cH\u0002\u00a2\u0006\u0002\u0008\u0013\u001a@\u0010\u0014\u001a\u001a\u0012\n\u0012\u0008\u0012\u0004\u0012\u0002H\u00020\u0010\u0012\n\u0012\u0008\u0012\u0004\u0012\u0002H\u00160\u00100\u0015\"\u0004\u0008\u0000\u0010\u0002\"\u0004\u0008\u0001\u0010\u0016*\u0014\u0012\u0010\u0012\u000e\u0012\u0004\u0012\u0002H\u0002\u0012\u0004\u0012\u0002H\u00160\u00150\u0001\u00a8\u0006\u0017"
}
d2 = {
"Iterable",
"",
"T",
"iterator",
"Lkotlin/Function0;",
"",
"collectionSizeOrDefault",
"",
"default",
"collectionSizeOrNull",
"(Ljava/lang/Iterable;)Ljava/lang/Integer;",
"convertToSetForSetOperation",
"",
"convertToSetForSetOperationWith",
"source",
"flatten",
"",
"safeToConvertToSet",
"",
"safeToConvertToSet$CollectionsKt__IterablesKt",
"unzip",
"Lkotlin/Pair;",
"R",
"kotlin-stdlib"
}
k = 0x5
mv = {
0x1,
0x1,
0xf
}
xi = 0x1
xs = "kotlin/collections/CollectionsKt"
.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}, Lkotlin/collections/CollectionsKt__CollectionsKt;-><init>()V
return-void
.end method
.method private static final Iterable(Lkotlin/jvm/functions/Function0;)Ljava/lang/Iterable;
.registers 3
.param p0, "iterator" # Lkotlin/jvm/functions/Function0;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlin/jvm/functions/Function0<",
"+",
"Ljava/util/Iterator<",
"+TT;>;>;)",
"Ljava/lang/Iterable<",
"TT;>;"
}
.end annotation
const/4 v0, 0x0
.line 16
.local v0, "$i$f$Iterable":I
new-instance v1, Lkotlin/collections/CollectionsKt__IterablesKt$Iterable$1;
invoke-direct {v1, p0}, Lkotlin/collections/CollectionsKt__IterablesKt$Iterable$1;-><init>(Lkotlin/jvm/functions/Function0;)V
check-cast v1, Ljava/lang/Iterable;
.line 18
return-object v1
.end method
.method public static final collectionSizeOrDefault(Ljava/lang/Iterable;I)I
.registers 3
.param p0, "$this$collectionSizeOrDefault" # Ljava/lang/Iterable;
.param p1, "default" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Iterable<",
"+TT;>;I)I"
}
.end annotation
const-string v0, "$this$collectionSizeOrDefault"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
.line 39
instance-of v0, p0, Ljava/util/Collection;
if-eqz v0, :cond_11
move-object v0, p0
check-cast v0, Ljava/util/Collection;
invoke-interface {v0}, Ljava/util/Collection;->size()I
move-result v0
goto :goto_12
:cond_11
move v0, p1
:goto_12
return v0
.end method
.method public static final collectionSizeOrNull(Ljava/lang/Iterable;)Ljava/lang/Integer;
.registers 2
.param p0, "$this$collectionSizeOrNull" # Ljava/lang/Iterable;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Iterable<",
"+TT;>;)",
"Ljava/lang/Integer;"
}
.end annotation
const-string v0, "$this$collectionSizeOrNull"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
.line 33
instance-of v0, p0, Ljava/util/Collection;
if-eqz v0, :cond_15
move-object v0, p0
check-cast v0, Ljava/util/Collection;
invoke-interface {v0}, Ljava/util/Collection;->size()I
move-result v0
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
goto :goto_16
:cond_15
const/4 v0, 0x0
:goto_16
return-object v0
.end method
.method public static final convertToSetForSetOperation(Ljava/lang/Iterable;)Ljava/util/Collection;
.registers 2
.param p0, "$this$convertToSetForSetOperation" # Ljava/lang/Iterable;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Iterable<",
"+TT;>;)",
"Ljava/util/Collection<",
"TT;>;"
}
.end annotation
const-string v0, "$this$convertToSetForSetOperation"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
.line 58
nop
.line 59
instance-of v0, p0, Ljava/util/Set;
if-eqz v0, :cond_e
move-object v0, p0
check-cast v0, Ljava/util/Collection;
goto :goto_2c
.line 60
:cond_e
instance-of v0, p0, Ljava/util/Collection;
if-eqz v0, :cond_26
move-object v0, p0
check-cast v0, Ljava/util/Collection;
invoke-static {v0}, Lkotlin/collections/CollectionsKt__IterablesKt;->safeToConvertToSet$CollectionsKt__IterablesKt(Ljava/util/Collection;)Z
move-result v0
if-eqz v0, :cond_22
invoke-static {p0}, Lkotlin/collections/CollectionsKt;->toHashSet(Ljava/lang/Iterable;)Ljava/util/HashSet;
move-result-object v0
check-cast v0, Ljava/util/Collection;
goto :goto_2c
:cond_22
move-object v0, p0
check-cast v0, Ljava/util/Collection;
goto :goto_2c
.line 61
:cond_26
invoke-static {p0}, Lkotlin/collections/CollectionsKt;->toHashSet(Ljava/lang/Iterable;)Ljava/util/HashSet;
move-result-object v0
check-cast v0, Ljava/util/Collection;
.line 58
:goto_2c
nop
.line 62
return-object v0
.end method
.method public static final convertToSetForSetOperationWith(Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/util/Collection;
.registers 4
.param p0, "$this$convertToSetForSetOperationWith" # Ljava/lang/Iterable;
.param p1, "source" # Ljava/lang/Iterable;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Iterable<",
"+TT;>;",
"Ljava/lang/Iterable<",
"+TT;>;)",
"Ljava/util/Collection<",
"TT;>;"
}
.end annotation
const-string v0, "$this$convertToSetForSetOperationWith"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "source"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
.line 46
nop
.line 47
instance-of v0, p0, Ljava/util/Set;
if-eqz v0, :cond_13
move-object v0, p0
check-cast v0, Ljava/util/Collection;
goto :goto_44
.line 48
:cond_13
instance-of v0, p0, Ljava/util/Collection;
if-eqz v0, :cond_3e
.line 49
nop
.line 50
instance-of v0, p1, Ljava/util/Collection;
if-eqz v0, :cond_2a
move-object v0, p1
check-cast v0, Ljava/util/Collection;
invoke-interface {v0}, Ljava/util/Collection;->size()I
move-result v0
const/4 v1, 0x2
if-ge v0, v1, :cond_2a
move-object v0, p0
check-cast v0, Ljava/util/Collection;
goto :goto_44
.line 51
:cond_2a
move-object v0, p0
check-cast v0, Ljava/util/Collection;
invoke-static {v0}, Lkotlin/collections/CollectionsKt__IterablesKt;->safeToConvertToSet$CollectionsKt__IterablesKt(Ljava/util/Collection;)Z
move-result v0
if-eqz v0, :cond_3a
invoke-static {p0}, Lkotlin/collections/CollectionsKt;->toHashSet(Ljava/lang/Iterable;)Ljava/util/HashSet;
move-result-object v0
check-cast v0, Ljava/util/Collection;
goto :goto_3d
:cond_3a
move-object v0, p0
check-cast v0, Ljava/util/Collection;
.line 49
:goto_3d
goto :goto_44
.line 53
:cond_3e
invoke-static {p0}, Lkotlin/collections/CollectionsKt;->toHashSet(Ljava/lang/Iterable;)Ljava/util/HashSet;
move-result-object v0
check-cast v0, Ljava/util/Collection;
.line 46
:goto_44
nop
.line 54
return-object v0
.end method
.method public static final flatten(Ljava/lang/Iterable;)Ljava/util/List;
.registers 5
.param p0, "$this$flatten" # Ljava/lang/Iterable;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Iterable<",
"+",
"Ljava/lang/Iterable<",
"+TT;>;>;)",
"Ljava/util/List<",
"TT;>;"
}
.end annotation
const-string v0, "$this$flatten"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
.line 70
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 71
.local v0, "result":Ljava/util/ArrayList;
invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_e
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_21
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Iterable;
.line 72
.local v2, "element":Ljava/lang/Iterable;
move-object v3, v0
check-cast v3, Ljava/util/Collection;
invoke-static {v3, v2}, Lkotlin/collections/CollectionsKt;->addAll(Ljava/util/Collection;Ljava/lang/Iterable;)Z
.line 71
.end local v2 # "element":Ljava/lang/Iterable;
goto :goto_e
.line 74
:cond_21
move-object v1, v0
check-cast v1, Ljava/util/List;
return-object v1
.end method
.method private static final safeToConvertToSet$CollectionsKt__IterablesKt(Ljava/util/Collection;)Z
.registers 3
.param p0, "$this$safeToConvertToSet" # Ljava/util/Collection;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Collection<",
"+TT;>;)Z"
}
.end annotation
.line 42
invoke-interface {p0}, Ljava/util/Collection;->size()I
move-result v0
const/4 v1, 0x2
if-le v0, v1, :cond_d
instance-of v0, p0, Ljava/util/ArrayList;
if-eqz v0, :cond_d
const/4 v0, 0x1
goto :goto_e
:cond_d
const/4 v0, 0x0
:goto_e
return v0
.end method
.method public static final unzip(Ljava/lang/Iterable;)Lkotlin/Pair;
.registers 7
.param p0, "$this$unzip" # Ljava/lang/Iterable;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"R:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Iterable<",
"+",
"Lkotlin/Pair<",
"+TT;+TR;>;>;)",
"Lkotlin/Pair<",
"Ljava/util/List<",
"TT;>;",
"Ljava/util/List<",
"TR;>;>;"
}
.end annotation
const-string v0, "$this$unzip"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
.line 84
const/16 v0, 0xa
invoke-static {p0, v0}, Lkotlin/collections/CollectionsKt;->collectionSizeOrDefault(Ljava/lang/Iterable;I)I
move-result v0
.line 85
.local v0, "expectedSize":I
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1, v0}, Ljava/util/ArrayList;-><init>(I)V
.line 86
.local v1, "listT":Ljava/util/ArrayList;
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2, v0}, Ljava/util/ArrayList;-><init>(I)V
.line 87
.local v2, "listR":Ljava/util/ArrayList;
invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_19
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_34
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lkotlin/Pair;
.line 88
.local v4, "pair":Lkotlin/Pair;
invoke-virtual {v4}, Lkotlin/Pair;->getFirst()Ljava/lang/Object;
move-result-object v5
invoke-virtual {v1, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 89
invoke-virtual {v4}, Lkotlin/Pair;->getSecond()Ljava/lang/Object;
move-result-object v5
invoke-virtual {v2, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 87
.end local v4 # "pair":Lkotlin/Pair;
goto :goto_19
.line 91
:cond_34
invoke-static {v1, v2}, Lkotlin/TuplesKt;->to(Ljava/lang/Object;Ljava/lang/Object;)Lkotlin/Pair;
move-result-object v3
return-object v3
.end method