s.smali
.class Lkotlin/collections/s;
.super Lkotlin/collections/r;
.source "MutableCollections.kt"
# direct methods
.method private static final a(Ljava/lang/Iterable;Lkotlin/jvm/a/l;Z)Z
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Iterable<",
"+TT;>;",
"Lkotlin/jvm/a/l<",
"-TT;",
"Ljava/lang/Boolean;",
">;Z)Z"
}
.end annotation
.line 4
invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p0
const/4 v0, 0x0
.line 5
:cond_5
:goto_5
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_20
.line 6
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
invoke-interface {p1, v1}, Lkotlin/jvm/a/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Boolean;
invoke-virtual {v1}, Ljava/lang/Boolean;->booleanValue()Z
move-result v1
if-ne v1, p2, :cond_5
.line 7
invoke-interface {p0}, Ljava/util/Iterator;->remove()V
const/4 v0, 0x1
goto :goto_5
:cond_20
return v0
.end method
.method public static a(Ljava/util/Collection;Ljava/lang/Iterable;)Z
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Collection<",
"-TT;>;",
"Ljava/lang/Iterable<",
"+TT;>;)Z"
}
.end annotation
const-string v0, "$this$addAll"
invoke-static {p0, v0}, Lkotlin/jvm/internal/i;->c(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "elements"
invoke-static {p1, v0}, Lkotlin/jvm/internal/i;->c(Ljava/lang/Object;Ljava/lang/String;)V
.line 1
instance-of v0, p1, Ljava/util/Collection;
if-eqz v0, :cond_15
check-cast p1, Ljava/util/Collection;
invoke-interface {p0, p1}, Ljava/util/Collection;->addAll(Ljava/util/Collection;)Z
move-result p0
return p0
:cond_15
const/4 v0, 0x0
.line 2
invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_1a
:goto_1a
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_2c
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
.line 3
invoke-interface {p0, v1}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1a
const/4 v0, 0x1
goto :goto_1a
:cond_2c
return v0
.end method
.method public static a(Ljava/util/List;Lkotlin/jvm/a/l;)Z
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/List<",
"TT;>;",
"Lkotlin/jvm/a/l<",
"-TT;",
"Ljava/lang/Boolean;",
">;)Z"
}
.end annotation
const-string v0, "$this$removeAll"
invoke-static {p0, v0}, Lkotlin/jvm/internal/i;->c(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "predicate"
invoke-static {p1, v0}, Lkotlin/jvm/internal/i;->c(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v0, 0x1
.line 8
invoke-static {p0, p1, v0}, Lkotlin/collections/s;->a(Ljava/util/List;Lkotlin/jvm/a/l;Z)Z
move-result p0
return p0
.end method
.method private static final a(Ljava/util/List;Lkotlin/jvm/a/l;Z)Z
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/List<",
"TT;>;",
"Lkotlin/jvm/a/l<",
"-TT;",
"Ljava/lang/Boolean;",
">;Z)Z"
}
.end annotation
.line 9
instance-of v0, p0, Ljava/util/RandomAccess;
if-nez v0, :cond_17
if-eqz p0, :cond_f
.line 10
invoke-static {p0}, Lkotlin/jvm/internal/n;->b(Ljava/lang/Object;)Ljava/lang/Iterable;
move-result-object p0
invoke-static {p0, p1, p2}, Lkotlin/collections/s;->a(Ljava/lang/Iterable;Lkotlin/jvm/a/l;Z)Z
move-result p0
return p0
:cond_f
new-instance p0, Ljava/lang/NullPointerException;
const-string p1, "null cannot be cast to non-null type kotlin.collections.MutableIterable<T>"
invoke-direct {p0, p1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p0
.line 11
:cond_17
invoke-static {p0}, Lkotlin/collections/n;->a(Ljava/util/List;)I
move-result v0
const/4 v1, 0x0
if-ltz v0, :cond_3d
const/4 v2, 0x0
const/4 v3, 0x0
.line 12
:goto_20
invoke-interface {p0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
.line 13
invoke-interface {p1, v4}, Lkotlin/jvm/a/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
check-cast v5, Ljava/lang/Boolean;
invoke-virtual {v5}, Ljava/lang/Boolean;->booleanValue()Z
move-result v5
if-ne v5, p2, :cond_31
goto :goto_38
:cond_31
if-eq v3, v2, :cond_36
.line 14
invoke-interface {p0, v3, v4}, Ljava/util/List;->set(ILjava/lang/Object;)Ljava/lang/Object;
:cond_36
add-int/lit8 v3, v3, 0x1
:goto_38
if-eq v2, v0, :cond_3e
add-int/lit8 v2, v2, 0x1
goto :goto_20
:cond_3d
const/4 v3, 0x0
.line 15
:cond_3e
invoke-interface {p0}, Ljava/util/List;->size()I
move-result p1
if-ge v3, p1, :cond_54
.line 16
invoke-static {p0}, Lkotlin/collections/n;->a(Ljava/util/List;)I
move-result p1
if-lt p1, v3, :cond_52
.line 17
:goto_4a
invoke-interface {p0, p1}, Ljava/util/List;->remove(I)Ljava/lang/Object;
if-eq p1, v3, :cond_52
add-int/lit8 p1, p1, -0x1
goto :goto_4a
:cond_52
const/4 p0, 0x1
return p0
:cond_54
return v1
.end method