349 lines
9.2 KiB
Smali
349 lines
9.2 KiB
Smali
.class public final Lkotlin/collections/BrittleContainsOptimizationKt;
|
|
.super Ljava/lang/Object;
|
|
.source "BrittleContainsOptimization.kt"
|
|
|
|
|
|
# annotations
|
|
.annotation system Ldalvik/annotation/SourceDebugExtension;
|
|
value = "SMAP\nBrittleContainsOptimization.kt\nKotlin\n*S Kotlin\n*F\n+ 1 BrittleContainsOptimization.kt\nkotlin/collections/BrittleContainsOptimizationKt\n+ 2 CollectionsJVM.kt\nkotlin/collections/CollectionsKt__CollectionsJVMKt\n*L\n1#1,66:1\n123#2:67\n123#2:68\n123#2:69\n123#2:70\n123#2:71\n*S KotlinDebug\n*F\n+ 1 BrittleContainsOptimization.kt\nkotlin/collections/BrittleContainsOptimizationKt\n*L\n16#1:67\n35#1:68\n51#1:69\n59#1:70\n66#1:71\n*E\n"
|
|
.end annotation
|
|
|
|
.annotation runtime Lkotlin/Metadata;
|
|
d1 = {
|
|
"\u0000 \n\u0000\n\u0002\u0010\u001e\n\u0000\n\u0002\u0010\u0011\n\u0000\n\u0002\u0010\u001c\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0010\u000b\n\u0000\u001a#\u0010\u0000\u001a\u0008\u0012\u0004\u0012\u0002H\u00020\u0001\"\u0004\u0008\u0000\u0010\u0002*\u0008\u0012\u0004\u0012\u0002H\u00020\u0003H\u0000\u00a2\u0006\u0002\u0010\u0004\u001a\u001e\u0010\u0000\u001a\u0008\u0012\u0004\u0012\u0002H\u00020\u0001\"\u0004\u0008\u0000\u0010\u0002*\u0008\u0012\u0004\u0012\u0002H\u00020\u0005H\u0000\u001a\u001e\u0010\u0000\u001a\u0008\u0012\u0004\u0012\u0002H\u00020\u0001\"\u0004\u0008\u0000\u0010\u0002*\u0008\u0012\u0004\u0012\u0002H\u00020\u0006H\u0000\u001a,\u0010\u0007\u001a\u0008\u0012\u0004\u0012\u0002H\u00020\u0001\"\u0004\u0008\u0000\u0010\u0002*\u0008\u0012\u0004\u0012\u0002H\u00020\u00052\u000c\u0010\u0008\u001a\u0008\u0012\u0004\u0012\u0002H\u00020\u0005H\u0000\u001a\u0018\u0010\t\u001a\u00020\n\"\u0004\u0008\u0000\u0010\u0002*\u0008\u0012\u0004\u0012\u0002H\u00020\u0001H\u0002\u00a8\u0006\u000b"
|
|
}
|
|
d2 = {
|
|
"convertToSetForSetOperation",
|
|
"",
|
|
"T",
|
|
"",
|
|
"([Ljava/lang/Object;)Ljava/util/Collection;",
|
|
"",
|
|
"Lkotlin/sequences/Sequence;",
|
|
"convertToSetForSetOperationWith",
|
|
"source",
|
|
"safeToConvertToSet",
|
|
"",
|
|
"kotlin-stdlib"
|
|
}
|
|
k = 0x2
|
|
mv = {
|
|
0x1,
|
|
0x7,
|
|
0x1
|
|
}
|
|
xi = 0x30
|
|
.end annotation
|
|
|
|
|
|
# direct methods
|
|
.method public static final convertToSetForSetOperation(Ljava/lang/Iterable;)Ljava/util/Collection;
|
|
.locals 2
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"<T:",
|
|
"Ljava/lang/Object;",
|
|
">(",
|
|
"Ljava/lang/Iterable<",
|
|
"+TT;>;)",
|
|
"Ljava/util/Collection<",
|
|
"TT;>;"
|
|
}
|
|
.end annotation
|
|
|
|
const-string v0, "<this>"
|
|
|
|
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
|
|
|
.line 49
|
|
instance-of v0, p0, Ljava/util/Set;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
check-cast p0, Ljava/util/Collection;
|
|
|
|
goto :goto_1
|
|
|
|
.line 50
|
|
:cond_0
|
|
instance-of v0, p0, Ljava/util/Collection;
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
move-object v0, p0
|
|
|
|
check-cast v0, Ljava/util/Collection;
|
|
|
|
invoke-static {v0}, Lkotlin/collections/BrittleContainsOptimizationKt;->safeToConvertToSet(Ljava/util/Collection;)Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
invoke-static {p0}, Lkotlin/collections/CollectionsKt;->toHashSet(Ljava/lang/Iterable;)Ljava/util/HashSet;
|
|
|
|
move-result-object p0
|
|
|
|
check-cast p0, Ljava/util/Collection;
|
|
|
|
goto :goto_1
|
|
|
|
:cond_1
|
|
move-object p0, v0
|
|
|
|
goto :goto_1
|
|
|
|
.line 69
|
|
:cond_2
|
|
sget-boolean v0, Lkotlin/collections/CollectionSystemProperties;->brittleContainsOptimizationEnabled:Z
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
.line 51
|
|
invoke-static {p0}, Lkotlin/collections/CollectionsKt;->toHashSet(Ljava/lang/Iterable;)Ljava/util/HashSet;
|
|
|
|
move-result-object p0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_3
|
|
invoke-static {p0}, Lkotlin/collections/CollectionsKt;->toList(Ljava/lang/Iterable;)Ljava/util/List;
|
|
|
|
move-result-object p0
|
|
|
|
:goto_0
|
|
check-cast p0, Ljava/util/Collection;
|
|
|
|
:goto_1
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static final convertToSetForSetOperation(Lkotlin/sequences/Sequence;)Ljava/util/Collection;
|
|
.locals 1
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"<T:",
|
|
"Ljava/lang/Object;",
|
|
">(",
|
|
"Lkotlin/sequences/Sequence<",
|
|
"+TT;>;)",
|
|
"Ljava/util/Collection<",
|
|
"TT;>;"
|
|
}
|
|
.end annotation
|
|
|
|
const-string v0, "<this>"
|
|
|
|
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
|
|
|
.line 70
|
|
sget-boolean v0, Lkotlin/collections/CollectionSystemProperties;->brittleContainsOptimizationEnabled:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 59
|
|
invoke-static {p0}, Lkotlin/sequences/SequencesKt;->toHashSet(Lkotlin/sequences/Sequence;)Ljava/util/HashSet;
|
|
|
|
move-result-object p0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
invoke-static {p0}, Lkotlin/sequences/SequencesKt;->toList(Lkotlin/sequences/Sequence;)Ljava/util/List;
|
|
|
|
move-result-object p0
|
|
|
|
:goto_0
|
|
check-cast p0, Ljava/util/Collection;
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static final convertToSetForSetOperation([Ljava/lang/Object;)Ljava/util/Collection;
|
|
.locals 1
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"<T:",
|
|
"Ljava/lang/Object;",
|
|
">([TT;)",
|
|
"Ljava/util/Collection<",
|
|
"TT;>;"
|
|
}
|
|
.end annotation
|
|
|
|
const-string v0, "<this>"
|
|
|
|
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
|
|
|
.line 71
|
|
sget-boolean v0, Lkotlin/collections/CollectionSystemProperties;->brittleContainsOptimizationEnabled:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 66
|
|
invoke-static {p0}, Lkotlin/collections/ArraysKt;->toHashSet([Ljava/lang/Object;)Ljava/util/HashSet;
|
|
|
|
move-result-object p0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
invoke-static {p0}, Lkotlin/collections/ArraysKt;->asList([Ljava/lang/Object;)Ljava/util/List;
|
|
|
|
move-result-object p0
|
|
|
|
:goto_0
|
|
check-cast p0, Ljava/util/Collection;
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static final convertToSetForSetOperationWith(Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/util/Collection;
|
|
.locals 1
|
|
.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>"
|
|
|
|
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
|
|
|
const-string v0, "source"
|
|
|
|
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
|
|
|
.line 29
|
|
instance-of v0, p0, Ljava/util/Set;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
check-cast p0, Ljava/util/Collection;
|
|
|
|
goto :goto_1
|
|
|
|
.line 30
|
|
:cond_0
|
|
instance-of v0, p0, Ljava/util/Collection;
|
|
|
|
if-eqz v0, :cond_3
|
|
|
|
.line 32
|
|
instance-of v0, p1, Ljava/util/Collection;
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
check-cast p1, Ljava/util/Collection;
|
|
|
|
invoke-interface {p1}, Ljava/util/Collection;->size()I
|
|
|
|
move-result p1
|
|
|
|
const/4 v0, 0x2
|
|
|
|
if-ge p1, v0, :cond_1
|
|
|
|
check-cast p0, Ljava/util/Collection;
|
|
|
|
goto :goto_1
|
|
|
|
.line 33
|
|
:cond_1
|
|
move-object p1, p0
|
|
|
|
check-cast p1, Ljava/util/Collection;
|
|
|
|
invoke-static {p1}, Lkotlin/collections/BrittleContainsOptimizationKt;->safeToConvertToSet(Ljava/util/Collection;)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
invoke-static {p0}, Lkotlin/collections/CollectionsKt;->toHashSet(Ljava/lang/Iterable;)Ljava/util/HashSet;
|
|
|
|
move-result-object p0
|
|
|
|
check-cast p0, Ljava/util/Collection;
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
move-object p0, p1
|
|
|
|
goto :goto_1
|
|
|
|
.line 68
|
|
:cond_3
|
|
sget-boolean p1, Lkotlin/collections/CollectionSystemProperties;->brittleContainsOptimizationEnabled:Z
|
|
|
|
if-eqz p1, :cond_4
|
|
|
|
.line 35
|
|
invoke-static {p0}, Lkotlin/collections/CollectionsKt;->toHashSet(Ljava/lang/Iterable;)Ljava/util/HashSet;
|
|
|
|
move-result-object p0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_4
|
|
invoke-static {p0}, Lkotlin/collections/CollectionsKt;->toList(Ljava/lang/Iterable;)Ljava/util/List;
|
|
|
|
move-result-object p0
|
|
|
|
:goto_0
|
|
check-cast p0, Ljava/util/Collection;
|
|
|
|
:goto_1
|
|
return-object p0
|
|
.end method
|
|
|
|
.method private static final safeToConvertToSet(Ljava/util/Collection;)Z
|
|
.locals 2
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"<T:",
|
|
"Ljava/lang/Object;",
|
|
">(",
|
|
"Ljava/util/Collection<",
|
|
"+TT;>;)Z"
|
|
}
|
|
.end annotation
|
|
|
|
.line 67
|
|
sget-boolean v0, Lkotlin/collections/CollectionSystemProperties;->brittleContainsOptimizationEnabled:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 16
|
|
invoke-interface {p0}, Ljava/util/Collection;->size()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x2
|
|
|
|
if-le v0, v1, :cond_0
|
|
|
|
instance-of p0, p0, Ljava/util/ArrayList;
|
|
|
|
if-eqz p0, :cond_0
|
|
|
|
const/4 p0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 p0, 0x0
|
|
|
|
:goto_0
|
|
return p0
|
|
.end method
|