325 lines
6.7 KiB
Smali
325 lines
6.7 KiB
Smali
|
.class public abstract Ll0/a/b1;
|
||
|
.super Ll0/a/s;
|
||
|
.source "JobSupport.kt"
|
||
|
|
||
|
# interfaces
|
||
|
.implements Ll0/a/k0;
|
||
|
.implements Ll0/a/u0;
|
||
|
|
||
|
|
||
|
# annotations
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"<J::",
|
||
|
"Lkotlinx/coroutines/Job;",
|
||
|
">",
|
||
|
"Ll0/a/s;",
|
||
|
"Ll0/a/k0;",
|
||
|
"Ll0/a/u0;"
|
||
|
}
|
||
|
.end annotation
|
||
|
|
||
|
|
||
|
# instance fields
|
||
|
.field public final g:Lkotlinx/coroutines/Job;
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"TJ;"
|
||
|
}
|
||
|
.end annotation
|
||
|
.end field
|
||
|
|
||
|
|
||
|
# direct methods
|
||
|
.method public constructor <init>(Lkotlinx/coroutines/Job;)V
|
||
|
.locals 1
|
||
|
.annotation system Ldalvik/annotation/Signature;
|
||
|
value = {
|
||
|
"(TJ;)V"
|
||
|
}
|
||
|
.end annotation
|
||
|
|
||
|
const-string v0, "job"
|
||
|
|
||
|
invoke-static {p1, v0}, Lk0/o/c/i;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
|
||
|
|
||
|
invoke-direct {p0}, Ll0/a/s;-><init>()V
|
||
|
|
||
|
iput-object p1, p0, Ll0/a/b1;->g:Lkotlinx/coroutines/Job;
|
||
|
|
||
|
return-void
|
||
|
.end method
|
||
|
|
||
|
|
||
|
# virtual methods
|
||
|
.method public a()Z
|
||
|
.locals 1
|
||
|
|
||
|
const/4 v0, 0x1
|
||
|
|
||
|
return v0
|
||
|
.end method
|
||
|
|
||
|
.method public dispose()V
|
||
|
.locals 9
|
||
|
|
||
|
iget-object v0, p0, Ll0/a/b1;->g:Lkotlinx/coroutines/Job;
|
||
|
|
||
|
if-eqz v0, :cond_11
|
||
|
|
||
|
check-cast v0, Ll0/a/c1;
|
||
|
|
||
|
const-string v1, "node"
|
||
|
|
||
|
invoke-static {p0, v1}, Lk0/o/c/i;->checkParameterIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
|
||
|
|
||
|
:cond_0
|
||
|
invoke-virtual {v0}, Ll0/a/c1;->x()Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v1
|
||
|
|
||
|
instance-of v2, v1, Ll0/a/b1;
|
||
|
|
||
|
if-eqz v2, :cond_2
|
||
|
|
||
|
if-eq v1, p0, :cond_1
|
||
|
|
||
|
goto/16 :goto_4
|
||
|
|
||
|
:cond_1
|
||
|
sget-object v2, Ll0/a/c1;->d:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
|
||
|
|
||
|
sget-object v3, Ll0/a/d1;->c:Ll0/a/m0;
|
||
|
|
||
|
invoke-virtual {v2, v0, v1, v3}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
|
||
|
|
||
|
move-result v1
|
||
|
|
||
|
if-eqz v1, :cond_0
|
||
|
|
||
|
goto/16 :goto_4
|
||
|
|
||
|
:cond_2
|
||
|
instance-of v0, v1, Ll0/a/u0;
|
||
|
|
||
|
if-eqz v0, :cond_10
|
||
|
|
||
|
check-cast v1, Ll0/a/u0;
|
||
|
|
||
|
invoke-interface {v1}, Ll0/a/u0;->getList()Ll0/a/g1;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
if-eqz v0, :cond_10
|
||
|
|
||
|
:cond_3
|
||
|
invoke-virtual {p0}, Ll0/a/r1/m;->d()Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
instance-of v1, v0, Ll0/a/r1/s;
|
||
|
|
||
|
if-eqz v1, :cond_4
|
||
|
|
||
|
goto/16 :goto_4
|
||
|
|
||
|
:cond_4
|
||
|
if-ne v0, p0, :cond_5
|
||
|
|
||
|
goto/16 :goto_4
|
||
|
|
||
|
:cond_5
|
||
|
const-string v1, "null cannot be cast to non-null type kotlinx.coroutines.internal.Node /* = kotlinx.coroutines.internal.LockFreeLinkedListNode */"
|
||
|
|
||
|
if-eqz v0, :cond_f
|
||
|
|
||
|
move-object v2, v0
|
||
|
|
||
|
check-cast v2, Ll0/a/r1/m;
|
||
|
|
||
|
iget-object v3, v2, Ll0/a/r1/m;->_removedRef:Ljava/lang/Object;
|
||
|
|
||
|
check-cast v3, Ll0/a/r1/s;
|
||
|
|
||
|
if-eqz v3, :cond_6
|
||
|
|
||
|
goto :goto_0
|
||
|
|
||
|
:cond_6
|
||
|
new-instance v3, Ll0/a/r1/s;
|
||
|
|
||
|
invoke-direct {v3, v2}, Ll0/a/r1/s;-><init>(Ll0/a/r1/m;)V
|
||
|
|
||
|
sget-object v4, Ll0/a/r1/m;->f:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
|
||
|
|
||
|
invoke-virtual {v4, v2, v3}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->lazySet(Ljava/lang/Object;Ljava/lang/Object;)V
|
||
|
|
||
|
:goto_0
|
||
|
sget-object v4, Ll0/a/r1/m;->d:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
|
||
|
|
||
|
invoke-virtual {v4, p0, v0, v3}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
|
||
|
|
||
|
move-result v0
|
||
|
|
||
|
if-eqz v0, :cond_3
|
||
|
|
||
|
invoke-virtual {p0}, Ll0/a/r1/m;->g()Ll0/a/r1/m;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
iget-object v3, p0, Ll0/a/r1/m;->_next:Ljava/lang/Object;
|
||
|
|
||
|
if-eqz v3, :cond_e
|
||
|
|
||
|
check-cast v3, Ll0/a/r1/s;
|
||
|
|
||
|
iget-object v3, v3, Ll0/a/r1/s;->a:Ll0/a/r1/m;
|
||
|
|
||
|
:goto_1
|
||
|
const/4 v4, 0x0
|
||
|
|
||
|
move-object v5, v3
|
||
|
|
||
|
move-object v3, v4
|
||
|
|
||
|
:cond_7
|
||
|
:goto_2
|
||
|
invoke-virtual {v5}, Ll0/a/r1/m;->d()Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v6
|
||
|
|
||
|
instance-of v7, v6, Ll0/a/r1/s;
|
||
|
|
||
|
if-eqz v7, :cond_8
|
||
|
|
||
|
invoke-virtual {v5}, Ll0/a/r1/m;->g()Ll0/a/r1/m;
|
||
|
|
||
|
check-cast v6, Ll0/a/r1/s;
|
||
|
|
||
|
iget-object v5, v6, Ll0/a/r1/s;->a:Ll0/a/r1/m;
|
||
|
|
||
|
goto :goto_2
|
||
|
|
||
|
:cond_8
|
||
|
invoke-virtual {v0}, Ll0/a/r1/m;->d()Ljava/lang/Object;
|
||
|
|
||
|
move-result-object v6
|
||
|
|
||
|
instance-of v7, v6, Ll0/a/r1/s;
|
||
|
|
||
|
if-eqz v7, :cond_a
|
||
|
|
||
|
if-eqz v3, :cond_9
|
||
|
|
||
|
invoke-virtual {v0}, Ll0/a/r1/m;->g()Ll0/a/r1/m;
|
||
|
|
||
|
sget-object v4, Ll0/a/r1/m;->d:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
|
||
|
|
||
|
check-cast v6, Ll0/a/r1/s;
|
||
|
|
||
|
iget-object v6, v6, Ll0/a/r1/s;->a:Ll0/a/r1/m;
|
||
|
|
||
|
invoke-virtual {v4, v3, v0, v6}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
|
||
|
|
||
|
move-object v0, v3
|
||
|
|
||
|
move-object v3, v5
|
||
|
|
||
|
goto :goto_1
|
||
|
|
||
|
:cond_9
|
||
|
iget-object v0, v0, Ll0/a/r1/m;->_prev:Ljava/lang/Object;
|
||
|
|
||
|
invoke-static {v0}, Ll0/a/r1/l;->a(Ljava/lang/Object;)Ll0/a/r1/m;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
goto :goto_2
|
||
|
|
||
|
:cond_a
|
||
|
if-eq v6, p0, :cond_d
|
||
|
|
||
|
if-eqz v6, :cond_c
|
||
|
|
||
|
move-object v3, v6
|
||
|
|
||
|
check-cast v3, Ll0/a/r1/m;
|
||
|
|
||
|
if-ne v3, v5, :cond_b
|
||
|
|
||
|
goto :goto_3
|
||
|
|
||
|
:cond_b
|
||
|
move-object v8, v3
|
||
|
|
||
|
move-object v3, v0
|
||
|
|
||
|
move-object v0, v8
|
||
|
|
||
|
goto :goto_2
|
||
|
|
||
|
:cond_c
|
||
|
new-instance v0, Lkotlin/TypeCastException;
|
||
|
|
||
|
invoke-direct {v0, v1}, Lkotlin/TypeCastException;-><init>(Ljava/lang/String;)V
|
||
|
|
||
|
throw v0
|
||
|
|
||
|
:cond_d
|
||
|
sget-object v6, Ll0/a/r1/m;->d:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
|
||
|
|
||
|
invoke-virtual {v6, v0, p0, v5}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
|
||
|
|
||
|
move-result v6
|
||
|
|
||
|
if-eqz v6, :cond_7
|
||
|
|
||
|
:goto_3
|
||
|
iget-object v0, p0, Ll0/a/r1/m;->_prev:Ljava/lang/Object;
|
||
|
|
||
|
invoke-static {v0}, Ll0/a/r1/l;->a(Ljava/lang/Object;)Ll0/a/r1/m;
|
||
|
|
||
|
move-result-object v0
|
||
|
|
||
|
invoke-virtual {v2, v0, v4}, Ll0/a/r1/m;->b(Ll0/a/r1/m;Ll0/a/r1/r;)Ll0/a/r1/m;
|
||
|
|
||
|
goto :goto_4
|
||
|
|
||
|
:cond_e
|
||
|
new-instance v0, Lkotlin/TypeCastException;
|
||
|
|
||
|
const-string v1, "null cannot be cast to non-null type kotlinx.coroutines.internal.Removed"
|
||
|
|
||
|
invoke-direct {v0, v1}, Lkotlin/TypeCastException;-><init>(Ljava/lang/String;)V
|
||
|
|
||
|
throw v0
|
||
|
|
||
|
:cond_f
|
||
|
new-instance v0, Lkotlin/TypeCastException;
|
||
|
|
||
|
invoke-direct {v0, v1}, Lkotlin/TypeCastException;-><init>(Ljava/lang/String;)V
|
||
|
|
||
|
throw v0
|
||
|
|
||
|
:cond_10
|
||
|
:goto_4
|
||
|
return-void
|
||
|
|
||
|
:cond_11
|
||
|
new-instance v0, Lkotlin/TypeCastException;
|
||
|
|
||
|
const-string v1, "null cannot be cast to non-null type kotlinx.coroutines.JobSupport"
|
||
|
|
||
|
invoke-direct {v0, v1}, Lkotlin/TypeCastException;-><init>(Ljava/lang/String;)V
|
||
|
|
||
|
throw v0
|
||
|
.end method
|
||
|
|
||
|
.method public getList()Ll0/a/g1;
|
||
|
.locals 1
|
||
|
|
||
|
const/4 v0, 0x0
|
||
|
|
||
|
return-object v0
|
||
|
.end method
|