Changes of com.discord v890

This commit is contained in:
root 2019-05-04 04:59:52 +02:00
parent dc8b0b8647
commit 59668a9e12
2156 changed files with 61184 additions and 51687 deletions

View file

@ -3,7 +3,7 @@
.source "CoroutineExceptionHandler.kt"
# interfaces
.implements Lkotlin/c/e$c;
.implements Lkotlin/coroutines/CoroutineContext$c;
# annotations
@ -19,7 +19,7 @@
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lkotlin/c/e$c<",
"Lkotlin/coroutines/CoroutineContext$c<",
"Lkotlinx/coroutines/CoroutineExceptionHandler;",
">;"
}
@ -27,7 +27,7 @@
# static fields
.field static final synthetic bhv:Lkotlinx/coroutines/CoroutineExceptionHandler$a;
.field static final synthetic bhx:Lkotlinx/coroutines/CoroutineExceptionHandler$a;
# direct methods
@ -38,7 +38,7 @@
invoke-direct {v0}, Lkotlinx/coroutines/CoroutineExceptionHandler$a;-><init>()V
sput-object v0, Lkotlinx/coroutines/CoroutineExceptionHandler$a;->bhv:Lkotlinx/coroutines/CoroutineExceptionHandler$a;
sput-object v0, Lkotlinx/coroutines/CoroutineExceptionHandler$a;->bhx:Lkotlinx/coroutines/CoroutineExceptionHandler$a;
return-void
.end method

View file

@ -3,7 +3,7 @@
.source "CoroutineExceptionHandler.kt"
# interfaces
.implements Lkotlin/c/e$b;
.implements Lkotlin/coroutines/CoroutineContext$b;
# annotations
@ -15,21 +15,21 @@
# static fields
.field public static final bhu:Lkotlinx/coroutines/CoroutineExceptionHandler$a;
.field public static final bhw:Lkotlinx/coroutines/CoroutineExceptionHandler$a;
# direct methods
.method static constructor <clinit>()V
.locals 1
sget-object v0, Lkotlinx/coroutines/CoroutineExceptionHandler$a;->bhv:Lkotlinx/coroutines/CoroutineExceptionHandler$a;
sget-object v0, Lkotlinx/coroutines/CoroutineExceptionHandler$a;->bhx:Lkotlinx/coroutines/CoroutineExceptionHandler$a;
sput-object v0, Lkotlinx/coroutines/CoroutineExceptionHandler;->bhu:Lkotlinx/coroutines/CoroutineExceptionHandler$a;
sput-object v0, Lkotlinx/coroutines/CoroutineExceptionHandler;->bhw:Lkotlinx/coroutines/CoroutineExceptionHandler$a;
return-void
.end method
# virtual methods
.method public abstract handleException(Lkotlin/c/e;Ljava/lang/Throwable;)V
.method public abstract handleException(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Throwable;)V
.end method

View file

@ -0,0 +1,8 @@
.class public interface abstract Lkotlinx/coroutines/CoroutineScope;
.super Ljava/lang/Object;
.source "CoroutineScope.kt"
# virtual methods
.method public abstract zS()Lkotlin/coroutines/CoroutineContext;
.end method

View file

@ -1,11 +1,11 @@
.class public final Lkotlinx/coroutines/as$a;
.class public final Lkotlinx/coroutines/Job$a;
.super Ljava/lang/Object;
.source "Job.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/as;
value = Lkotlinx/coroutines/Job;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
@ -15,7 +15,7 @@
# direct methods
.method public static synthetic a(Lkotlinx/coroutines/as;ZZLkotlin/jvm/functions/Function1;I)Lkotlinx/coroutines/ai;
.method public static synthetic a(Lkotlinx/coroutines/Job;ZZLkotlin/jvm/functions/Function1;I)Lkotlinx/coroutines/ap;
.locals 1
and-int/lit8 v0, p4, 0x1
@ -32,7 +32,7 @@
const/4 p2, 0x1
:cond_1
invoke-interface {p0, p1, p2, p3}, Lkotlinx/coroutines/as;->a(ZZLkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/ai;
invoke-interface {p0, p1, p2, p3}, Lkotlinx/coroutines/Job;->a(ZZLkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/ap;
move-result-object p0

View file

@ -1,14 +1,14 @@
.class public final Lkotlinx/coroutines/as$b;
.class public final Lkotlinx/coroutines/Job$b;
.super Ljava/lang/Object;
.source "Job.kt"
# interfaces
.implements Lkotlin/c/e$c;
.implements Lkotlin/coroutines/CoroutineContext$c;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/as;
value = Lkotlinx/coroutines/Job;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
@ -19,28 +19,28 @@
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lkotlin/c/e$c<",
"Lkotlinx/coroutines/as;",
"Lkotlin/coroutines/CoroutineContext$c<",
"Lkotlinx/coroutines/Job;",
">;"
}
.end annotation
# static fields
.field static final synthetic bhY:Lkotlinx/coroutines/as$b;
.field static final synthetic bin:Lkotlinx/coroutines/Job$b;
# direct methods
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lkotlinx/coroutines/as$b;
new-instance v0, Lkotlinx/coroutines/Job$b;
invoke-direct {v0}, Lkotlinx/coroutines/as$b;-><init>()V
invoke-direct {v0}, Lkotlinx/coroutines/Job$b;-><init>()V
sput-object v0, Lkotlinx/coroutines/as$b;->bhY:Lkotlinx/coroutines/as$b;
sput-object v0, Lkotlinx/coroutines/Job$b;->bin:Lkotlinx/coroutines/Job$b;
sget-object v0, Lkotlinx/coroutines/CoroutineExceptionHandler;->bhu:Lkotlinx/coroutines/CoroutineExceptionHandler$a;
sget-object v0, Lkotlinx/coroutines/CoroutineExceptionHandler;->bhw:Lkotlinx/coroutines/CoroutineExceptionHandler$a;
return-void
.end method

View file

@ -0,0 +1,79 @@
.class public interface abstract Lkotlinx/coroutines/Job;
.super Ljava/lang/Object;
.source "Job.kt"
# interfaces
.implements Lkotlin/coroutines/CoroutineContext$b;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlinx/coroutines/Job$a;,
Lkotlinx/coroutines/Job$b;
}
.end annotation
# static fields
.field public static final bim:Lkotlinx/coroutines/Job$b;
# direct methods
.method static constructor <clinit>()V
.locals 1
sget-object v0, Lkotlinx/coroutines/Job$b;->bin:Lkotlinx/coroutines/Job$b;
sput-object v0, Lkotlinx/coroutines/Job;->bim:Lkotlinx/coroutines/Job$b;
return-void
.end method
# virtual methods
.method public abstract AC()Ljava/util/concurrent/CancellationException;
.end method
.method public abstract a(ZZLkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/ap;
.annotation system Ldalvik/annotation/Signature;
value = {
"(ZZ",
"Lkotlin/jvm/functions/Function1<",
"-",
"Ljava/lang/Throwable;",
"Lkotlin/Unit;",
">;)",
"Lkotlinx/coroutines/ap;"
}
.end annotation
.end method
.method public abstract a(Lkotlinx/coroutines/n;)Lkotlinx/coroutines/l;
.end method
.method public abstract a(Ljava/util/concurrent/CancellationException;)V
.end method
.method public abstract synthetic cancel()V
.end method
.method public abstract i(Lkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/ap;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlin/jvm/functions/Function1<",
"-",
"Ljava/lang/Throwable;",
"Lkotlin/Unit;",
">;)",
"Lkotlinx/coroutines/ap;"
}
.end annotation
.end method
.method public abstract isActive()Z
.end method
.method public abstract start()Z
.end method

File diff suppressed because it is too large Load diff

View file

@ -1,28 +1,68 @@
.class public final Lkotlinx/coroutines/a/a;
.super Ljava/lang/Object;
.source "ArrayCopy.kt"
.source "Cancellable.kt"
# direct methods
.method public static final a([Ljava/lang/Object;I[Ljava/lang/Object;II)V
.method public static final b(Lkotlin/jvm/functions/Function2;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"<R:",
"Ljava/lang/Object;",
">([TE;I[TE;II)V"
"T:",
"Ljava/lang/Object;",
">(",
"Lkotlin/jvm/functions/Function2<",
"-TR;-",
"Lkotlin/coroutines/Continuation<",
"-TT;>;+",
"Ljava/lang/Object;",
">;TR;",
"Lkotlin/coroutines/Continuation<",
"-TT;>;)V"
}
.end annotation
const-string v0, "source"
const-string v0, "$this$startCoroutineCancellable"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "destination"
const-string v0, "completion"
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {p0, p1, p2, p3, p4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
:try_start_0
invoke-static {p0, p1, p2}, Lkotlin/coroutines/a/b;->a(Lkotlin/jvm/functions/Function2;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation;
move-result-object p0
invoke-static {p0}, Lkotlin/coroutines/a/b;->c(Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation;
move-result-object p0
sget-object p1, Lkotlin/Unit;->beH:Lkotlin/Unit;
invoke-static {p0, p1}, Lkotlinx/coroutines/am;->a(Lkotlin/coroutines/Continuation;Ljava/lang/Object;)V
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
return-void
:catch_0
move-exception p0
sget-object p1, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p0}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object p0
invoke-static {p0}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
invoke-interface {p2, p0}, Lkotlin/coroutines/Continuation;->resumeWith(Ljava/lang/Object;)V
return-void
.end method

View file

@ -1,31 +0,0 @@
.class public final Lkotlinx/coroutines/a/c;
.super Ljava/lang/Object;
.source "Atomic.kt"
# static fields
.field private static final biz:Ljava/lang/Object;
# direct methods
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lkotlinx/coroutines/a/o;
const-string v1, "NO_DECISION"
invoke-direct {v0, v1}, Lkotlinx/coroutines/a/o;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/a/c;->biz:Ljava/lang/Object;
return-void
.end method
.method public static final synthetic AK()Ljava/lang/Object;
.locals 1
sget-object v0, Lkotlinx/coroutines/a/c;->biz:Ljava/lang/Object;
return-object v0
.end method

View file

@ -1,36 +0,0 @@
.class public final Lkotlinx/coroutines/a/f;
.super Ljava/lang/Object;
.source "Scopes.kt"
# interfaces
.implements Lkotlinx/coroutines/x;
# instance fields
.field private final biC:Lkotlin/c/e;
# direct methods
.method public constructor <init>(Lkotlin/c/e;)V
.locals 1
const-string v0, "context"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lkotlinx/coroutines/a/f;->biC:Lkotlin/c/e;
return-void
.end method
# virtual methods
.method public final zY()Lkotlin/c/e;
.locals 1
iget-object v0, p0, Lkotlinx/coroutines/a/f;->biC:Lkotlin/c/e;
return-object v0
.end method

View file

@ -1,97 +0,0 @@
.class public final Lkotlinx/coroutines/a/h;
.super Ljava/lang/Object;
.source "LockFreeLinkedList.kt"
# static fields
.field private static final biD:Ljava/lang/Object;
.field private static final biE:Ljava/lang/Object;
.field private static final biF:Ljava/lang/Object;
.field private static final biG:Ljava/lang/Object;
# direct methods
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lkotlinx/coroutines/a/o;
const-string v1, "CONDITION_FALSE"
invoke-direct {v0, v1}, Lkotlinx/coroutines/a/o;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/a/h;->biD:Ljava/lang/Object;
new-instance v0, Lkotlinx/coroutines/a/o;
const-string v1, "ALREADY_REMOVED"
invoke-direct {v0, v1}, Lkotlinx/coroutines/a/o;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/a/h;->biE:Ljava/lang/Object;
new-instance v0, Lkotlinx/coroutines/a/o;
const-string v1, "LIST_EMPTY"
invoke-direct {v0, v1}, Lkotlinx/coroutines/a/o;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/a/h;->biF:Ljava/lang/Object;
new-instance v0, Lkotlinx/coroutines/a/o;
const-string v1, "REMOVE_PREPARED"
invoke-direct {v0, v1}, Lkotlinx/coroutines/a/o;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/a/h;->biG:Ljava/lang/Object;
return-void
.end method
.method public static final AM()Ljava/lang/Object;
.locals 1
sget-object v0, Lkotlinx/coroutines/a/h;->biD:Ljava/lang/Object;
return-object v0
.end method
.method public static final bq(Ljava/lang/Object;)Lkotlinx/coroutines/a/i;
.locals 1
const-string v0, "receiver$0"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
instance-of v0, p0, Lkotlinx/coroutines/a/n;
if-nez v0, :cond_0
const/4 v0, 0x0
goto :goto_0
:cond_0
move-object v0, p0
:goto_0
check-cast v0, Lkotlinx/coroutines/a/n;
if-eqz v0, :cond_1
iget-object v0, v0, Lkotlinx/coroutines/a/n;->biT:Lkotlinx/coroutines/a/i;
if-nez v0, :cond_2
:cond_1
move-object v0, p0
check-cast v0, Lkotlinx/coroutines/a/i;
:cond_2
return-object v0
.end method

View file

@ -1,152 +0,0 @@
.class public Lkotlinx/coroutines/a/j;
.super Ljava/lang/Object;
.source "LockFreeMPMCQueue.kt"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Lkotlinx/coroutines/a/k<",
"TT;>;>",
"Ljava/lang/Object;"
}
.end annotation
# static fields
.field private static final biM:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
.field private static final biN:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
# instance fields
.field protected volatile head:Ljava/lang/Object;
.field protected volatile tail:Ljava/lang/Object;
# direct methods
.method static constructor <clinit>()V
.locals 3
const-class v0, Lkotlinx/coroutines/a/j;
const-class v1, Ljava/lang/Object;
const-string v2, "head"
invoke-static {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
move-result-object v0
sput-object v0, Lkotlinx/coroutines/a/j;->biM:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
const-class v0, Lkotlinx/coroutines/a/j;
const-class v1, Ljava/lang/Object;
const-string v2, "tail"
invoke-static {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
move-result-object v0
sput-object v0, Lkotlinx/coroutines/a/j;->biN:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
return-void
.end method
.method public constructor <init>()V
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Lkotlinx/coroutines/a/k;
invoke-direct {v0}, Lkotlinx/coroutines/a/k;-><init>()V
iput-object v0, p0, Lkotlinx/coroutines/a/j;->head:Ljava/lang/Object;
iget-object v0, p0, Lkotlinx/coroutines/a/j;->head:Ljava/lang/Object;
iput-object v0, p0, Lkotlinx/coroutines/a/j;->tail:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public final a(Lkotlinx/coroutines/a/k;Lkotlinx/coroutines/a/k;)Z
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;TT;)Z"
}
.end annotation
const-string v0, "curHead"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "update"
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
sget-object v0, Lkotlinx/coroutines/a/j;->biM:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invoke-virtual {v0, p0, p1, p2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public final b(Lkotlinx/coroutines/a/k;Lkotlinx/coroutines/a/k;)Z
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;TT;)Z"
}
.end annotation
const-string v0, "curTail"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "update"
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
sget-object v0, Lkotlinx/coroutines/a/j;->biN:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invoke-virtual {v0, p0, p1, p2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public final getSize()I
.locals 2
iget-object v0, p0, Lkotlinx/coroutines/a/j;->head:Ljava/lang/Object;
check-cast v0, Lkotlinx/coroutines/a/k;
const/4 v1, 0x0
:goto_0
iget-object v0, v0, Lkotlinx/coroutines/a/k;->next:Ljava/lang/Object;
check-cast v0, Lkotlinx/coroutines/a/k;
if-nez v0, :cond_0
return v1
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.end method

View file

@ -1,54 +0,0 @@
.class public Lkotlinx/coroutines/a/k;
.super Ljava/lang/Object;
.source "LockFreeMPMCQueue.kt"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# static fields
.field public static final biO:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
# instance fields
.field public volatile next:Ljava/lang/Object;
# direct methods
.method static constructor <clinit>()V
.locals 3
const-class v0, Lkotlinx/coroutines/a/k;
const-class v1, Ljava/lang/Object;
const-string v2, "next"
invoke-static {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
move-result-object v0
sput-object v0, Lkotlinx/coroutines/a/k;->biO:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
return-void
.end method
.method public constructor <init>()V
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
iput-object v0, p0, Lkotlinx/coroutines/a/k;->next:Ljava/lang/Object;
return-void
.end method

View file

@ -1,571 +0,0 @@
.class public final Lkotlinx/coroutines/a/l;
.super Ljava/lang/Object;
.source "LockFreeMPSCQueue.kt"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlinx/coroutines/a/l$b;,
Lkotlinx/coroutines/a/l$a;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# static fields
.field private static final biH:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
.field public static final biP:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
.field public static final biR:Lkotlinx/coroutines/a/o;
.field public static final biS:Lkotlinx/coroutines/a/l$a;
# instance fields
.field private volatile _next:Ljava/lang/Object;
.field public volatile _state:J
.field public final biQ:Ljava/util/concurrent/atomic/AtomicReferenceArray;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReferenceArray<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field private final capacity:I
.field public final mask:I
# direct methods
.method static constructor <clinit>()V
.locals 3
new-instance v0, Lkotlinx/coroutines/a/l$a;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lkotlinx/coroutines/a/l$a;-><init>(B)V
sput-object v0, Lkotlinx/coroutines/a/l;->biS:Lkotlinx/coroutines/a/l$a;
new-instance v0, Lkotlinx/coroutines/a/o;
const-string v1, "REMOVE_FROZEN"
invoke-direct {v0, v1}, Lkotlinx/coroutines/a/o;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/a/l;->biR:Lkotlinx/coroutines/a/o;
const-class v0, Lkotlinx/coroutines/a/l;
const-class v1, Ljava/lang/Object;
const-string v2, "_next"
invoke-static {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
move-result-object v0
sput-object v0, Lkotlinx/coroutines/a/l;->biH:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
const-class v0, Lkotlinx/coroutines/a/l;
const-string v1, "_state"
invoke-static {v0, v1}, Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
move-result-object v0
sput-object v0, Lkotlinx/coroutines/a/l;->biP:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
return-void
.end method
.method public constructor <init>(I)V
.locals 4
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput p1, p0, Lkotlinx/coroutines/a/l;->capacity:I
iget p1, p0, Lkotlinx/coroutines/a/l;->capacity:I
add-int/lit8 v0, p1, -0x1
iput v0, p0, Lkotlinx/coroutines/a/l;->mask:I
const/4 v0, 0x0
iput-object v0, p0, Lkotlinx/coroutines/a/l;->_next:Ljava/lang/Object;
const-wide/16 v0, 0x0
iput-wide v0, p0, Lkotlinx/coroutines/a/l;->_state:J
new-instance v0, Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-direct {v0, p1}, Ljava/util/concurrent/atomic/AtomicReferenceArray;-><init>(I)V
iput-object v0, p0, Lkotlinx/coroutines/a/l;->biQ:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iget p1, p0, Lkotlinx/coroutines/a/l;->mask:I
const/4 v0, 0x0
const/4 v1, 0x1
const v2, 0x3fffffff # 1.9999999f
if-gt p1, v2, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
const-string v2, "Check failed."
if-eqz p1, :cond_3
iget p1, p0, Lkotlinx/coroutines/a/l;->capacity:I
iget v3, p0, Lkotlinx/coroutines/a/l;->mask:I
and-int/2addr p1, v3
if-nez p1, :cond_1
const/4 v0, 0x1
:cond_1
if-eqz v0, :cond_2
return-void
:cond_2
new-instance p1, Ljava/lang/IllegalStateException;
invoke-virtual {v2}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
check-cast p1, Ljava/lang/Throwable;
throw p1
:cond_3
new-instance p1, Ljava/lang/IllegalStateException;
invoke-virtual {v2}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
check-cast p1, Ljava/lang/Throwable;
throw p1
.end method
.method private final AU()J
.locals 9
:cond_0
iget-wide v2, p0, Lkotlinx/coroutines/a/l;->_state:J
const-wide/high16 v0, 0x1000000000000000L
and-long v4, v2, v0
const-wide/16 v6, 0x0
cmp-long v8, v4, v6
if-eqz v8, :cond_1
return-wide v2
:cond_1
or-long v6, v2, v0
sget-object v0, Lkotlinx/coroutines/a/l;->biP:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
move-object v1, p0
move-wide v4, v6
invoke-virtual/range {v0 .. v5}, Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;->compareAndSet(Ljava/lang/Object;JJ)Z
move-result v0
if-eqz v0, :cond_0
return-wide v6
.end method
.method private final am(J)Lkotlinx/coroutines/a/l;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(J)",
"Lkotlinx/coroutines/a/l<",
"TE;>;"
}
.end annotation
:goto_0
iget-object v0, p0, Lkotlinx/coroutines/a/l;->_next:Ljava/lang/Object;
check-cast v0, Lkotlinx/coroutines/a/l;
if-eqz v0, :cond_0
return-object v0
:cond_0
sget-object v0, Lkotlinx/coroutines/a/l;->biH:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
const/4 v1, 0x0
invoke-direct {p0, p1, p2}, Lkotlinx/coroutines/a/l;->an(J)Lkotlinx/coroutines/a/l;
move-result-object v2
invoke-virtual {v0, p0, v1, v2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
goto :goto_0
.end method
.method private final an(J)Lkotlinx/coroutines/a/l;
.locals 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(J)",
"Lkotlinx/coroutines/a/l<",
"TE;>;"
}
.end annotation
new-instance v0, Lkotlinx/coroutines/a/l;
iget v1, p0, Lkotlinx/coroutines/a/l;->capacity:I
mul-int/lit8 v1, v1, 0x2
invoke-direct {v0, v1}, Lkotlinx/coroutines/a/l;-><init>(I)V
const-wide/32 v1, 0x3fffffff
and-long/2addr v1, p1
const/4 v3, 0x0
shr-long/2addr v1, v3
long-to-int v2, v1
const-wide v3, 0xfffffffc0000000L
and-long/2addr v3, p1
const/16 v1, 0x1e
shr-long/2addr v3, v1
long-to-int v1, v3
:goto_0
iget v3, p0, Lkotlinx/coroutines/a/l;->mask:I
and-int v4, v2, v3
and-int v5, v1, v3
if-eq v4, v5, :cond_1
iget-object v4, v0, Lkotlinx/coroutines/a/l;->biQ:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iget v5, v0, Lkotlinx/coroutines/a/l;->mask:I
and-int/2addr v5, v2
iget-object v6, p0, Lkotlinx/coroutines/a/l;->biQ:Ljava/util/concurrent/atomic/AtomicReferenceArray;
and-int/2addr v3, v2
invoke-virtual {v6, v3}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->get(I)Ljava/lang/Object;
move-result-object v3
if-nez v3, :cond_0
new-instance v3, Lkotlinx/coroutines/a/l$b;
invoke-direct {v3, v2}, Lkotlinx/coroutines/a/l$b;-><init>(I)V
:cond_0
invoke-virtual {v4, v5, v3}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->set(ILjava/lang/Object;)V
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
const-wide v1, -0x1000000000000001L # -3.1050361846014175E231
and-long/2addr p1, v1
iput-wide p1, v0, Lkotlinx/coroutines/a/l;->_state:J
return-object v0
.end method
.method private final e(ILjava/lang/Object;)Lkotlinx/coroutines/a/l;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(ITE;)",
"Lkotlinx/coroutines/a/l<",
"TE;>;"
}
.end annotation
iget-object v0, p0, Lkotlinx/coroutines/a/l;->biQ:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iget v1, p0, Lkotlinx/coroutines/a/l;->mask:I
and-int/2addr v1, p1
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->get(I)Ljava/lang/Object;
move-result-object v0
instance-of v1, v0, Lkotlinx/coroutines/a/l$b;
if-eqz v1, :cond_0
check-cast v0, Lkotlinx/coroutines/a/l$b;
iget v0, v0, Lkotlinx/coroutines/a/l$b;->index:I
if-ne v0, p1, :cond_0
iget-object v0, p0, Lkotlinx/coroutines/a/l;->biQ:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iget v1, p0, Lkotlinx/coroutines/a/l;->mask:I
and-int/2addr p1, v1
invoke-virtual {v0, p1, p2}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->set(ILjava/lang/Object;)V
return-object p0
:cond_0
const/4 p1, 0x0
return-object p1
.end method
# virtual methods
.method public final AT()Lkotlinx/coroutines/a/l;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lkotlinx/coroutines/a/l<",
"TE;>;"
}
.end annotation
invoke-direct {p0}, Lkotlinx/coroutines/a/l;->AU()J
move-result-wide v0
invoke-direct {p0, v0, v1}, Lkotlinx/coroutines/a/l;->am(J)Lkotlinx/coroutines/a/l;
move-result-object v0
return-object v0
.end method
.method public final br(Ljava/lang/Object;)I
.locals 10
.annotation system Ldalvik/annotation/Signature;
value = {
"(TE;)I"
}
.end annotation
const-string v0, "element"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
:cond_0
iget-wide v3, p0, Lkotlinx/coroutines/a/l;->_state:J
const-wide/high16 v0, 0x3000000000000000L # 1.727233711018889E-77
and-long/2addr v0, v3
const-wide/16 v7, 0x0
cmp-long v2, v0, v7
if-eqz v2, :cond_1
invoke-static {v3, v4}, Lkotlinx/coroutines/a/l$a;->ao(J)I
move-result p1
return p1
:cond_1
const-wide/32 v0, 0x3fffffff
and-long/2addr v0, v3
const/4 v9, 0x0
shr-long/2addr v0, v9
long-to-int v1, v0
const-wide v5, 0xfffffffc0000000L
and-long/2addr v5, v3
const/16 v0, 0x1e
shr-long/2addr v5, v0
long-to-int v0, v5
add-int/lit8 v2, v0, 0x2
iget v5, p0, Lkotlinx/coroutines/a/l;->mask:I
and-int/2addr v2, v5
and-int/2addr v1, v5
if-ne v2, v1, :cond_2
const/4 p1, 0x1
return p1
:cond_2
add-int/lit8 v1, v0, 0x1
const v2, 0x3fffffff # 1.9999999f
and-int/2addr v1, v2
sget-object v2, Lkotlinx/coroutines/a/l;->biP:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
invoke-static {v3, v4, v1}, Lkotlinx/coroutines/a/l$a;->d(JI)J
move-result-wide v5
move-object v1, v2
move-object v2, p0
invoke-virtual/range {v1 .. v6}, Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;->compareAndSet(Ljava/lang/Object;JJ)Z
move-result v1
if-eqz v1, :cond_0
iget-object v1, p0, Lkotlinx/coroutines/a/l;->biQ:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iget v2, p0, Lkotlinx/coroutines/a/l;->mask:I
and-int/2addr v2, v0
invoke-virtual {v1, v2, p1}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->set(ILjava/lang/Object;)V
move-object v1, p0
check-cast v1, Lkotlinx/coroutines/a/l;
:cond_3
iget-wide v2, v1, Lkotlinx/coroutines/a/l;->_state:J
const-wide/high16 v4, 0x1000000000000000L
and-long/2addr v2, v4
cmp-long v4, v2, v7
if-eqz v4, :cond_4
invoke-virtual {v1}, Lkotlinx/coroutines/a/l;->AT()Lkotlinx/coroutines/a/l;
move-result-object v1
invoke-direct {v1, v0, p1}, Lkotlinx/coroutines/a/l;->e(ILjava/lang/Object;)Lkotlinx/coroutines/a/l;
move-result-object v1
if-nez v1, :cond_3
:cond_4
return v9
.end method
.method public final isEmpty()Z
.locals 7
iget-wide v0, p0, Lkotlinx/coroutines/a/l;->_state:J
const-wide/32 v2, 0x3fffffff
and-long/2addr v2, v0
const/4 v4, 0x0
shr-long/2addr v2, v4
long-to-int v3, v2
const-wide v5, 0xfffffffc0000000L
and-long/2addr v0, v5
const/16 v2, 0x1e
shr-long/2addr v0, v2
long-to-int v1, v0
if-ne v3, v1, :cond_0
const/4 v0, 0x1
return v0
:cond_0
return v4
.end method

View file

@ -1,252 +0,0 @@
.class public final Lkotlinx/coroutines/a/q;
.super Ljava/lang/Object;
.source "ThreadContext.kt"
# static fields
.field private static final biW:Lkotlinx/coroutines/a/o;
.field private static final biX:Lkotlin/jvm/functions/Function2;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/functions/Function2<",
"Ljava/lang/Object;",
"Lkotlin/c/e$b;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field private static final biY:Lkotlin/jvm/functions/Function2;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/functions/Function2<",
"Lkotlinx/coroutines/bi<",
"*>;",
"Lkotlin/c/e$b;",
"Lkotlinx/coroutines/bi<",
"*>;>;"
}
.end annotation
.end field
.field private static final biZ:Lkotlin/jvm/functions/Function2;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/functions/Function2<",
"Lkotlinx/coroutines/a/u;",
"Lkotlin/c/e$b;",
"Lkotlinx/coroutines/a/u;",
">;"
}
.end annotation
.end field
.field private static final bja:Lkotlin/jvm/functions/Function2;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/functions/Function2<",
"Lkotlinx/coroutines/a/u;",
"Lkotlin/c/e$b;",
"Lkotlinx/coroutines/a/u;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lkotlinx/coroutines/a/o;
const-string v1, "ZERO"
invoke-direct {v0, v1}, Lkotlinx/coroutines/a/o;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/a/q;->biW:Lkotlinx/coroutines/a/o;
sget-object v0, Lkotlinx/coroutines/a/q$a;->bjb:Lkotlinx/coroutines/a/q$a;
check-cast v0, Lkotlin/jvm/functions/Function2;
sput-object v0, Lkotlinx/coroutines/a/q;->biX:Lkotlin/jvm/functions/Function2;
sget-object v0, Lkotlinx/coroutines/a/q$b;->bjc:Lkotlinx/coroutines/a/q$b;
check-cast v0, Lkotlin/jvm/functions/Function2;
sput-object v0, Lkotlinx/coroutines/a/q;->biY:Lkotlin/jvm/functions/Function2;
sget-object v0, Lkotlinx/coroutines/a/q$d;->bje:Lkotlinx/coroutines/a/q$d;
check-cast v0, Lkotlin/jvm/functions/Function2;
sput-object v0, Lkotlinx/coroutines/a/q;->biZ:Lkotlin/jvm/functions/Function2;
sget-object v0, Lkotlinx/coroutines/a/q$c;->bjd:Lkotlinx/coroutines/a/q$c;
check-cast v0, Lkotlin/jvm/functions/Function2;
sput-object v0, Lkotlinx/coroutines/a/q;->bja:Lkotlin/jvm/functions/Function2;
return-void
.end method
.method public static final a(Lkotlin/c/e;Ljava/lang/Object;)V
.locals 2
const-string v0, "context"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
sget-object v0, Lkotlinx/coroutines/a/q;->biW:Lkotlinx/coroutines/a/o;
if-ne p1, v0, :cond_0
return-void
:cond_0
instance-of v0, p1, Lkotlinx/coroutines/a/u;
if-eqz v0, :cond_1
move-object v0, p1
check-cast v0, Lkotlinx/coroutines/a/u;
const/4 v1, 0x0
iput v1, v0, Lkotlinx/coroutines/a/u;->bji:I
sget-object v0, Lkotlinx/coroutines/a/q;->bja:Lkotlin/jvm/functions/Function2;
invoke-interface {p0, p1, v0}, Lkotlin/c/e;->fold(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
return-void
:cond_1
const/4 v0, 0x0
sget-object v1, Lkotlinx/coroutines/a/q;->biY:Lkotlin/jvm/functions/Function2;
invoke-interface {p0, v0, v1}, Lkotlin/c/e;->fold(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
move-result-object v0
if-eqz v0, :cond_2
check-cast v0, Lkotlinx/coroutines/bi;
invoke-interface {v0, p0, p1}, Lkotlinx/coroutines/bi;->a(Lkotlin/c/e;Ljava/lang/Object;)V
return-void
:cond_2
new-instance p0, Lkotlin/r;
const-string p1, "null cannot be cast to non-null type kotlinx.coroutines.ThreadContextElement<kotlin.Any?>"
invoke-direct {p0, p1}, Lkotlin/r;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static final b(Lkotlin/c/e;Ljava/lang/Object;)Ljava/lang/Object;
.locals 1
const-string v0, "context"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
if-nez p1, :cond_0
invoke-static {p0}, Lkotlinx/coroutines/a/q;->d(Lkotlin/c/e;)Ljava/lang/Object;
move-result-object p1
:cond_0
const/4 v0, 0x0
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
if-ne p1, v0, :cond_1
sget-object p0, Lkotlinx/coroutines/a/q;->biW:Lkotlinx/coroutines/a/o;
return-object p0
:cond_1
instance-of v0, p1, Ljava/lang/Integer;
if-eqz v0, :cond_2
new-instance v0, Lkotlinx/coroutines/a/u;
check-cast p1, Ljava/lang/Number;
invoke-virtual {p1}, Ljava/lang/Number;->intValue()I
move-result p1
invoke-direct {v0, p0, p1}, Lkotlinx/coroutines/a/u;-><init>(Lkotlin/c/e;I)V
sget-object p1, Lkotlinx/coroutines/a/q;->biZ:Lkotlin/jvm/functions/Function2;
invoke-interface {p0, v0, p1}, Lkotlin/c/e;->fold(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
move-result-object p0
return-object p0
:cond_2
if-eqz p1, :cond_3
check-cast p1, Lkotlinx/coroutines/bi;
invoke-interface {p1, p0}, Lkotlinx/coroutines/bi;->c(Lkotlin/c/e;)Ljava/lang/Object;
move-result-object p0
return-object p0
:cond_3
new-instance p0, Lkotlin/r;
const-string p1, "null cannot be cast to non-null type kotlinx.coroutines.ThreadContextElement<kotlin.Any?>"
invoke-direct {p0, p1}, Lkotlin/r;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static final d(Lkotlin/c/e;)Ljava/lang/Object;
.locals 2
const-string v0, "context"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v0, 0x0
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
sget-object v1, Lkotlinx/coroutines/a/q;->biX:Lkotlin/jvm/functions/Function2;
invoke-interface {p0, v0, v1}, Lkotlin/c/e;->fold(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
move-result-object p0
if-nez p0, :cond_0
invoke-static {}, Lkotlin/jvm/internal/j;->zH()V
:cond_0
return-object p0
.end method

View file

@ -1,68 +0,0 @@
.class public final Lkotlinx/coroutines/a/r;
.super Ljava/lang/ThreadLocal;
.source "ThreadLocal.kt"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/ThreadLocal<",
"TT;>;"
}
.end annotation
# instance fields
.field private final bjf:Lkotlin/jvm/functions/Function0;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/functions/Function0<",
"TT;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lkotlin/jvm/functions/Function0;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlin/jvm/functions/Function0<",
"+TT;>;)V"
}
.end annotation
const-string v0, "supplier"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0}, Ljava/lang/ThreadLocal;-><init>()V
iput-object p1, p0, Lkotlinx/coroutines/a/r;->bjf:Lkotlin/jvm/functions/Function0;
return-void
.end method
# virtual methods
.method protected final initialValue()Ljava/lang/Object;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
iget-object v0, p0, Lkotlinx/coroutines/a/r;->bjf:Lkotlin/jvm/functions/Function0;
invoke-interface {v0}, Lkotlin/jvm/functions/Function0;->invoke()Ljava/lang/Object;
move-result-object v0
return-object v0
.end method

View file

@ -1,197 +0,0 @@
.class public final Lkotlinx/coroutines/a/s;
.super Ljava/lang/Object;
.source "ThreadSafeHeap.kt"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T::",
"Lkotlinx/coroutines/a/t;",
":",
"Ljava/lang/Comparable<",
"-TT;>;>",
"Ljava/lang/Object;"
}
.end annotation
# instance fields
.field public bjg:[Lkotlinx/coroutines/a/t;
.annotation system Ldalvik/annotation/Signature;
value = {
"[TT;"
}
.end annotation
.end field
.field public volatile size:I
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final AW()Lkotlinx/coroutines/a/t;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
iget-object v0, p0, Lkotlinx/coroutines/a/s;->bjg:[Lkotlinx/coroutines/a/t;
if-eqz v0, :cond_0
const/4 v1, 0x0
aget-object v0, v0, v1
return-object v0
:cond_0
const/4 v0, 0x0
return-object v0
.end method
.method public final db(I)V
.locals 5
:goto_0
mul-int/lit8 v0, p1, 0x2
add-int/lit8 v0, v0, 0x1
iget v1, p0, Lkotlinx/coroutines/a/s;->size:I
if-lt v0, v1, :cond_0
return-void
:cond_0
iget-object v1, p0, Lkotlinx/coroutines/a/s;->bjg:[Lkotlinx/coroutines/a/t;
if-nez v1, :cond_1
invoke-static {}, Lkotlin/jvm/internal/j;->zH()V
:cond_1
add-int/lit8 v2, v0, 0x1
iget v3, p0, Lkotlinx/coroutines/a/s;->size:I
if-ge v2, v3, :cond_4
aget-object v3, v1, v2
if-nez v3, :cond_2
invoke-static {}, Lkotlin/jvm/internal/j;->zH()V
:cond_2
check-cast v3, Ljava/lang/Comparable;
aget-object v4, v1, v0
if-nez v4, :cond_3
invoke-static {}, Lkotlin/jvm/internal/j;->zH()V
:cond_3
invoke-interface {v3, v4}, Ljava/lang/Comparable;->compareTo(Ljava/lang/Object;)I
move-result v3
if-gez v3, :cond_4
move v0, v2
:cond_4
aget-object v2, v1, p1
if-nez v2, :cond_5
invoke-static {}, Lkotlin/jvm/internal/j;->zH()V
:cond_5
check-cast v2, Ljava/lang/Comparable;
aget-object v1, v1, v0
if-nez v1, :cond_6
invoke-static {}, Lkotlin/jvm/internal/j;->zH()V
:cond_6
invoke-interface {v2, v1}, Ljava/lang/Comparable;->compareTo(Ljava/lang/Object;)I
move-result v1
if-gtz v1, :cond_7
return-void
:cond_7
invoke-virtual {p0, p1, v0}, Lkotlinx/coroutines/a/s;->swap(II)V
move p1, v0
goto :goto_0
.end method
.method public final isEmpty()Z
.locals 1
iget v0, p0, Lkotlinx/coroutines/a/s;->size:I
if-nez v0, :cond_0
const/4 v0, 0x1
return v0
:cond_0
const/4 v0, 0x0
return v0
.end method
.method public final swap(II)V
.locals 3
iget-object v0, p0, Lkotlinx/coroutines/a/s;->bjg:[Lkotlinx/coroutines/a/t;
if-nez v0, :cond_0
invoke-static {}, Lkotlin/jvm/internal/j;->zH()V
:cond_0
aget-object v1, v0, p2
if-nez v1, :cond_1
invoke-static {}, Lkotlin/jvm/internal/j;->zH()V
:cond_1
aget-object v2, v0, p1
if-nez v2, :cond_2
invoke-static {}, Lkotlin/jvm/internal/j;->zH()V
:cond_2
aput-object v1, v0, p1
aput-object v2, v0, p2
return-void
.end method

View file

@ -1,15 +0,0 @@
.class public interface abstract Lkotlinx/coroutines/a/t;
.super Ljava/lang/Object;
.source "ThreadSafeHeap.kt"
# virtual methods
.method public abstract AX()Lkotlinx/coroutines/a/s;
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lkotlinx/coroutines/a/s<",
"*>;"
}
.end annotation
.end method

View file

@ -1,31 +0,0 @@
.class final Lkotlinx/coroutines/a/u;
.super Ljava/lang/Object;
.source "ThreadContext.kt"
# instance fields
.field final bhj:Lkotlin/c/e;
.field bjh:[Ljava/lang/Object;
.field bji:I
# direct methods
.method public constructor <init>(Lkotlin/c/e;I)V
.locals 1
const-string v0, "context"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lkotlinx/coroutines/a/u;->bhj:Lkotlin/c/e;
new-array p1, p2, [Ljava/lang/Object;
iput-object p1, p0, Lkotlinx/coroutines/a/u;->bjh:[Ljava/lang/Object;
return-void
.end method

View file

@ -1,230 +1,81 @@
.class public final Lkotlinx/coroutines/aa;
.super Ljava/lang/Object;
.source "Debug.kt"
# static fields
.field private static final DEBUG:Z
.source "CoroutineExceptionHandler.kt"
# direct methods
.method static constructor <clinit>()V
.locals 3
const-string v0, "kotlinx.coroutines.debug"
invoke-static {v0}, Lkotlinx/coroutines/a/p;->dE(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
if-nez v0, :cond_0
goto :goto_0
:cond_0
invoke-virtual {v0}, Ljava/lang/String;->hashCode()I
move-result v1
if-eqz v1, :cond_3
const/16 v2, 0xddf
if-eq v1, v2, :cond_2
const v2, 0x1ad6f
if-eq v1, v2, :cond_1
const v2, 0x2dddaf
if-ne v1, v2, :cond_4
const-string v1, "auto"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_4
:goto_0
const-class v0, Lkotlinx/coroutines/v;
invoke-virtual {v0}, Ljava/lang/Class;->desiredAssertionStatus()Z
move-result v0
goto :goto_2
:cond_1
const-string v1, "off"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_4
const/4 v0, 0x0
goto :goto_2
:cond_2
const-string v1, "on"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_4
goto :goto_1
:cond_3
const-string v1, ""
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_4
:goto_1
const/4 v0, 0x1
:goto_2
sput-boolean v0, Lkotlinx/coroutines/aa;->DEBUG:Z
return-void
:cond_4
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "System property \'kotlinx.coroutines.debug\' has unrecognized value \'"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v0, 0x27
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
new-instance v1, Ljava/lang/IllegalStateException;
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
check-cast v1, Ljava/lang/Throwable;
throw v1
.end method
.method public static final Ah()Z
.method public static final b(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Throwable;)V
.locals 1
sget-boolean v0, Lkotlinx/coroutines/aa;->DEBUG:Z
return v0
.end method
.method public static final bg(Ljava/lang/Object;)Ljava/lang/String;
.locals 1
const-string v0, "receiver$0"
const-string v0, "context"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {p0}, Ljava/lang/System;->identityHashCode(Ljava/lang/Object;)I
const-string v0, "exception"
move-result p0
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {p0}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
:try_start_0
sget-object v0, Lkotlinx/coroutines/CoroutineExceptionHandler;->bhw:Lkotlinx/coroutines/CoroutineExceptionHandler$a;
move-result-object p0
check-cast v0, Lkotlin/coroutines/CoroutineContext$c;
const-string v0, "Integer.toHexString(System.identityHashCode(this))"
invoke-interface {p0, v0}, Lkotlin/coroutines/CoroutineContext;->get(Lkotlin/coroutines/CoroutineContext$c;)Lkotlin/coroutines/CoroutineContext$b;
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
move-result-object v0
return-object p0
.end method
.method public static final bh(Ljava/lang/Object;)Ljava/lang/String;
.locals 1
const-string v0, "receiver$0"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
const-string v0, "this::class.java.simpleName"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
return-object p0
.end method
.method public static final d(Lkotlin/c/c;)Ljava/lang/String;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlin/c/c<",
"*>;)",
"Ljava/lang/String;"
}
.end annotation
const-string v0, "receiver$0"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
instance-of v0, p0, Lkotlinx/coroutines/ae;
check-cast v0, Lkotlinx/coroutines/CoroutineExceptionHandler;
if-eqz v0, :cond_0
invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
invoke-interface {v0, p0, p1}, Lkotlinx/coroutines/CoroutineExceptionHandler;->handleException(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Throwable;)V
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
move-result-object p0
return-void
:cond_0
invoke-static {p0, p1}, Lkotlinx/coroutines/z;->a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Throwable;)V
return-void
:catch_0
move-exception v0
invoke-static {p1, v0}, Lkotlinx/coroutines/aa;->c(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
move-result-object p1
invoke-static {p0, p1}, Lkotlinx/coroutines/z;->a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Throwable;)V
return-void
.end method
.method public static final c(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
.locals 2
const-string v0, "originalException"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "thrownException"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
if-ne p0, p1, :cond_0
return-object p0
:cond_0
new-instance v0, Ljava/lang/StringBuilder;
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Exception while trying to handle coroutine exception"
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-direct {v0, v1, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
const/16 v1, 0x40
check-cast v0, Ljava/lang/Throwable;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-static {v0, p0}, Lkotlin/a;->b(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
invoke-static {p0}, Lkotlinx/coroutines/aa;->bg(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
return-object v0
.end method

View file

@ -1,14 +1,14 @@
.class public final Lkotlinx/coroutines/v$a;
.class public final Lkotlinx/coroutines/ab$a;
.super Ljava/lang/Object;
.source "CoroutineContext.kt"
# interfaces
.implements Lkotlin/c/e$c;
.implements Lkotlin/coroutines/CoroutineContext$c;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/v;
value = Lkotlinx/coroutines/ab;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
@ -19,8 +19,8 @@
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lkotlin/c/e$c<",
"Lkotlinx/coroutines/v;",
"Lkotlin/coroutines/CoroutineContext$c<",
"Lkotlinx/coroutines/ab;",
">;"
}
.end annotation
@ -38,7 +38,7 @@
.method public synthetic constructor <init>(B)V
.locals 0
invoke-direct {p0}, Lkotlinx/coroutines/v$a;-><init>()V
invoke-direct {p0}, Lkotlinx/coroutines/ab$a;-><init>()V
return-void
.end method

View file

@ -1,452 +1,425 @@
.class public final Lkotlinx/coroutines/ab;
.super Lkotlinx/coroutines/al;
.source "DefaultExecutor.kt"
.super Lkotlin/coroutines/a;
.source "CoroutineContext.kt"
# interfaces
.implements Ljava/lang/Runnable;
.implements Lkotlinx/coroutines/bs;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlinx/coroutines/ab$a;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/coroutines/a;",
"Lkotlinx/coroutines/bs<",
"Ljava/lang/String;",
">;"
}
.end annotation
# static fields
.field private static volatile _thread:Ljava/lang/Thread;
.field public static final bhz:Lkotlinx/coroutines/ab$a;
.field private static final bhE:J
.field public static final bhF:Lkotlinx/coroutines/ab;
.field private static volatile debugStatus:I
# instance fields
.field final id:J
# direct methods
.method static constructor <clinit>()V
.locals 4
new-instance v0, Lkotlinx/coroutines/ab;
invoke-direct {v0}, Lkotlinx/coroutines/ab;-><init>()V
sput-object v0, Lkotlinx/coroutines/ab;->bhF:Lkotlinx/coroutines/ab;
sget-object v0, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
const-wide/16 v1, 0x3e8
:try_start_0
const-string v3, "kotlinx.coroutines.DefaultExecutor.keepAlive"
invoke-static {v3, v1, v2}, Ljava/lang/Long;->getLong(Ljava/lang/String;J)Ljava/lang/Long;
move-result-object v1
:try_end_0
.catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
:goto_0
const-string v2, "try {\n java.l\u2026AULT_KEEP_ALIVE\n }"
invoke-static {v1, v2}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {v1}, Ljava/lang/Long;->longValue()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/TimeUnit;->toNanos(J)J
move-result-wide v0
sput-wide v0, Lkotlinx/coroutines/ab;->bhE:J
return-void
.end method
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Lkotlinx/coroutines/al;-><init>()V
return-void
.end method
.method private static Ai()Z
.locals 2
sget v0, Lkotlinx/coroutines/ab;->debugStatus:I
new-instance v0, Lkotlinx/coroutines/ab$a;
const/4 v1, 0x2
const/4 v1, 0x0
if-eq v0, v1, :cond_1
invoke-direct {v0, v1}, Lkotlinx/coroutines/ab$a;-><init>(B)V
const/4 v1, 0x3
if-ne v0, v1, :cond_0
goto :goto_0
:cond_0
const/4 v0, 0x0
return v0
:cond_1
:goto_0
const/4 v0, 0x1
return v0
.end method
.method private final Aj()Ljava/lang/Thread;
.locals 1
sget-object v0, Lkotlinx/coroutines/ab;->_thread:Ljava/lang/Thread;
if-nez v0, :cond_0
invoke-direct {p0}, Lkotlinx/coroutines/ab;->Ak()Ljava/lang/Thread;
move-result-object v0
:cond_0
return-object v0
.end method
.method private final declared-synchronized Ak()Ljava/lang/Thread;
.locals 3
monitor-enter p0
:try_start_0
sget-object v0, Lkotlinx/coroutines/ab;->_thread:Ljava/lang/Thread;
if-nez v0, :cond_0
new-instance v0, Ljava/lang/Thread;
move-object v1, p0
check-cast v1, Ljava/lang/Runnable;
const-string v2, "kotlinx.coroutines.DefaultExecutor"
invoke-direct {v0, v1, v2}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/ab;->_thread:Ljava/lang/Thread;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Ljava/lang/Thread;->setDaemon(Z)V
invoke-virtual {v0}, Ljava/lang/Thread;->start()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
:cond_0
monitor-exit p0
return-object v0
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method private final declared-synchronized Al()Z
.locals 2
monitor-enter p0
:try_start_0
invoke-static {}, Lkotlinx/coroutines/ab;->Ai()Z
move-result v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v0, :cond_0
const/4 v0, 0x0
monitor-exit p0
return v0
:cond_0
const/4 v0, 0x1
:try_start_1
sput v0, Lkotlinx/coroutines/ab;->debugStatus:I
move-object v1, p0
check-cast v1, Ljava/lang/Object;
invoke-virtual {v1}, Ljava/lang/Object;->notifyAll()V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
monitor-exit p0
return v0
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method private final declared-synchronized Am()V
.locals 1
monitor-enter p0
:try_start_0
invoke-static {}, Lkotlinx/coroutines/ab;->Ai()Z
move-result v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-nez v0, :cond_0
monitor-exit p0
sput-object v0, Lkotlinx/coroutines/ab;->bhz:Lkotlinx/coroutines/ab$a;
return-void
.end method
:cond_0
const/4 v0, 0x3
.method public constructor <init>(J)V
.locals 1
:try_start_1
sput v0, Lkotlinx/coroutines/ab;->debugStatus:I
sget-object v0, Lkotlinx/coroutines/ab;->bhz:Lkotlinx/coroutines/ab$a;
const/4 v0, 0x0
check-cast v0, Lkotlin/coroutines/CoroutineContext$c;
iput-object v0, p0, Lkotlinx/coroutines/al;->_queue:Ljava/lang/Object;
invoke-direct {p0, v0}, Lkotlin/coroutines/a;-><init>(Lkotlin/coroutines/CoroutineContext$c;)V
iput-object v0, p0, Lkotlinx/coroutines/al;->_delayed:Ljava/lang/Object;
move-object v0, p0
check-cast v0, Ljava/lang/Object;
invoke-virtual {v0}, Ljava/lang/Object;->notifyAll()V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
monitor-exit p0
iput-wide p1, p0, Lkotlinx/coroutines/ab;->id:J
return-void
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
# virtual methods
.method public final run()V
.locals 12
.method public final synthetic a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Object;)V
.locals 1
invoke-static {}, Lkotlinx/coroutines/bk;->AG()Lkotlinx/coroutines/bj;
check-cast p2, Ljava/lang/String;
const/4 v0, 0x0
const-string v0, "context"
:try_start_0
invoke-direct {p0}, Lkotlinx/coroutines/ab;->Al()Z
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
move-result v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
const-string p1, "oldState"
if-nez v1, :cond_1
invoke-static {p2, p1}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/ab;->_thread:Ljava/lang/Thread;
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
invoke-direct {p0}, Lkotlinx/coroutines/ab;->Am()V
move-result-object p1
invoke-static {}, Lkotlinx/coroutines/bk;->AG()Lkotlinx/coroutines/bj;
const-string v0, "Thread.currentThread()"
invoke-virtual {p0}, Lkotlinx/coroutines/ab;->isEmpty()Z
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
move-result v0
if-nez v0, :cond_0
invoke-direct {p0}, Lkotlinx/coroutines/ab;->Aj()Ljava/lang/Thread;
:cond_0
return-void
:cond_1
const-wide v1, 0x7fffffffffffffffL
move-wide v3, v1
:cond_2
:goto_0
:try_start_1
invoke-static {}, Ljava/lang/Thread;->interrupted()Z
invoke-virtual {p0}, Lkotlinx/coroutines/ab;->As()J
move-result-wide v5
const-wide/16 v7, 0x0
cmp-long v9, v5, v1
if-nez v9, :cond_7
cmp-long v9, v3, v1
if-nez v9, :cond_6
invoke-static {}, Lkotlinx/coroutines/bk;->AG()Lkotlinx/coroutines/bj;
move-result-object v9
invoke-interface {v9}, Lkotlinx/coroutines/bj;->nanoTime()J
move-result-wide v9
cmp-long v11, v3, v1
if-nez v11, :cond_3
sget-wide v3, Lkotlinx/coroutines/ab;->bhE:J
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
add-long/2addr v3, v9
:cond_3
sub-long v9, v3, v9
cmp-long v11, v9, v7
if-gtz v11, :cond_5
sput-object v0, Lkotlinx/coroutines/ab;->_thread:Ljava/lang/Thread;
invoke-direct {p0}, Lkotlinx/coroutines/ab;->Am()V
invoke-static {}, Lkotlinx/coroutines/bk;->AG()Lkotlinx/coroutines/bj;
invoke-virtual {p0}, Lkotlinx/coroutines/ab;->isEmpty()Z
move-result v0
if-nez v0, :cond_4
invoke-direct {p0}, Lkotlinx/coroutines/ab;->Aj()Ljava/lang/Thread;
:cond_4
return-void
:cond_5
:try_start_2
invoke-static {v5, v6, v9, v10}, Lkotlin/ranges/b;->g(JJ)J
move-result-wide v5
goto :goto_1
:cond_6
sget-wide v9, Lkotlinx/coroutines/ab;->bhE:J
invoke-static {v5, v6, v9, v10}, Lkotlin/ranges/b;->g(JJ)J
move-result-wide v5
:cond_7
:goto_1
cmp-long v9, v5, v7
if-lez v9, :cond_2
invoke-static {}, Lkotlinx/coroutines/ab;->Ai()Z
move-result v7
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
if-eqz v7, :cond_9
sput-object v0, Lkotlinx/coroutines/ab;->_thread:Ljava/lang/Thread;
invoke-direct {p0}, Lkotlinx/coroutines/ab;->Am()V
invoke-static {}, Lkotlinx/coroutines/bk;->AG()Lkotlinx/coroutines/bj;
invoke-virtual {p0}, Lkotlinx/coroutines/ab;->isEmpty()Z
move-result v0
if-nez v0, :cond_8
invoke-direct {p0}, Lkotlinx/coroutines/ab;->Aj()Ljava/lang/Thread;
:cond_8
return-void
:cond_9
:try_start_3
invoke-static {}, Lkotlinx/coroutines/bk;->AG()Lkotlinx/coroutines/bj;
move-result-object v7
invoke-interface {v7, p0, v5, v6}, Lkotlinx/coroutines/bj;->parkNanos(Ljava/lang/Object;J)V
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0
goto :goto_0
:catchall_0
move-exception v1
sput-object v0, Lkotlinx/coroutines/ab;->_thread:Ljava/lang/Thread;
invoke-direct {p0}, Lkotlinx/coroutines/ab;->Am()V
invoke-static {}, Lkotlinx/coroutines/bk;->AG()Lkotlinx/coroutines/bj;
invoke-virtual {p0}, Lkotlinx/coroutines/ab;->isEmpty()Z
move-result v0
if-nez v0, :cond_a
invoke-direct {p0}, Lkotlinx/coroutines/ab;->Aj()Ljava/lang/Thread;
:cond_a
throw v1
invoke-virtual {p1, p2}, Ljava/lang/Thread;->setName(Ljava/lang/String;)V
return-void
.end method
.method protected final unpark()V
.locals 2
.method public final synthetic c(Lkotlin/coroutines/CoroutineContext;)Ljava/lang/Object;
.locals 9
invoke-static {}, Lkotlinx/coroutines/bk;->AG()Lkotlinx/coroutines/bj;
const-string v0, "context"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
sget-object v0, Lkotlinx/coroutines/ac;->bhA:Lkotlinx/coroutines/ac$a;
check-cast v0, Lkotlin/coroutines/CoroutineContext$c;
invoke-interface {p1, v0}, Lkotlin/coroutines/CoroutineContext;->get(Lkotlin/coroutines/CoroutineContext$c;)Lkotlin/coroutines/CoroutineContext$b;
move-result-object p1
check-cast p1, Lkotlinx/coroutines/ac;
if-eqz p1, :cond_0
iget-object p1, p1, Lkotlinx/coroutines/ac;->name:Ljava/lang/String;
if-nez p1, :cond_1
:cond_0
const-string p1, "coroutine"
:cond_1
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
invoke-direct {p0}, Lkotlinx/coroutines/ab;->Aj()Ljava/lang/Thread;
const-string v1, "currentThread"
invoke-static {v0, v1}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Thread;->getName()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1}, Lkotlinx/coroutines/bj;->unpark(Ljava/lang/Thread;)V
const-string v2, "oldName"
return-void
invoke-static {v1, v2}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
move-object v3, v1
check-cast v3, Ljava/lang/CharSequence;
invoke-static {v3}, Lkotlin/text/l;->l(Ljava/lang/CharSequence;)I
move-result v5
const-string v2, "$this$lastIndexOf"
invoke-static {v3, v2}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v2, " @"
const-string v4, "string"
invoke-static {v2, v4}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
instance-of v4, v3, Ljava/lang/String;
if-nez v4, :cond_2
move-object v4, v2
check-cast v4, Ljava/lang/CharSequence;
const/4 v6, 0x0
const/4 v7, 0x0
const/4 v8, 0x1
invoke-static/range {v3 .. v8}, Lkotlin/text/u;->a(Ljava/lang/CharSequence;Ljava/lang/CharSequence;IIZZ)I
move-result v3
goto :goto_0
:cond_2
check-cast v3, Ljava/lang/String;
invoke-virtual {v3, v2, v5}, Ljava/lang/String;->lastIndexOf(Ljava/lang/String;I)I
move-result v3
:goto_0
if-gez v3, :cond_3
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v3
:cond_3
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v4
add-int/2addr v4, v3
add-int/lit8 v4, v4, 0xa
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5, v4}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v4, 0x0
invoke-virtual {v1, v4, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v3
const-string v4, "(this as java.lang.Strin\u2026ing(startIndex, endIndex)"
invoke-static {v3, v4}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 p1, 0x23
invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget-wide v2, p0, Lkotlinx/coroutines/ab;->id:J
invoke-virtual {v5, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v2, "StringBuilder(capacity).\u2026builderAction).toString()"
invoke-static {p1, v2}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {v0, p1}, Ljava/lang/Thread;->setName(Ljava/lang/String;)V
return-object v1
.end method
.method public final equals(Ljava/lang/Object;)Z
.locals 7
const/4 v0, 0x1
if-eq p0, p1, :cond_2
instance-of v1, p1, Lkotlinx/coroutines/ab;
const/4 v2, 0x0
if-eqz v1, :cond_1
check-cast p1, Lkotlinx/coroutines/ab;
iget-wide v3, p0, Lkotlinx/coroutines/ab;->id:J
iget-wide v5, p1, Lkotlinx/coroutines/ab;->id:J
cmp-long p1, v3, v5
if-nez p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
if-eqz p1, :cond_1
goto :goto_1
:cond_1
return v2
:cond_2
:goto_1
return v0
.end method
.method public final fold(Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<R:",
"Ljava/lang/Object;",
">(TR;",
"Lkotlin/jvm/functions/Function2<",
"-TR;-",
"Lkotlin/coroutines/CoroutineContext$b;",
"+TR;>;)TR;"
}
.end annotation
const-string v0, "operation"
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
move-object v0, p0
check-cast v0, Lkotlin/coroutines/CoroutineContext$b;
invoke-static {v0, p1, p2}, Lkotlin/coroutines/CoroutineContext$b$a;->a(Lkotlin/coroutines/CoroutineContext$b;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public final get(Lkotlin/coroutines/CoroutineContext$c;)Lkotlin/coroutines/CoroutineContext$b;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<E::",
"Lkotlin/coroutines/CoroutineContext$b;",
">(",
"Lkotlin/coroutines/CoroutineContext$c<",
"TE;>;)TE;"
}
.end annotation
const-string v0, "key"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
move-object v0, p0
check-cast v0, Lkotlin/coroutines/CoroutineContext$b;
invoke-static {v0, p1}, Lkotlin/coroutines/CoroutineContext$b$a;->a(Lkotlin/coroutines/CoroutineContext$b;Lkotlin/coroutines/CoroutineContext$c;)Lkotlin/coroutines/CoroutineContext$b;
move-result-object p1
return-object p1
.end method
.method public final hashCode()I
.locals 4
iget-wide v0, p0, Lkotlinx/coroutines/ab;->id:J
const/16 v2, 0x20
ushr-long v2, v0, v2
xor-long/2addr v0, v2
long-to-int v1, v0
return v1
.end method
.method public final minusKey(Lkotlin/coroutines/CoroutineContext$c;)Lkotlin/coroutines/CoroutineContext;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlin/coroutines/CoroutineContext$c<",
"*>;)",
"Lkotlin/coroutines/CoroutineContext;"
}
.end annotation
const-string v0, "key"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
move-object v0, p0
check-cast v0, Lkotlin/coroutines/CoroutineContext$b;
invoke-static {v0, p1}, Lkotlin/coroutines/CoroutineContext$b$a;->b(Lkotlin/coroutines/CoroutineContext$b;Lkotlin/coroutines/CoroutineContext$c;)Lkotlin/coroutines/CoroutineContext;
move-result-object p1
return-object p1
.end method
.method public final plus(Lkotlin/coroutines/CoroutineContext;)Lkotlin/coroutines/CoroutineContext;
.locals 1
const-string v0, "context"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
move-object v0, p0
check-cast v0, Lkotlin/coroutines/CoroutineContext$b;
invoke-static {v0, p1}, Lkotlin/coroutines/CoroutineContext$b$a;->a(Lkotlin/coroutines/CoroutineContext$b;Lkotlin/coroutines/CoroutineContext;)Lkotlin/coroutines/CoroutineContext;
move-result-object p1
return-object p1
.end method
.method public final toString()Ljava/lang/String;
.locals 3
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "CoroutineId("
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-wide v1, p0, Lkotlinx/coroutines/ab;->id:J
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const/16 v1, 0x29
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -1,14 +1,14 @@
.class public final Lkotlinx/coroutines/w$a;
.class public final Lkotlinx/coroutines/ac$a;
.super Ljava/lang/Object;
.source "CoroutineName.kt"
# interfaces
.implements Lkotlin/c/e$c;
.implements Lkotlin/coroutines/CoroutineContext$c;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/w;
value = Lkotlinx/coroutines/ac;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
@ -19,8 +19,8 @@
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lkotlin/c/e$c<",
"Lkotlinx/coroutines/w;",
"Lkotlin/coroutines/CoroutineContext$c<",
"Lkotlinx/coroutines/ac;",
">;"
}
.end annotation
@ -38,7 +38,7 @@
.method public synthetic constructor <init>(B)V
.locals 0
invoke-direct {p0}, Lkotlinx/coroutines/w$a;-><init>()V
invoke-direct {p0}, Lkotlinx/coroutines/ac$a;-><init>()V
return-void
.end method

View file

@ -1,78 +1,115 @@
.class public final Lkotlinx/coroutines/ac;
.super Ljava/lang/Object;
.source "TimeSource.kt"
.super Lkotlin/coroutines/a;
.source "CoroutineName.kt"
# interfaces
.implements Lkotlinx/coroutines/bj;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlinx/coroutines/ac$a;
}
.end annotation
# static fields
.field public static final bhG:Lkotlinx/coroutines/ac;
.field public static final bhA:Lkotlinx/coroutines/ac$a;
# instance fields
.field final name:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.locals 1
.locals 2
new-instance v0, Lkotlinx/coroutines/ac;
new-instance v0, Lkotlinx/coroutines/ac$a;
invoke-direct {v0}, Lkotlinx/coroutines/ac;-><init>()V
const/4 v1, 0x0
sput-object v0, Lkotlinx/coroutines/ac;->bhG:Lkotlinx/coroutines/ac;
invoke-direct {v0, v1}, Lkotlinx/coroutines/ac$a;-><init>(B)V
return-void
.end method
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
sput-object v0, Lkotlinx/coroutines/ac;->bhA:Lkotlinx/coroutines/ac$a;
return-void
.end method
# virtual methods
.method public final l(Ljava/lang/Runnable;)Ljava/lang/Runnable;
.method public final equals(Ljava/lang/Object;)Z
.locals 1
const-string v0, "block"
if-eq p0, p1, :cond_1
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
instance-of v0, p1, Lkotlinx/coroutines/ac;
return-object p1
if-eqz v0, :cond_0
check-cast p1, Lkotlinx/coroutines/ac;
iget-object v0, p0, Lkotlinx/coroutines/ac;->name:Ljava/lang/String;
iget-object p1, p1, Lkotlinx/coroutines/ac;->name:Ljava/lang/String;
invoke-static {v0, p1}, Lkotlin/jvm/internal/j;->n(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
goto :goto_0
:cond_0
const/4 p1, 0x0
return p1
:cond_1
:goto_0
const/4 p1, 0x1
return p1
.end method
.method public final nanoTime()J
.method public final hashCode()I
.locals 1
iget-object v0, p0, Lkotlinx/coroutines/ac;->name:Ljava/lang/String;
if-eqz v0, :cond_0
invoke-virtual {v0}, Ljava/lang/Object;->hashCode()I
move-result v0
return v0
:cond_0
const/4 v0, 0x0
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 2
invoke-static {}, Ljava/lang/System;->nanoTime()J
new-instance v0, Ljava/lang/StringBuilder;
move-result-wide v0
const-string v1, "CoroutineName("
return-wide v0
.end method
.method public final parkNanos(Ljava/lang/Object;J)V
.locals 1
const-string v0, "blocker"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {p1, p2, p3}, Ljava/util/concurrent/locks/LockSupport;->parkNanos(Ljava/lang/Object;J)V
return-void
.end method
.method public final unpark(Ljava/lang/Thread;)V
.locals 1
const-string v0, "thread"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {p1}, Ljava/util/concurrent/locks/LockSupport;->unpark(Ljava/lang/Thread;)V
return-void
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v1, p0, Lkotlinx/coroutines/ac;->name:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x29
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -1,21 +1,128 @@
.class public final Lkotlinx/coroutines/ad;
.super Ljava/lang/RuntimeException;
.source "Exceptions.kt"
.class public final enum Lkotlinx/coroutines/ad;
.super Ljava/lang/Enum;
.source "CoroutineStart.kt"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lkotlinx/coroutines/ad;",
">;"
}
.end annotation
# static fields
.field public static final enum bhB:Lkotlinx/coroutines/ad;
.field public static final enum bhC:Lkotlinx/coroutines/ad;
.field public static final enum bhD:Lkotlinx/coroutines/ad;
.field public static final enum bhE:Lkotlinx/coroutines/ad;
.field private static final synthetic bhF:[Lkotlinx/coroutines/ad;
# direct methods
.method public constructor <init>(Ljava/lang/String;Ljava/lang/Throwable;)V
.locals 1
.method static constructor <clinit>()V
.locals 4
const-string v0, "message"
const/4 v0, 0x4
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
new-array v0, v0, [Lkotlinx/coroutines/ad;
const-string v0, "cause"
new-instance v1, Lkotlinx/coroutines/ad;
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v2, 0x0
invoke-direct {p0, p1, p2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
const-string v3, "DEFAULT"
invoke-direct {v1, v3, v2}, Lkotlinx/coroutines/ad;-><init>(Ljava/lang/String;I)V
sput-object v1, Lkotlinx/coroutines/ad;->bhB:Lkotlinx/coroutines/ad;
aput-object v1, v0, v2
new-instance v1, Lkotlinx/coroutines/ad;
const/4 v2, 0x1
const-string v3, "LAZY"
invoke-direct {v1, v3, v2}, Lkotlinx/coroutines/ad;-><init>(Ljava/lang/String;I)V
sput-object v1, Lkotlinx/coroutines/ad;->bhC:Lkotlinx/coroutines/ad;
aput-object v1, v0, v2
new-instance v1, Lkotlinx/coroutines/ad;
const/4 v2, 0x2
const-string v3, "ATOMIC"
invoke-direct {v1, v3, v2}, Lkotlinx/coroutines/ad;-><init>(Ljava/lang/String;I)V
sput-object v1, Lkotlinx/coroutines/ad;->bhD:Lkotlinx/coroutines/ad;
aput-object v1, v0, v2
new-instance v1, Lkotlinx/coroutines/ad;
const/4 v2, 0x3
const-string v3, "UNDISPATCHED"
invoke-direct {v1, v3, v2}, Lkotlinx/coroutines/ad;-><init>(Ljava/lang/String;I)V
sput-object v1, Lkotlinx/coroutines/ad;->bhE:Lkotlinx/coroutines/ad;
aput-object v1, v0, v2
sput-object v0, Lkotlinx/coroutines/ad;->bhF:[Lkotlinx/coroutines/ad;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lkotlinx/coroutines/ad;
.locals 1
const-class v0, Lkotlinx/coroutines/ad;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lkotlinx/coroutines/ad;
return-object p0
.end method
.method public static values()[Lkotlinx/coroutines/ad;
.locals 1
sget-object v0, Lkotlinx/coroutines/ad;->bhF:[Lkotlinx/coroutines/ad;
invoke-virtual {v0}, [Lkotlinx/coroutines/ad;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lkotlinx/coroutines/ad;
return-object v0
.end method

View file

@ -1,404 +1,120 @@
.class public final Lkotlinx/coroutines/ae;
.class public final synthetic Lkotlinx/coroutines/ae;
.super Ljava/lang/Object;
.source "Dispatched.kt"
# interfaces
.implements Lkotlin/c/c;
.implements Lkotlinx/coroutines/ag;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lkotlin/c/c<",
"TT;>;",
"Lkotlinx/coroutines/ag<",
"TT;>;"
}
.end annotation
# static fields
.field public static final synthetic $EnumSwitchMapping$0:[I
# instance fields
.field public _state:Ljava/lang/Object;
.field public final bhH:Ljava/lang/Object;
.field public final bhI:Lkotlinx/coroutines/s;
.field public final bhJ:Lkotlin/c/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/c/c<",
"TT;>;"
}
.end annotation
.end field
.field bhh:I
.field public static final synthetic $EnumSwitchMapping$1:[I
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/s;Lkotlin/c/c;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlinx/coroutines/s;",
"Lkotlin/c/c<",
"-TT;>;)V"
}
.end annotation
.method static synthetic constructor <clinit>()V
.locals 6
const-string v0, "dispatcher"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "continuation"
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lkotlinx/coroutines/ae;->bhI:Lkotlinx/coroutines/s;
iput-object p2, p0, Lkotlinx/coroutines/ae;->bhJ:Lkotlin/c/c;
invoke-static {}, Lkotlinx/coroutines/af;->An()Lkotlinx/coroutines/a/o;
move-result-object p1
iput-object p1, p0, Lkotlinx/coroutines/ae;->_state:Ljava/lang/Object;
invoke-virtual {p0}, Lkotlinx/coroutines/ae;->getContext()Lkotlin/c/e;
move-result-object p1
invoke-static {p1}, Lkotlinx/coroutines/a/q;->d(Lkotlin/c/e;)Ljava/lang/Object;
move-result-object p1
iput-object p1, p0, Lkotlinx/coroutines/ae;->bhH:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public final bc(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Object;",
")TT;"
}
.end annotation
return-object p1
.end method
.method public final bd(Ljava/lang/Object;)Ljava/lang/Throwable;
.locals 0
invoke-static {p1}, Lkotlinx/coroutines/ag$a;->bi(Ljava/lang/Object;)Ljava/lang/Throwable;
move-result-object p1
return-object p1
.end method
.method public final getContext()Lkotlin/c/e;
.locals 1
iget-object v0, p0, Lkotlinx/coroutines/ae;->bhJ:Lkotlin/c/c;
invoke-interface {v0}, Lkotlin/c/c;->getContext()Lkotlin/c/e;
invoke-static {}, Lkotlinx/coroutines/ad;->values()[Lkotlinx/coroutines/ad;
move-result-object v0
return-object v0
.end method
array-length v0, v0
.method public final resumeWith(Ljava/lang/Object;)V
.locals 5
new-array v0, v0, [I
iget-object v0, p0, Lkotlinx/coroutines/ae;->bhJ:Lkotlin/c/c;
sput-object v0, Lkotlinx/coroutines/ae;->$EnumSwitchMapping$0:[I
invoke-interface {v0}, Lkotlin/c/c;->getContext()Lkotlin/c/e;
sget-object v1, Lkotlinx/coroutines/ad;->bhB:Lkotlinx/coroutines/ad;
invoke-virtual {v1}, Lkotlinx/coroutines/ad;->ordinal()I
move-result v1
const/4 v2, 0x1
aput v2, v0, v1
sget-object v0, Lkotlinx/coroutines/ae;->$EnumSwitchMapping$0:[I
sget-object v1, Lkotlinx/coroutines/ad;->bhD:Lkotlinx/coroutines/ad;
invoke-virtual {v1}, Lkotlinx/coroutines/ad;->ordinal()I
move-result v1
const/4 v3, 0x2
aput v3, v0, v1
sget-object v0, Lkotlinx/coroutines/ae;->$EnumSwitchMapping$0:[I
sget-object v1, Lkotlinx/coroutines/ad;->bhE:Lkotlinx/coroutines/ad;
invoke-virtual {v1}, Lkotlinx/coroutines/ad;->ordinal()I
move-result v1
const/4 v4, 0x3
aput v4, v0, v1
sget-object v0, Lkotlinx/coroutines/ae;->$EnumSwitchMapping$0:[I
sget-object v1, Lkotlinx/coroutines/ad;->bhC:Lkotlinx/coroutines/ad;
invoke-virtual {v1}, Lkotlinx/coroutines/ad;->ordinal()I
move-result v1
const/4 v5, 0x4
aput v5, v0, v1
invoke-static {}, Lkotlinx/coroutines/ad;->values()[Lkotlinx/coroutines/ad;
move-result-object v0
invoke-static {p1}, Lkotlinx/coroutines/n;->bf(Ljava/lang/Object;)Ljava/lang/Object;
array-length v0, v0
move-result-object v1
new-array v0, v0, [I
iget-object v2, p0, Lkotlinx/coroutines/ae;->bhI:Lkotlinx/coroutines/s;
sput-object v0, Lkotlinx/coroutines/ae;->$EnumSwitchMapping$1:[I
invoke-virtual {v2, v0}, Lkotlinx/coroutines/s;->b(Lkotlin/c/e;)Z
sget-object v1, Lkotlinx/coroutines/ad;->bhB:Lkotlinx/coroutines/ad;
move-result v2
invoke-virtual {v1}, Lkotlinx/coroutines/ad;->ordinal()I
const/4 v3, 0x0
move-result v1
if-eqz v2, :cond_0
aput v2, v0, v1
iput-object v1, p0, Lkotlinx/coroutines/ae;->_state:Ljava/lang/Object;
sget-object v0, Lkotlinx/coroutines/ae;->$EnumSwitchMapping$1:[I
iput v3, p0, Lkotlinx/coroutines/ae;->bhh:I
sget-object v1, Lkotlinx/coroutines/ad;->bhD:Lkotlinx/coroutines/ad;
iget-object p1, p0, Lkotlinx/coroutines/ae;->bhI:Lkotlinx/coroutines/s;
invoke-virtual {v1}, Lkotlinx/coroutines/ad;->ordinal()I
move-object v1, p0
move-result v1
check-cast v1, Ljava/lang/Runnable;
aput v3, v0, v1
invoke-virtual {p1, v0, v1}, Lkotlinx/coroutines/s;->a(Lkotlin/c/e;Ljava/lang/Runnable;)V
sget-object v0, Lkotlinx/coroutines/ae;->$EnumSwitchMapping$1:[I
return-void
sget-object v1, Lkotlinx/coroutines/ad;->bhE:Lkotlinx/coroutines/ad;
:cond_0
sget-object v0, Lkotlinx/coroutines/bm;->bio:Lkotlinx/coroutines/bm;
invoke-virtual {v1}, Lkotlinx/coroutines/ad;->ordinal()I
sget-object v0, Lkotlinx/coroutines/bm;->bin:Lkotlinx/coroutines/a/r;
move-result v1
invoke-virtual {v0}, Lkotlinx/coroutines/a/r;->get()Ljava/lang/Object;
aput v4, v0, v1
move-result-object v0
sget-object v0, Lkotlinx/coroutines/ae;->$EnumSwitchMapping$1:[I
check-cast v0, Lkotlinx/coroutines/bm$a;
sget-object v1, Lkotlinx/coroutines/ad;->bhC:Lkotlinx/coroutines/ad;
iget-boolean v2, v0, Lkotlinx/coroutines/bm$a;->bhP:Z
invoke-virtual {v1}, Lkotlinx/coroutines/ad;->ordinal()I
if-eqz v2, :cond_1
move-result v1
iput-object v1, p0, Lkotlinx/coroutines/ae;->_state:Ljava/lang/Object;
iput v3, p0, Lkotlinx/coroutines/ae;->bhh:I
iget-object p1, v0, Lkotlinx/coroutines/bm$a;->bip:Lkotlinx/coroutines/a/b;
invoke-virtual {p1, p0}, Lkotlinx/coroutines/a/b;->addLast(Ljava/lang/Object;)V
return-void
:cond_1
const-string v1, "eventLoop"
invoke-static {v0, v1}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v1, 0x1
:try_start_0
iput-boolean v1, v0, Lkotlinx/coroutines/bm$a;->bhP:Z
invoke-virtual {p0}, Lkotlinx/coroutines/ae;->getContext()Lkotlin/c/e;
move-result-object v1
iget-object v2, p0, Lkotlinx/coroutines/ae;->bhH:Ljava/lang/Object;
invoke-static {v1, v2}, Lkotlinx/coroutines/a/q;->b(Lkotlin/c/e;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
:try_start_1
iget-object v4, p0, Lkotlinx/coroutines/ae;->bhJ:Lkotlin/c/c;
invoke-interface {v4, p1}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
sget-object p1, Lkotlin/Unit;->beH:Lkotlin/Unit;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:try_start_2
invoke-static {v1, v2}, Lkotlinx/coroutines/a/q;->a(Lkotlin/c/e;Ljava/lang/Object;)V
:goto_0
iget-object p1, v0, Lkotlinx/coroutines/bm$a;->bip:Lkotlinx/coroutines/a/b;
invoke-virtual {p1}, Lkotlinx/coroutines/a/b;->AI()Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Runnable;
:try_end_2
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_2} :catch_0
.catchall {:try_start_2 .. :try_end_2} :catchall_1
if-nez p1, :cond_2
iput-boolean v3, v0, Lkotlinx/coroutines/bm$a;->bhP:Z
return-void
:cond_2
:try_start_3
invoke-interface {p1}, Ljava/lang/Runnable;->run()V
goto :goto_0
:catchall_0
move-exception p1
invoke-static {v1, v2}, Lkotlinx/coroutines/a/q;->a(Lkotlin/c/e;Ljava/lang/Object;)V
throw p1
:try_end_3
.catch Ljava/lang/Throwable; {:try_start_3 .. :try_end_3} :catch_0
.catchall {:try_start_3 .. :try_end_3} :catchall_1
:catchall_1
move-exception p1
goto :goto_1
:catch_0
move-exception p1
:try_start_4
iget-object v1, v0, Lkotlinx/coroutines/bm$a;->bip:Lkotlinx/coroutines/a/b;
invoke-virtual {v1}, Lkotlinx/coroutines/a/b;->clear()V
new-instance v1, Lkotlinx/coroutines/ad;
const-string v2, "Unexpected exception in undispatched event loop, clearing pending tasks"
invoke-direct {v1, v2, p1}, Lkotlinx/coroutines/ad;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
check-cast v1, Ljava/lang/Throwable;
throw v1
:try_end_4
.catchall {:try_start_4 .. :try_end_4} :catchall_1
:goto_1
iput-boolean v3, v0, Lkotlinx/coroutines/bm$a;->bhP:Z
throw p1
aput v5, v0, v1
return-void
.end method
.method public final run()V
.locals 0
invoke-static {p0}, Lkotlinx/coroutines/ag$a;->a(Lkotlinx/coroutines/ag;)V
return-void
.end method
.method public final toString()Ljava/lang/String;
.locals 2
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "DispatchedContinuation["
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v1, p0, Lkotlinx/coroutines/ae;->bhI:Lkotlinx/coroutines/s;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, ", "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lkotlinx/coroutines/ae;->bhJ:Lkotlin/c/c;
invoke-static {v1}, Lkotlinx/coroutines/aa;->d(Lkotlin/c/c;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x5d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public final zS()Ljava/lang/Object;
.locals 2
iget-object v0, p0, Lkotlinx/coroutines/ae;->_state:Ljava/lang/Object;
invoke-static {}, Lkotlinx/coroutines/af;->An()Lkotlinx/coroutines/a/o;
move-result-object v1
if-eq v0, v1, :cond_0
const/4 v1, 0x1
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
if-eqz v1, :cond_1
invoke-static {}, Lkotlinx/coroutines/af;->An()Lkotlinx/coroutines/a/o;
move-result-object v1
iput-object v1, p0, Lkotlinx/coroutines/ae;->_state:Ljava/lang/Object;
return-object v0
:cond_1
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Check failed."
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
check-cast v0, Ljava/lang/Throwable;
throw v0
.end method
.method public final zV()Lkotlin/c/c;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lkotlin/c/c<",
"TT;>;"
}
.end annotation
move-object v0, p0
check-cast v0, Lkotlin/c/c;
return-object v0
.end method
.method public final zW()I
.locals 1
iget v0, p0, Lkotlinx/coroutines/ae;->bhh:I
return v0
.end method

View file

@ -1,781 +1,21 @@
.class public final Lkotlinx/coroutines/af;
.super Ljava/lang/Object;
.source "Dispatched.kt"
# static fields
.field private static final bhK:Lkotlinx/coroutines/a/o;
.super Ljava/lang/Error;
.source "Exceptions.kt"
# direct methods
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lkotlinx/coroutines/a/o;
const-string v1, "UNDEFINED"
invoke-direct {v0, v1}, Lkotlinx/coroutines/a/o;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/af;->bhK:Lkotlinx/coroutines/a/o;
return-void
.end method
.method public static final synthetic An()Lkotlinx/coroutines/a/o;
.method public constructor <init>(Ljava/lang/String;Ljava/lang/Throwable;)V
.locals 1
sget-object v0, Lkotlinx/coroutines/af;->bhK:Lkotlinx/coroutines/a/o;
return-object v0
.end method
.method public static final a(Lkotlin/c/c;Ljava/lang/Object;)V
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlin/c/c<",
"-TT;>;TT;)V"
}
.end annotation
const-string v0, "receiver$0"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
instance-of v0, p0, Lkotlinx/coroutines/ae;
if-eqz v0, :cond_5
check-cast p0, Lkotlinx/coroutines/ae;
iget-object v0, p0, Lkotlinx/coroutines/ae;->bhI:Lkotlinx/coroutines/s;
invoke-virtual {p0}, Lkotlinx/coroutines/ae;->getContext()Lkotlin/c/e;
move-result-object v1
invoke-virtual {v0, v1}, Lkotlinx/coroutines/s;->b(Lkotlin/c/e;)Z
move-result v0
const/4 v1, 0x1
if-eqz v0, :cond_0
iput-object p1, p0, Lkotlinx/coroutines/ae;->_state:Ljava/lang/Object;
iput v1, p0, Lkotlinx/coroutines/ae;->bhh:I
iget-object p1, p0, Lkotlinx/coroutines/ae;->bhI:Lkotlinx/coroutines/s;
invoke-virtual {p0}, Lkotlinx/coroutines/ae;->getContext()Lkotlin/c/e;
move-result-object v0
check-cast p0, Ljava/lang/Runnable;
invoke-virtual {p1, v0, p0}, Lkotlinx/coroutines/s;->a(Lkotlin/c/e;Ljava/lang/Runnable;)V
return-void
:cond_0
sget-object v0, Lkotlinx/coroutines/bm;->bio:Lkotlinx/coroutines/bm;
sget-object v0, Lkotlinx/coroutines/bm;->bin:Lkotlinx/coroutines/a/r;
invoke-virtual {v0}, Lkotlinx/coroutines/a/r;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lkotlinx/coroutines/bm$a;
iget-boolean v2, v0, Lkotlinx/coroutines/bm$a;->bhP:Z
if-eqz v2, :cond_1
iput-object p1, p0, Lkotlinx/coroutines/ae;->_state:Ljava/lang/Object;
iput v1, p0, Lkotlinx/coroutines/ae;->bhh:I
iget-object p1, v0, Lkotlinx/coroutines/bm$a;->bip:Lkotlinx/coroutines/a/b;
invoke-virtual {p1, p0}, Lkotlinx/coroutines/a/b;->addLast(Ljava/lang/Object;)V
return-void
:cond_1
const-string v2, "eventLoop"
invoke-static {v0, v2}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v2, 0x0
:try_start_0
iput-boolean v1, v0, Lkotlinx/coroutines/bm$a;->bhP:Z
invoke-virtual {p0}, Lkotlinx/coroutines/ae;->getContext()Lkotlin/c/e;
move-result-object v3
sget-object v4, Lkotlinx/coroutines/as;->bhX:Lkotlinx/coroutines/as$b;
check-cast v4, Lkotlin/c/e$c;
invoke-interface {v3, v4}, Lkotlin/c/e;->get(Lkotlin/c/e$c;)Lkotlin/c/e$b;
move-result-object v3
check-cast v3, Lkotlinx/coroutines/as;
if-eqz v3, :cond_2
invoke-interface {v3}, Lkotlinx/coroutines/as;->isActive()Z
move-result v4
if-nez v4, :cond_2
invoke-interface {v3}, Lkotlinx/coroutines/as;->Au()Ljava/util/concurrent/CancellationException;
move-result-object v3
check-cast v3, Ljava/lang/Throwable;
sget-object v4, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {v3}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v3
invoke-static {v3}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
invoke-interface {p0, v3}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
goto :goto_0
:cond_2
const/4 v1, 0x0
:goto_0
if-nez v1, :cond_3
invoke-virtual {p0}, Lkotlinx/coroutines/ae;->getContext()Lkotlin/c/e;
move-result-object v1
iget-object v3, p0, Lkotlinx/coroutines/ae;->bhH:Ljava/lang/Object;
invoke-static {v1, v3}, Lkotlinx/coroutines/a/q;->b(Lkotlin/c/e;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
:try_start_1
iget-object p0, p0, Lkotlinx/coroutines/ae;->bhJ:Lkotlin/c/c;
sget-object v4, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
sget-object p0, Lkotlin/Unit;->beH:Lkotlin/Unit;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:try_start_2
invoke-static {v1, v3}, Lkotlinx/coroutines/a/q;->a(Lkotlin/c/e;Ljava/lang/Object;)V
goto :goto_1
:catchall_0
move-exception p0
invoke-static {v1, v3}, Lkotlinx/coroutines/a/q;->a(Lkotlin/c/e;Ljava/lang/Object;)V
throw p0
:cond_3
:goto_1
iget-object p0, v0, Lkotlinx/coroutines/bm$a;->bip:Lkotlinx/coroutines/a/b;
invoke-virtual {p0}, Lkotlinx/coroutines/a/b;->AI()Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/Runnable;
:try_end_2
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_2} :catch_0
.catchall {:try_start_2 .. :try_end_2} :catchall_1
if-nez p0, :cond_4
iput-boolean v2, v0, Lkotlinx/coroutines/bm$a;->bhP:Z
return-void
:cond_4
:try_start_3
invoke-interface {p0}, Ljava/lang/Runnable;->run()V
:try_end_3
.catch Ljava/lang/Throwable; {:try_start_3 .. :try_end_3} :catch_0
.catchall {:try_start_3 .. :try_end_3} :catchall_1
goto :goto_1
:catchall_1
move-exception p0
goto :goto_2
:catch_0
move-exception p0
:try_start_4
iget-object p1, v0, Lkotlinx/coroutines/bm$a;->bip:Lkotlinx/coroutines/a/b;
invoke-virtual {p1}, Lkotlinx/coroutines/a/b;->clear()V
new-instance p1, Lkotlinx/coroutines/ad;
const-string v1, "Unexpected exception in undispatched event loop, clearing pending tasks"
invoke-direct {p1, v1, p0}, Lkotlinx/coroutines/ad;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
check-cast p1, Ljava/lang/Throwable;
throw p1
:try_end_4
.catchall {:try_start_4 .. :try_end_4} :catchall_1
:goto_2
iput-boolean v2, v0, Lkotlinx/coroutines/bm$a;->bhP:Z
throw p0
:cond_5
sget-object v0, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
return-void
.end method
.method public static final a(Lkotlin/c/c;Ljava/lang/Throwable;)V
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlin/c/c<",
"-TT;>;",
"Ljava/lang/Throwable;",
")V"
}
.end annotation
const-string v0, "receiver$0"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "exception"
const-string v0, "message"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
instance-of v0, p0, Lkotlinx/coroutines/ae;
const-string v0, "cause"
if-eqz v0, :cond_5
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
check-cast p0, Lkotlinx/coroutines/ae;
iget-object v0, p0, Lkotlinx/coroutines/ae;->bhJ:Lkotlin/c/c;
invoke-interface {v0}, Lkotlin/c/c;->getContext()Lkotlin/c/e;
move-result-object v0
new-instance v1, Lkotlinx/coroutines/m;
invoke-direct {v1, p1}, Lkotlinx/coroutines/m;-><init>(Ljava/lang/Throwable;)V
iget-object v2, p0, Lkotlinx/coroutines/ae;->bhI:Lkotlinx/coroutines/s;
invoke-virtual {v2, v0}, Lkotlinx/coroutines/s;->b(Lkotlin/c/e;)Z
move-result v2
const/4 v3, 0x1
if-eqz v2, :cond_0
new-instance v1, Lkotlinx/coroutines/m;
invoke-direct {v1, p1}, Lkotlinx/coroutines/m;-><init>(Ljava/lang/Throwable;)V
iput-object v1, p0, Lkotlinx/coroutines/ae;->_state:Ljava/lang/Object;
iput v3, p0, Lkotlinx/coroutines/ae;->bhh:I
iget-object p1, p0, Lkotlinx/coroutines/ae;->bhI:Lkotlinx/coroutines/s;
check-cast p0, Ljava/lang/Runnable;
invoke-virtual {p1, v0, p0}, Lkotlinx/coroutines/s;->a(Lkotlin/c/e;Ljava/lang/Runnable;)V
return-void
:cond_0
sget-object v0, Lkotlinx/coroutines/bm;->bio:Lkotlinx/coroutines/bm;
sget-object v0, Lkotlinx/coroutines/bm;->bin:Lkotlinx/coroutines/a/r;
invoke-virtual {v0}, Lkotlinx/coroutines/a/r;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lkotlinx/coroutines/bm$a;
iget-boolean v2, v0, Lkotlinx/coroutines/bm$a;->bhP:Z
if-eqz v2, :cond_1
iput-object v1, p0, Lkotlinx/coroutines/ae;->_state:Ljava/lang/Object;
iput v3, p0, Lkotlinx/coroutines/ae;->bhh:I
iget-object p1, v0, Lkotlinx/coroutines/bm$a;->bip:Lkotlinx/coroutines/a/b;
invoke-virtual {p1, p0}, Lkotlinx/coroutines/a/b;->addLast(Ljava/lang/Object;)V
return-void
:cond_1
const-string v1, "eventLoop"
invoke-static {v0, v1}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v1, 0x0
:try_start_0
iput-boolean v3, v0, Lkotlinx/coroutines/bm$a;->bhP:Z
invoke-virtual {p0}, Lkotlinx/coroutines/ae;->getContext()Lkotlin/c/e;
move-result-object v2
sget-object v4, Lkotlinx/coroutines/as;->bhX:Lkotlinx/coroutines/as$b;
check-cast v4, Lkotlin/c/e$c;
invoke-interface {v2, v4}, Lkotlin/c/e;->get(Lkotlin/c/e$c;)Lkotlin/c/e$b;
move-result-object v2
check-cast v2, Lkotlinx/coroutines/as;
if-eqz v2, :cond_2
invoke-interface {v2}, Lkotlinx/coroutines/as;->isActive()Z
move-result v4
if-nez v4, :cond_2
invoke-interface {v2}, Lkotlinx/coroutines/as;->Au()Ljava/util/concurrent/CancellationException;
move-result-object v2
check-cast v2, Ljava/lang/Throwable;
sget-object v4, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {v2}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v2
invoke-static {v2}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
invoke-interface {p0, v2}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
goto :goto_0
:cond_2
const/4 v3, 0x0
:goto_0
if-nez v3, :cond_3
invoke-virtual {p0}, Lkotlinx/coroutines/ae;->getContext()Lkotlin/c/e;
move-result-object v2
iget-object v3, p0, Lkotlinx/coroutines/ae;->bhH:Ljava/lang/Object;
invoke-static {v2, v3}, Lkotlinx/coroutines/a/q;->b(Lkotlin/c/e;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
:try_start_1
iget-object p0, p0, Lkotlinx/coroutines/ae;->bhJ:Lkotlin/c/c;
sget-object v4, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object p1
invoke-static {p1}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
sget-object p0, Lkotlin/Unit;->beH:Lkotlin/Unit;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:try_start_2
invoke-static {v2, v3}, Lkotlinx/coroutines/a/q;->a(Lkotlin/c/e;Ljava/lang/Object;)V
goto :goto_1
:catchall_0
move-exception p0
invoke-static {v2, v3}, Lkotlinx/coroutines/a/q;->a(Lkotlin/c/e;Ljava/lang/Object;)V
throw p0
:cond_3
:goto_1
iget-object p0, v0, Lkotlinx/coroutines/bm$a;->bip:Lkotlinx/coroutines/a/b;
invoke-virtual {p0}, Lkotlinx/coroutines/a/b;->AI()Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/Runnable;
:try_end_2
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_2} :catch_0
.catchall {:try_start_2 .. :try_end_2} :catchall_1
if-nez p0, :cond_4
iput-boolean v1, v0, Lkotlinx/coroutines/bm$a;->bhP:Z
return-void
:cond_4
:try_start_3
invoke-interface {p0}, Ljava/lang/Runnable;->run()V
:try_end_3
.catch Ljava/lang/Throwable; {:try_start_3 .. :try_end_3} :catch_0
.catchall {:try_start_3 .. :try_end_3} :catchall_1
goto :goto_1
:catchall_1
move-exception p0
goto :goto_2
:catch_0
move-exception p0
:try_start_4
iget-object p1, v0, Lkotlinx/coroutines/bm$a;->bip:Lkotlinx/coroutines/a/b;
invoke-virtual {p1}, Lkotlinx/coroutines/a/b;->clear()V
new-instance p1, Lkotlinx/coroutines/ad;
const-string v2, "Unexpected exception in undispatched event loop, clearing pending tasks"
invoke-direct {p1, v2, p0}, Lkotlinx/coroutines/ad;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
check-cast p1, Ljava/lang/Throwable;
throw p1
:try_end_4
.catchall {:try_start_4 .. :try_end_4} :catchall_1
:goto_2
iput-boolean v1, v0, Lkotlinx/coroutines/bm$a;->bhP:Z
throw p0
:cond_5
sget-object v0, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object p1
invoke-static {p1}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
return-void
.end method
.method public static final a(Lkotlinx/coroutines/ag;I)V
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlinx/coroutines/ag<",
"-TT;>;I)V"
}
.end annotation
const-string v0, "receiver$0"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-interface {p0}, Lkotlinx/coroutines/ag;->zV()Lkotlin/c/c;
move-result-object v0
const/4 v1, 0x1
if-eqz p1, :cond_1
if-ne p1, v1, :cond_0
goto :goto_0
:cond_0
const/4 v1, 0x0
:cond_1
:goto_0
if-eqz v1, :cond_3
instance-of v1, v0, Lkotlinx/coroutines/ae;
if-eqz v1, :cond_3
invoke-static {p1}, Lkotlinx/coroutines/bg;->cZ(I)Z
move-result v1
invoke-interface {p0}, Lkotlinx/coroutines/ag;->zW()I
move-result v2
invoke-static {v2}, Lkotlinx/coroutines/bg;->cZ(I)Z
move-result v2
if-ne v1, v2, :cond_3
move-object p1, v0
check-cast p1, Lkotlinx/coroutines/ae;
iget-object p1, p1, Lkotlinx/coroutines/ae;->bhI:Lkotlinx/coroutines/s;
invoke-interface {v0}, Lkotlin/c/c;->getContext()Lkotlin/c/e;
move-result-object v0
invoke-virtual {p1, v0}, Lkotlinx/coroutines/s;->b(Lkotlin/c/e;)Z
move-result v1
if-eqz v1, :cond_2
check-cast p0, Ljava/lang/Runnable;
invoke-virtual {p1, v0, p0}, Lkotlinx/coroutines/s;->a(Lkotlin/c/e;Ljava/lang/Runnable;)V
return-void
:cond_2
sget-object p1, Lkotlinx/coroutines/bm;->bio:Lkotlinx/coroutines/bm;
invoke-static {p0}, Lkotlinx/coroutines/bm;->b(Lkotlinx/coroutines/ag;)Z
return-void
:cond_3
invoke-static {p0, v0, p1}, Lkotlinx/coroutines/af;->a(Lkotlinx/coroutines/ag;Lkotlin/c/c;I)V
return-void
.end method
.method public static final a(Lkotlinx/coroutines/ag;Lkotlin/c/c;I)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlinx/coroutines/ag<",
"-TT;>;",
"Lkotlin/c/c<",
"-TT;>;I)V"
}
.end annotation
const-string v0, "receiver$0"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "delegate"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-interface {p0}, Lkotlinx/coroutines/ag;->zS()Ljava/lang/Object;
move-result-object v0
invoke-interface {p0, v0}, Lkotlinx/coroutines/ag;->bd(Ljava/lang/Object;)Ljava/lang/Throwable;
move-result-object v1
if-eqz v1, :cond_0
invoke-static {p1, v1, p2}, Lkotlinx/coroutines/bg;->a(Lkotlin/c/c;Ljava/lang/Throwable;I)V
return-void
:cond_0
invoke-interface {p0, v0}, Lkotlinx/coroutines/ag;->bc(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
invoke-static {p1, p0, p2}, Lkotlinx/coroutines/bg;->a(Lkotlin/c/c;Ljava/lang/Object;I)V
return-void
.end method
.method public static final b(Lkotlin/c/c;Ljava/lang/Object;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlin/c/c<",
"-TT;>;TT;)V"
}
.end annotation
const-string v0, "receiver$0"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
instance-of v0, p0, Lkotlinx/coroutines/ae;
if-eqz v0, :cond_0
check-cast p0, Lkotlinx/coroutines/ae;
iget-object p0, p0, Lkotlinx/coroutines/ae;->bhJ:Lkotlin/c/c;
sget-object v0, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
return-void
:cond_0
sget-object v0, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
return-void
.end method
.method public static final b(Lkotlin/c/c;Ljava/lang/Throwable;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlin/c/c<",
"-TT;>;",
"Ljava/lang/Throwable;",
")V"
}
.end annotation
const-string v0, "receiver$0"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "exception"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
instance-of v0, p0, Lkotlinx/coroutines/ae;
if-eqz v0, :cond_0
check-cast p0, Lkotlinx/coroutines/ae;
iget-object p0, p0, Lkotlinx/coroutines/ae;->bhJ:Lkotlin/c/c;
sget-object v0, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object p1
invoke-static {p1}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
return-void
:cond_0
sget-object v0, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object p1
invoke-static {p1}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
invoke-direct {p0, p1, p2}, Ljava/lang/Error;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method

View file

@ -1,228 +0,0 @@
.class public final Lkotlinx/coroutines/ag$a;
.super Ljava/lang/Object;
.source "Dispatched.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/ag;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "a"
.end annotation
# direct methods
.method public static a(Lkotlinx/coroutines/ag;)V
.locals 6
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlinx/coroutines/ag<",
"-TT;>;)V"
}
.end annotation
:try_start_0
invoke-interface {p0}, Lkotlinx/coroutines/ag;->zV()Lkotlin/c/c;
move-result-object v0
if-eqz v0, :cond_3
check-cast v0, Lkotlinx/coroutines/ae;
iget-object v1, v0, Lkotlinx/coroutines/ae;->bhJ:Lkotlin/c/c;
invoke-interface {v1}, Lkotlin/c/c;->getContext()Lkotlin/c/e;
move-result-object v2
invoke-interface {p0}, Lkotlinx/coroutines/ag;->zW()I
move-result v3
invoke-static {v3}, Lkotlinx/coroutines/bg;->cZ(I)Z
move-result v3
if-eqz v3, :cond_0
sget-object v3, Lkotlinx/coroutines/as;->bhX:Lkotlinx/coroutines/as$b;
check-cast v3, Lkotlin/c/e$c;
invoke-interface {v2, v3}, Lkotlin/c/e;->get(Lkotlin/c/e$c;)Lkotlin/c/e$b;
move-result-object v3
check-cast v3, Lkotlinx/coroutines/as;
goto :goto_0
:cond_0
const/4 v3, 0x0
:goto_0
invoke-interface {p0}, Lkotlinx/coroutines/ag;->zS()Ljava/lang/Object;
move-result-object v4
iget-object v0, v0, Lkotlinx/coroutines/ae;->bhH:Ljava/lang/Object;
invoke-static {v2, v0}, Lkotlinx/coroutines/a/q;->b(Lkotlin/c/e;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
if-eqz v3, :cond_1
:try_start_1
invoke-interface {v3}, Lkotlinx/coroutines/as;->isActive()Z
move-result v5
if-nez v5, :cond_1
invoke-interface {v3}, Lkotlinx/coroutines/as;->Au()Ljava/util/concurrent/CancellationException;
move-result-object v3
check-cast v3, Ljava/lang/Throwable;
sget-object v4, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {v3}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v3
invoke-static {v3}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
invoke-interface {v1, v3}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
goto :goto_1
:cond_1
invoke-interface {p0, v4}, Lkotlinx/coroutines/ag;->bd(Ljava/lang/Object;)Ljava/lang/Throwable;
move-result-object v3
if-eqz v3, :cond_2
sget-object v4, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {v3}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v3
invoke-static {v3}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
invoke-interface {v1, v3}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
goto :goto_1
:cond_2
invoke-interface {p0, v4}, Lkotlinx/coroutines/ag;->bc(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
sget-object v4, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {v3}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
invoke-interface {v1, v3}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
:goto_1
sget-object v1, Lkotlin/Unit;->beH:Lkotlin/Unit;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:try_start_2
invoke-static {v2, v0}, Lkotlinx/coroutines/a/q;->a(Lkotlin/c/e;Ljava/lang/Object;)V
return-void
:catchall_0
move-exception v1
invoke-static {v2, v0}, Lkotlinx/coroutines/a/q;->a(Lkotlin/c/e;Ljava/lang/Object;)V
throw v1
:cond_3
new-instance v0, Lkotlin/r;
const-string v1, "null cannot be cast to non-null type kotlinx.coroutines.DispatchedContinuation<T>"
invoke-direct {v0, v1}, Lkotlin/r;-><init>(Ljava/lang/String;)V
throw v0
:try_end_2
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_2} :catch_0
:catch_0
move-exception v0
new-instance v1, Lkotlinx/coroutines/ad;
invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
const-string v2, "Unexpected exception running "
invoke-virtual {v2, p0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-direct {v1, p0, v0}, Lkotlinx/coroutines/ad;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
check-cast v1, Ljava/lang/Throwable;
throw v1
.end method
.method public static bi(Ljava/lang/Object;)Ljava/lang/Throwable;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Object;",
")",
"Ljava/lang/Throwable;"
}
.end annotation
instance-of v0, p0, Lkotlinx/coroutines/m;
const/4 v1, 0x0
if-nez v0, :cond_0
move-object p0, v1
:cond_0
check-cast p0, Lkotlinx/coroutines/m;
if-eqz p0, :cond_1
iget-object p0, p0, Lkotlinx/coroutines/m;->cause:Ljava/lang/Throwable;
return-object p0
:cond_1
return-object v1
.end method

View file

@ -1,57 +1,306 @@
.class public interface abstract Lkotlinx/coroutines/ag;
.class public final Lkotlinx/coroutines/ag;
.super Ljava/lang/Object;
.source "Dispatched.kt"
# interfaces
.implements Ljava/lang/Runnable;
.source "Debug.kt"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlinx/coroutines/ag$a;
}
.end annotation
# static fields
.field public static final DEBUG:Z
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Ljava/lang/Runnable;"
}
.end annotation
.field public static final bhG:Z
# virtual methods
.method public abstract bc(Ljava/lang/Object;)Ljava/lang/Object;
# direct methods
.method static constructor <clinit>()V
.locals 5
const-string v0, "kotlinx.coroutines.debug"
invoke-static {v0}, Lkotlinx/coroutines/internal/w;->dF(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const/4 v1, 0x0
const/4 v2, 0x1
if-nez v0, :cond_0
goto :goto_0
:cond_0
invoke-virtual {v0}, Ljava/lang/String;->hashCode()I
move-result v3
if-eqz v3, :cond_3
const/16 v4, 0xddf
if-eq v3, v4, :cond_2
const v4, 0x1ad6f
if-eq v3, v4, :cond_1
const v4, 0x2dddaf
if-ne v3, v4, :cond_5
const-string v3, "auto"
invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_5
:goto_0
const-class v0, Lkotlinx/coroutines/ab;
invoke-virtual {v0}, Ljava/lang/Class;->desiredAssertionStatus()Z
move-result v0
goto :goto_2
:cond_1
const-string v3, "off"
invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_5
const/4 v0, 0x0
goto :goto_2
:cond_2
const-string v3, "on"
invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_5
goto :goto_1
:cond_3
const-string v3, ""
invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_5
:goto_1
const/4 v0, 0x1
:goto_2
sput-boolean v0, Lkotlinx/coroutines/ag;->DEBUG:Z
if-eqz v0, :cond_4
const-string v0, "kotlinx.coroutines.stacktrace.recovery"
invoke-static {v0, v2}, Lkotlinx/coroutines/internal/x;->f(Ljava/lang/String;Z)Z
move-result v0
if-eqz v0, :cond_4
const/4 v1, 0x1
:cond_4
sput-boolean v1, Lkotlinx/coroutines/ag;->bhG:Z
return-void
:cond_5
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "System property \'kotlinx.coroutines.debug\' has unrecognized value \'"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v0, 0x27
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
new-instance v1, Ljava/lang/IllegalStateException;
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
check-cast v1, Ljava/lang/Throwable;
throw v1
.end method
.method public static final bh(Ljava/lang/Object;)Ljava/lang/String;
.locals 1
const-string v0, "$this$hexAddress"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {p0}, Ljava/lang/System;->identityHashCode(Ljava/lang/Object;)I
move-result p0
invoke-static {p0}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object p0
const-string v0, "Integer.toHexString(System.identityHashCode(this))"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
return-object p0
.end method
.method public static final bi(Ljava/lang/Object;)Ljava/lang/String;
.locals 1
const-string v0, "$this$classSimpleName"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
const-string v0, "this::class.java.simpleName"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
return-object p0
.end method
.method public static final d(Lkotlin/coroutines/Continuation;)Ljava/lang/String;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Object;",
")TT;"
"(",
"Lkotlin/coroutines/Continuation<",
"*>;)",
"Ljava/lang/String;"
}
.end annotation
.end method
.method public abstract bd(Ljava/lang/Object;)Ljava/lang/Throwable;
.end method
const-string v0, "$this$toDebugString"
.method public abstract zS()Ljava/lang/Object;
.end method
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
.method public abstract zV()Lkotlin/c/c;
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lkotlin/c/c<",
"TT;>;"
}
.end annotation
.end method
instance-of v0, p0, Lkotlinx/coroutines/al;
.method public abstract zW()I
if-eqz v0, :cond_0
invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
:cond_0
const/16 v0, 0x40
:try_start_0
sget-object v1, Lkotlin/m;->beE:Lkotlin/m$a;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-static {p0}, Lkotlinx/coroutines/ag;->bh(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v1
sget-object v2, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {v1}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v1
invoke-static {v1}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
:goto_0
invoke-static {v1}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Throwable;
move-result-object v2
if-nez v2, :cond_1
goto :goto_1
:cond_1
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-static {p0}, Lkotlinx/coroutines/ag;->bh(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
:goto_1
check-cast v1, Ljava/lang/String;
return-object v1
.end method

View file

@ -1,47 +1,69 @@
.class public final Lkotlinx/coroutines/ah;
.super Ljava/lang/Object;
.source "Dispatchers.kt"
.super Lkotlinx/coroutines/at;
.source "DefaultExecutor.kt"
# interfaces
.implements Ljava/lang/Runnable;
# static fields
.field private static final bhL:Lkotlinx/coroutines/s;
.field private static volatile _thread:Ljava/lang/Thread;
.field private static final bhM:Lkotlinx/coroutines/s;
.field private static final bhH:J
.field private static final bhN:Lkotlinx/coroutines/s;
.field public static final bhI:Lkotlinx/coroutines/ah;
.field public static final bhO:Lkotlinx/coroutines/ah;
.field private static volatile debugStatus:I
# direct methods
.method static constructor <clinit>()V
.locals 1
.locals 4
new-instance v0, Lkotlinx/coroutines/ah;
invoke-direct {v0}, Lkotlinx/coroutines/ah;-><init>()V
sput-object v0, Lkotlinx/coroutines/ah;->bhO:Lkotlinx/coroutines/ah;
sput-object v0, Lkotlinx/coroutines/ah;->bhI:Lkotlinx/coroutines/ah;
invoke-static {}, Lkotlinx/coroutines/r;->Ag()Lkotlinx/coroutines/s;
const/4 v1, 0x0
move-result-object v0
invoke-virtual {v0, v1}, Lkotlinx/coroutines/as;->aa(Z)V
sput-object v0, Lkotlinx/coroutines/ah;->bhL:Lkotlinx/coroutines/s;
sget-object v0, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
sget-object v0, Lkotlinx/coroutines/bl;->bim:Lkotlinx/coroutines/bl;
const-wide/16 v1, 0x3e8
check-cast v0, Lkotlinx/coroutines/s;
:try_start_0
const-string v3, "kotlinx.coroutines.DefaultExecutor.keepAlive"
sput-object v0, Lkotlinx/coroutines/ah;->bhM:Lkotlinx/coroutines/s;
invoke-static {v3, v1, v2}, Ljava/lang/Long;->getLong(Ljava/lang/String;J)Ljava/lang/Long;
sget-object v0, Lkotlinx/coroutines/c/c;->bjL:Lkotlinx/coroutines/c/c;
move-result-object v1
:try_end_0
.catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_0} :catch_0
invoke-static {}, Lkotlinx/coroutines/c/c;->Bn()Lkotlinx/coroutines/s;
goto :goto_0
move-result-object v0
:catch_0
invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
sput-object v0, Lkotlinx/coroutines/ah;->bhN:Lkotlinx/coroutines/s;
move-result-object v1
:goto_0
const-string v2, "try {\n java.l\u2026AULT_KEEP_ALIVE\n }"
invoke-static {v1, v2}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {v1}, Ljava/lang/Long;->longValue()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/TimeUnit;->toNanos(J)J
move-result-wide v0
sput-wide v0, Lkotlinx/coroutines/ah;->bhH:J
return-void
.end method
@ -49,15 +71,378 @@
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-direct {p0}, Lkotlinx/coroutines/at;-><init>()V
return-void
.end method
.method public static final Ao()Lkotlinx/coroutines/s;
.locals 1
.method private static Ai()Z
.locals 2
sget-object v0, Lkotlinx/coroutines/ah;->bhL:Lkotlinx/coroutines/s;
sget v0, Lkotlinx/coroutines/ah;->debugStatus:I
const/4 v1, 0x2
if-eq v0, v1, :cond_1
const/4 v1, 0x3
if-ne v0, v1, :cond_0
goto :goto_0
:cond_0
const/4 v0, 0x0
return v0
:cond_1
:goto_0
const/4 v0, 0x1
return v0
.end method
.method private final declared-synchronized Aj()Ljava/lang/Thread;
.locals 3
monitor-enter p0
:try_start_0
sget-object v0, Lkotlinx/coroutines/ah;->_thread:Ljava/lang/Thread;
if-nez v0, :cond_0
new-instance v0, Ljava/lang/Thread;
move-object v1, p0
check-cast v1, Ljava/lang/Runnable;
const-string v2, "kotlinx.coroutines.DefaultExecutor"
invoke-direct {v0, v1, v2}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/ah;->_thread:Ljava/lang/Thread;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Ljava/lang/Thread;->setDaemon(Z)V
invoke-virtual {v0}, Ljava/lang/Thread;->start()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
:cond_0
monitor-exit p0
return-object v0
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method private final declared-synchronized Ak()Z
.locals 2
monitor-enter p0
:try_start_0
invoke-static {}, Lkotlinx/coroutines/ah;->Ai()Z
move-result v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v0, :cond_0
const/4 v0, 0x0
monitor-exit p0
return v0
:cond_0
const/4 v0, 0x1
:try_start_1
sput v0, Lkotlinx/coroutines/ah;->debugStatus:I
move-object v1, p0
check-cast v1, Ljava/lang/Object;
invoke-virtual {v1}, Ljava/lang/Object;->notifyAll()V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
monitor-exit p0
return v0
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method private final declared-synchronized Al()V
.locals 1
monitor-enter p0
:try_start_0
invoke-static {}, Lkotlinx/coroutines/ah;->Ai()Z
move-result v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-nez v0, :cond_0
monitor-exit p0
return-void
:cond_0
const/4 v0, 0x3
:try_start_1
sput v0, Lkotlinx/coroutines/ah;->debugStatus:I
const/4 v0, 0x0
iput-object v0, p0, Lkotlinx/coroutines/at;->_queue:Ljava/lang/Object;
iput-object v0, p0, Lkotlinx/coroutines/at;->_delayed:Ljava/lang/Object;
move-object v0, p0
check-cast v0, Ljava/lang/Object;
invoke-virtual {v0}, Ljava/lang/Object;->notifyAll()V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
monitor-exit p0
return-void
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
# virtual methods
.method protected final getThread()Ljava/lang/Thread;
.locals 1
sget-object v0, Lkotlinx/coroutines/ah;->_thread:Ljava/lang/Thread;
if-nez v0, :cond_0
invoke-direct {p0}, Lkotlinx/coroutines/ah;->Aj()Ljava/lang/Thread;
move-result-object v0
:cond_0
return-object v0
.end method
.method public final run()V
.locals 12
sget-object v0, Lkotlinx/coroutines/bt;->biB:Lkotlinx/coroutines/bt;
move-object v0, p0
check-cast v0, Lkotlinx/coroutines/as;
invoke-static {v0}, Lkotlinx/coroutines/bt;->a(Lkotlinx/coroutines/as;)V
invoke-static {}, Lkotlinx/coroutines/bv;->AP()Lkotlinx/coroutines/bu;
const/4 v0, 0x0
:try_start_0
invoke-direct {p0}, Lkotlinx/coroutines/ah;->Ak()Z
move-result v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-nez v1, :cond_1
sput-object v0, Lkotlinx/coroutines/ah;->_thread:Ljava/lang/Thread;
invoke-direct {p0}, Lkotlinx/coroutines/ah;->Al()V
invoke-static {}, Lkotlinx/coroutines/bv;->AP()Lkotlinx/coroutines/bu;
invoke-virtual {p0}, Lkotlinx/coroutines/ah;->isEmpty()Z
move-result v0
if-nez v0, :cond_0
invoke-virtual {p0}, Lkotlinx/coroutines/ah;->getThread()Ljava/lang/Thread;
:cond_0
return-void
:cond_1
const-wide v1, 0x7fffffffffffffffL
move-wide v3, v1
:cond_2
:goto_0
:try_start_1
invoke-static {}, Ljava/lang/Thread;->interrupted()Z
invoke-virtual {p0}, Lkotlinx/coroutines/ah;->Ar()J
move-result-wide v5
const-wide/16 v7, 0x0
cmp-long v9, v5, v1
if-nez v9, :cond_7
cmp-long v9, v3, v1
if-nez v9, :cond_6
invoke-static {}, Lkotlinx/coroutines/bv;->AP()Lkotlinx/coroutines/bu;
move-result-object v9
invoke-interface {v9}, Lkotlinx/coroutines/bu;->nanoTime()J
move-result-wide v9
cmp-long v11, v3, v1
if-nez v11, :cond_3
sget-wide v3, Lkotlinx/coroutines/ah;->bhH:J
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
add-long/2addr v3, v9
:cond_3
sub-long v9, v3, v9
cmp-long v11, v9, v7
if-gtz v11, :cond_5
sput-object v0, Lkotlinx/coroutines/ah;->_thread:Ljava/lang/Thread;
invoke-direct {p0}, Lkotlinx/coroutines/ah;->Al()V
invoke-static {}, Lkotlinx/coroutines/bv;->AP()Lkotlinx/coroutines/bu;
invoke-virtual {p0}, Lkotlinx/coroutines/ah;->isEmpty()Z
move-result v0
if-nez v0, :cond_4
invoke-virtual {p0}, Lkotlinx/coroutines/ah;->getThread()Ljava/lang/Thread;
:cond_4
return-void
:cond_5
:try_start_2
invoke-static {v5, v6, v9, v10}, Lkotlin/ranges/b;->g(JJ)J
move-result-wide v5
goto :goto_1
:cond_6
sget-wide v9, Lkotlinx/coroutines/ah;->bhH:J
invoke-static {v5, v6, v9, v10}, Lkotlin/ranges/b;->g(JJ)J
move-result-wide v5
:cond_7
:goto_1
cmp-long v9, v5, v7
if-lez v9, :cond_2
invoke-static {}, Lkotlinx/coroutines/ah;->Ai()Z
move-result v7
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
if-eqz v7, :cond_9
sput-object v0, Lkotlinx/coroutines/ah;->_thread:Ljava/lang/Thread;
invoke-direct {p0}, Lkotlinx/coroutines/ah;->Al()V
invoke-static {}, Lkotlinx/coroutines/bv;->AP()Lkotlinx/coroutines/bu;
invoke-virtual {p0}, Lkotlinx/coroutines/ah;->isEmpty()Z
move-result v0
if-nez v0, :cond_8
invoke-virtual {p0}, Lkotlinx/coroutines/ah;->getThread()Ljava/lang/Thread;
:cond_8
return-void
:cond_9
:try_start_3
invoke-static {}, Lkotlinx/coroutines/bv;->AP()Lkotlinx/coroutines/bu;
move-result-object v7
invoke-interface {v7, p0, v5, v6}, Lkotlinx/coroutines/bu;->parkNanos(Ljava/lang/Object;J)V
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0
goto :goto_0
:catchall_0
move-exception v1
sput-object v0, Lkotlinx/coroutines/ah;->_thread:Ljava/lang/Thread;
invoke-direct {p0}, Lkotlinx/coroutines/ah;->Al()V
invoke-static {}, Lkotlinx/coroutines/bv;->AP()Lkotlinx/coroutines/bu;
invoke-virtual {p0}, Lkotlinx/coroutines/ah;->isEmpty()Z
move-result v0
if-nez v0, :cond_a
invoke-virtual {p0}, Lkotlinx/coroutines/ah;->getThread()Ljava/lang/Thread;
:cond_a
throw v1
return-void
.end method

View file

@ -1,8 +1,29 @@
.class public interface abstract Lkotlinx/coroutines/ai;
.class public final Lkotlinx/coroutines/ai;
.super Ljava/lang/Object;
.source "Job.kt"
.source "DefaultExecutor.kt"
# virtual methods
.method public abstract dispose()V
# static fields
.field private static final bhJ:Lkotlinx/coroutines/ak;
# direct methods
.method static constructor <clinit>()V
.locals 1
sget-object v0, Lkotlinx/coroutines/ah;->bhI:Lkotlinx/coroutines/ah;
check-cast v0, Lkotlinx/coroutines/ak;
sput-object v0, Lkotlinx/coroutines/ai;->bhJ:Lkotlinx/coroutines/ak;
return-void
.end method
.method public static final Am()Lkotlinx/coroutines/ak;
.locals 1
sget-object v0, Lkotlinx/coroutines/ai;->bhJ:Lkotlinx/coroutines/ak;
return-object v0
.end method

View file

@ -1,74 +1,78 @@
.class final Lkotlinx/coroutines/aj;
.class public final Lkotlinx/coroutines/aj;
.super Ljava/lang/Object;
.source "JobSupport.kt"
.source "TimeSource.kt"
# interfaces
.implements Lkotlinx/coroutines/ap;
.implements Lkotlinx/coroutines/bu;
# instance fields
.field final bhP:Z
# static fields
.field public static final bhK:Lkotlinx/coroutines/aj;
# direct methods
.method public constructor <init>(Z)V
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lkotlinx/coroutines/aj;
invoke-direct {v0}, Lkotlinx/coroutines/aj;-><init>()V
sput-object v0, Lkotlinx/coroutines/aj;->bhK:Lkotlinx/coroutines/aj;
return-void
.end method
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-boolean p1, p0, Lkotlinx/coroutines/aj;->bhP:Z
return-void
.end method
# virtual methods
.method public final Ap()Lkotlinx/coroutines/bc;
.method public final l(Ljava/lang/Runnable;)Ljava/lang/Runnable;
.locals 1
const/4 v0, 0x0
const-string v0, "block"
return-object v0
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
return-object p1
.end method
.method public final isActive()Z
.locals 1
iget-boolean v0, p0, Lkotlinx/coroutines/aj;->bhP:Z
return v0
.end method
.method public final toString()Ljava/lang/String;
.method public final nanoTime()J
.locals 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-static {}, Ljava/lang/System;->nanoTime()J
const-string v1, "Empty{"
move-result-wide v0
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-boolean v1, p0, Lkotlinx/coroutines/aj;->bhP:Z
if-eqz v1, :cond_0
const-string v1, "Active"
goto :goto_0
:cond_0
const-string v1, "New"
:goto_0
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x7d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
return-wide v0
.end method
.method public final parkNanos(Ljava/lang/Object;J)V
.locals 1
const-string v0, "blocker"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {p1, p2, p3}, Ljava/util/concurrent/locks/LockSupport;->parkNanos(Ljava/lang/Object;J)V
return-void
.end method
.method public final unpark(Ljava/lang/Thread;)V
.locals 1
const-string v0, "thread"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {p1}, Ljava/util/concurrent/locks/LockSupport;->unpark(Ljava/lang/Thread;)V
return-void
.end method

View file

@ -1,5 +1,17 @@
.class public interface abstract Lkotlinx/coroutines/ak;
.super Ljava/lang/Object;
.source "Delay.kt"
# interfaces
.implements Lkotlin/c/d;
# virtual methods
.method public abstract a(JLkotlinx/coroutines/h;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(J",
"Lkotlinx/coroutines/h<",
"-",
"Lkotlin/Unit;",
">;)V"
}
.end annotation
.end method

View file

@ -1,62 +0,0 @@
.class public abstract Lkotlinx/coroutines/al$a;
.super Ljava/lang/Object;
.source "EventLoop.kt"
# interfaces
.implements Ljava/lang/Comparable;
.implements Ljava/lang/Runnable;
.implements Lkotlinx/coroutines/a/t;
.implements Lkotlinx/coroutines/ai;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/al;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "a"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/lang/Comparable<",
"Lkotlinx/coroutines/al$a;",
">;",
"Ljava/lang/Runnable;",
"Lkotlinx/coroutines/a/t;",
"Lkotlinx/coroutines/ai;"
}
.end annotation
# instance fields
.field public final nanoTime:J
# virtual methods
.method public toString()Ljava/lang/String;
.locals 3
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "Delayed[nanos="
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-wide v1, p0, Lkotlinx/coroutines/al$a;->nanoTime:J
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const/16 v1, 0x5d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

File diff suppressed because it is too large Load diff

View file

@ -1,41 +1,814 @@
.class public final Lkotlinx/coroutines/am;
.super Ljava/lang/Object;
.source "EventLoop.kt"
.source "Dispatched.kt"
# static fields
.field private static final bhS:Lkotlinx/coroutines/a/o;
.field private static final bhT:Lkotlinx/coroutines/a/o;
.field private static final bhP:Lkotlinx/coroutines/internal/u;
# direct methods
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lkotlinx/coroutines/a/o;
new-instance v0, Lkotlinx/coroutines/internal/u;
const-string v1, "REMOVED_TASK"
const-string v1, "UNDEFINED"
invoke-direct {v0, v1}, Lkotlinx/coroutines/a/o;-><init>(Ljava/lang/String;)V
invoke-direct {v0, v1}, Lkotlinx/coroutines/internal/u;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/am;->bhS:Lkotlinx/coroutines/a/o;
new-instance v0, Lkotlinx/coroutines/a/o;
const-string v1, "CLOSED_EMPTY"
invoke-direct {v0, v1}, Lkotlinx/coroutines/a/o;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/am;->bhT:Lkotlinx/coroutines/a/o;
sput-object v0, Lkotlinx/coroutines/am;->bhP:Lkotlinx/coroutines/internal/u;
return-void
.end method
.method public static final synthetic At()Lkotlinx/coroutines/a/o;
.method public static final synthetic An()Lkotlinx/coroutines/internal/u;
.locals 1
sget-object v0, Lkotlinx/coroutines/am;->bhT:Lkotlinx/coroutines/a/o;
sget-object v0, Lkotlinx/coroutines/am;->bhP:Lkotlinx/coroutines/internal/u;
return-object v0
.end method
.method public static final a(Lkotlin/coroutines/Continuation;Ljava/lang/Object;)V
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlin/coroutines/Continuation<",
"-TT;>;TT;)V"
}
.end annotation
const-string v0, "$this$resumeCancellable"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
instance-of v0, p0, Lkotlinx/coroutines/al;
if-eqz v0, :cond_4
check-cast p0, Lkotlinx/coroutines/al;
iget-object v0, p0, Lkotlinx/coroutines/al;->bhN:Lkotlinx/coroutines/y;
invoke-virtual {p0}, Lkotlinx/coroutines/al;->getContext()Lkotlin/coroutines/CoroutineContext;
move-result-object v1
invoke-virtual {v0, v1}, Lkotlinx/coroutines/y;->b(Lkotlin/coroutines/CoroutineContext;)Z
move-result v0
const/4 v1, 0x1
if-eqz v0, :cond_0
iput-object p1, p0, Lkotlinx/coroutines/al;->_state:Ljava/lang/Object;
iput v1, p0, Lkotlinx/coroutines/al;->bhQ:I
iget-object p1, p0, Lkotlinx/coroutines/al;->bhN:Lkotlinx/coroutines/y;
invoke-virtual {p0}, Lkotlinx/coroutines/al;->getContext()Lkotlin/coroutines/CoroutineContext;
move-result-object v0
check-cast p0, Ljava/lang/Runnable;
invoke-virtual {p1, v0, p0}, Lkotlinx/coroutines/y;->a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V
return-void
:cond_0
sget-object v0, Lkotlinx/coroutines/bt;->biB:Lkotlinx/coroutines/bt;
invoke-static {}, Lkotlinx/coroutines/bt;->AN()Lkotlinx/coroutines/as;
move-result-object v0
invoke-virtual {v0}, Lkotlinx/coroutines/as;->Au()Z
move-result v2
if-eqz v2, :cond_1
iput-object p1, p0, Lkotlinx/coroutines/al;->_state:Ljava/lang/Object;
iput v1, p0, Lkotlinx/coroutines/al;->bhQ:I
check-cast p0, Lkotlinx/coroutines/an;
invoke-virtual {v0, p0}, Lkotlinx/coroutines/as;->a(Lkotlinx/coroutines/an;)V
return-void
:cond_1
move-object v2, p0
check-cast v2, Lkotlinx/coroutines/an;
invoke-virtual {v0, v1}, Lkotlinx/coroutines/as;->aa(Z)V
:try_start_0
invoke-virtual {p0}, Lkotlinx/coroutines/al;->getContext()Lkotlin/coroutines/CoroutineContext;
move-result-object v3
sget-object v4, Lkotlinx/coroutines/Job;->bim:Lkotlinx/coroutines/Job$b;
check-cast v4, Lkotlin/coroutines/CoroutineContext$c;
invoke-interface {v3, v4}, Lkotlin/coroutines/CoroutineContext;->get(Lkotlin/coroutines/CoroutineContext$c;)Lkotlin/coroutines/CoroutineContext$b;
move-result-object v3
check-cast v3, Lkotlinx/coroutines/Job;
if-eqz v3, :cond_2
invoke-interface {v3}, Lkotlinx/coroutines/Job;->isActive()Z
move-result v4
if-nez v4, :cond_2
invoke-interface {v3}, Lkotlinx/coroutines/Job;->AC()Ljava/util/concurrent/CancellationException;
move-result-object v3
check-cast v3, Ljava/lang/Throwable;
sget-object v4, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {v3}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v3
invoke-static {v3}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
invoke-interface {p0, v3}, Lkotlin/coroutines/Continuation;->resumeWith(Ljava/lang/Object;)V
goto :goto_0
:cond_2
const/4 v1, 0x0
:goto_0
if-nez v1, :cond_3
invoke-virtual {p0}, Lkotlinx/coroutines/al;->getContext()Lkotlin/coroutines/CoroutineContext;
move-result-object v1
iget-object v3, p0, Lkotlinx/coroutines/al;->bhM:Ljava/lang/Object;
invoke-static {v1, v3}, Lkotlinx/coroutines/internal/y;->b(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
:try_start_1
iget-object p0, p0, Lkotlinx/coroutines/al;->bhO:Lkotlin/coroutines/Continuation;
sget-object v4, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/coroutines/Continuation;->resumeWith(Ljava/lang/Object;)V
sget-object p0, Lkotlin/Unit;->beH:Lkotlin/Unit;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:try_start_2
invoke-static {v1, v3}, Lkotlinx/coroutines/internal/y;->a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Object;)V
goto :goto_1
:catchall_0
move-exception p0
invoke-static {v1, v3}, Lkotlinx/coroutines/internal/y;->a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Object;)V
throw p0
:cond_3
:goto_1
invoke-virtual {v0}, Lkotlinx/coroutines/as;->At()Z
move-result p0
:try_end_2
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_2} :catch_0
.catchall {:try_start_2 .. :try_end_2} :catchall_1
if-nez p0, :cond_3
invoke-virtual {v0}, Lkotlinx/coroutines/as;->Aw()V
return-void
:catchall_1
move-exception p0
goto :goto_2
:catch_0
move-exception p0
const/4 p1, 0x0
:try_start_3
invoke-virtual {v2, p0, p1}, Lkotlinx/coroutines/an;->d(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_1
invoke-virtual {v0}, Lkotlinx/coroutines/as;->Aw()V
return-void
:goto_2
invoke-virtual {v0}, Lkotlinx/coroutines/as;->Aw()V
throw p0
:cond_4
sget-object v0, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/coroutines/Continuation;->resumeWith(Ljava/lang/Object;)V
return-void
.end method
.method public static final a(Lkotlin/coroutines/Continuation;Ljava/lang/Throwable;)V
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlin/coroutines/Continuation<",
"-TT;>;",
"Ljava/lang/Throwable;",
")V"
}
.end annotation
const-string v0, "$this$resumeCancellableWithException"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "exception"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
instance-of v0, p0, Lkotlinx/coroutines/al;
if-eqz v0, :cond_4
check-cast p0, Lkotlinx/coroutines/al;
iget-object v0, p0, Lkotlinx/coroutines/al;->bhO:Lkotlin/coroutines/Continuation;
invoke-interface {v0}, Lkotlin/coroutines/Continuation;->getContext()Lkotlin/coroutines/CoroutineContext;
move-result-object v0
new-instance v1, Lkotlinx/coroutines/q;
invoke-direct {v1, p1}, Lkotlinx/coroutines/q;-><init>(Ljava/lang/Throwable;)V
iget-object v2, p0, Lkotlinx/coroutines/al;->bhN:Lkotlinx/coroutines/y;
invoke-virtual {v2, v0}, Lkotlinx/coroutines/y;->b(Lkotlin/coroutines/CoroutineContext;)Z
move-result v2
const/4 v3, 0x1
if-eqz v2, :cond_0
new-instance v1, Lkotlinx/coroutines/q;
invoke-direct {v1, p1}, Lkotlinx/coroutines/q;-><init>(Ljava/lang/Throwable;)V
iput-object v1, p0, Lkotlinx/coroutines/al;->_state:Ljava/lang/Object;
iput v3, p0, Lkotlinx/coroutines/al;->bhQ:I
iget-object p1, p0, Lkotlinx/coroutines/al;->bhN:Lkotlinx/coroutines/y;
check-cast p0, Ljava/lang/Runnable;
invoke-virtual {p1, v0, p0}, Lkotlinx/coroutines/y;->a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V
return-void
:cond_0
sget-object v0, Lkotlinx/coroutines/bt;->biB:Lkotlinx/coroutines/bt;
invoke-static {}, Lkotlinx/coroutines/bt;->AN()Lkotlinx/coroutines/as;
move-result-object v0
invoke-virtual {v0}, Lkotlinx/coroutines/as;->Au()Z
move-result v2
if-eqz v2, :cond_1
iput-object v1, p0, Lkotlinx/coroutines/al;->_state:Ljava/lang/Object;
iput v3, p0, Lkotlinx/coroutines/al;->bhQ:I
check-cast p0, Lkotlinx/coroutines/an;
invoke-virtual {v0, p0}, Lkotlinx/coroutines/as;->a(Lkotlinx/coroutines/an;)V
return-void
:cond_1
move-object v1, p0
check-cast v1, Lkotlinx/coroutines/an;
invoke-virtual {v0, v3}, Lkotlinx/coroutines/as;->aa(Z)V
:try_start_0
invoke-virtual {p0}, Lkotlinx/coroutines/al;->getContext()Lkotlin/coroutines/CoroutineContext;
move-result-object v2
sget-object v4, Lkotlinx/coroutines/Job;->bim:Lkotlinx/coroutines/Job$b;
check-cast v4, Lkotlin/coroutines/CoroutineContext$c;
invoke-interface {v2, v4}, Lkotlin/coroutines/CoroutineContext;->get(Lkotlin/coroutines/CoroutineContext$c;)Lkotlin/coroutines/CoroutineContext$b;
move-result-object v2
check-cast v2, Lkotlinx/coroutines/Job;
if-eqz v2, :cond_2
invoke-interface {v2}, Lkotlinx/coroutines/Job;->isActive()Z
move-result v4
if-nez v4, :cond_2
invoke-interface {v2}, Lkotlinx/coroutines/Job;->AC()Ljava/util/concurrent/CancellationException;
move-result-object v2
check-cast v2, Ljava/lang/Throwable;
sget-object v4, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {v2}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v2
invoke-static {v2}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
invoke-interface {p0, v2}, Lkotlin/coroutines/Continuation;->resumeWith(Ljava/lang/Object;)V
goto :goto_0
:cond_2
const/4 v3, 0x0
:goto_0
if-nez v3, :cond_3
invoke-virtual {p0}, Lkotlinx/coroutines/al;->getContext()Lkotlin/coroutines/CoroutineContext;
move-result-object v2
iget-object v3, p0, Lkotlinx/coroutines/al;->bhM:Ljava/lang/Object;
invoke-static {v2, v3}, Lkotlinx/coroutines/internal/y;->b(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
:try_start_1
iget-object p0, p0, Lkotlinx/coroutines/al;->bhO:Lkotlin/coroutines/Continuation;
sget-object v4, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1, p0}, Lkotlinx/coroutines/internal/t;->a(Ljava/lang/Throwable;Lkotlin/coroutines/Continuation;)Ljava/lang/Throwable;
move-result-object p1
invoke-static {p1}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object p1
invoke-static {p1}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/coroutines/Continuation;->resumeWith(Ljava/lang/Object;)V
sget-object p0, Lkotlin/Unit;->beH:Lkotlin/Unit;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:try_start_2
invoke-static {v2, v3}, Lkotlinx/coroutines/internal/y;->a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Object;)V
goto :goto_1
:catchall_0
move-exception p0
invoke-static {v2, v3}, Lkotlinx/coroutines/internal/y;->a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Object;)V
throw p0
:cond_3
:goto_1
invoke-virtual {v0}, Lkotlinx/coroutines/as;->At()Z
move-result p0
:try_end_2
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_2} :catch_0
.catchall {:try_start_2 .. :try_end_2} :catchall_1
if-nez p0, :cond_3
invoke-virtual {v0}, Lkotlinx/coroutines/as;->Aw()V
return-void
:catchall_1
move-exception p0
goto :goto_2
:catch_0
move-exception p0
const/4 p1, 0x0
:try_start_3
invoke-virtual {v1, p0, p1}, Lkotlinx/coroutines/an;->d(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_1
invoke-virtual {v0}, Lkotlinx/coroutines/as;->Aw()V
return-void
:goto_2
invoke-virtual {v0}, Lkotlinx/coroutines/as;->Aw()V
throw p0
:cond_4
sget-object v0, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1, p0}, Lkotlinx/coroutines/internal/t;->a(Ljava/lang/Throwable;Lkotlin/coroutines/Continuation;)Ljava/lang/Throwable;
move-result-object p1
invoke-static {p1}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object p1
invoke-static {p1}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/coroutines/Continuation;->resumeWith(Ljava/lang/Object;)V
return-void
.end method
.method public static final a(Lkotlinx/coroutines/an;I)V
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlinx/coroutines/an<",
"-TT;>;I)V"
}
.end annotation
const-string v0, "$this$dispatch"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {p0}, Lkotlinx/coroutines/an;->Aa()Lkotlin/coroutines/Continuation;
move-result-object v0
const/4 v1, 0x1
if-eqz p1, :cond_1
if-ne p1, v1, :cond_0
goto :goto_0
:cond_0
const/4 v2, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 v2, 0x1
:goto_1
if-eqz v2, :cond_5
instance-of v2, v0, Lkotlinx/coroutines/al;
if-eqz v2, :cond_5
invoke-static {p1}, Lkotlinx/coroutines/bq;->cZ(I)Z
move-result v2
iget v3, p0, Lkotlinx/coroutines/an;->bhQ:I
invoke-static {v3}, Lkotlinx/coroutines/bq;->cZ(I)Z
move-result v3
if-ne v2, v3, :cond_5
move-object p1, v0
check-cast p1, Lkotlinx/coroutines/al;
iget-object p1, p1, Lkotlinx/coroutines/al;->bhN:Lkotlinx/coroutines/y;
invoke-interface {v0}, Lkotlin/coroutines/Continuation;->getContext()Lkotlin/coroutines/CoroutineContext;
move-result-object v0
invoke-virtual {p1, v0}, Lkotlinx/coroutines/y;->b(Lkotlin/coroutines/CoroutineContext;)Z
move-result v2
if-eqz v2, :cond_2
check-cast p0, Ljava/lang/Runnable;
invoke-virtual {p1, v0, p0}, Lkotlinx/coroutines/y;->a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V
return-void
:cond_2
sget-object p1, Lkotlinx/coroutines/bt;->biB:Lkotlinx/coroutines/bt;
invoke-static {}, Lkotlinx/coroutines/bt;->AN()Lkotlinx/coroutines/as;
move-result-object p1
invoke-virtual {p1}, Lkotlinx/coroutines/as;->Au()Z
move-result v0
if-eqz v0, :cond_3
invoke-virtual {p1, p0}, Lkotlinx/coroutines/as;->a(Lkotlinx/coroutines/an;)V
return-void
:cond_3
invoke-virtual {p1, v1}, Lkotlinx/coroutines/as;->aa(Z)V
:try_start_0
invoke-virtual {p0}, Lkotlinx/coroutines/an;->Aa()Lkotlin/coroutines/Continuation;
move-result-object v0
const/4 v1, 0x3
invoke-static {p0, v0, v1}, Lkotlinx/coroutines/am;->a(Lkotlinx/coroutines/an;Lkotlin/coroutines/Continuation;I)V
:cond_4
invoke-virtual {p1}, Lkotlinx/coroutines/as;->At()Z
move-result v0
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-nez v0, :cond_4
invoke-virtual {p1}, Lkotlinx/coroutines/as;->Aw()V
return-void
:catchall_0
move-exception p0
goto :goto_2
:catch_0
move-exception v0
const/4 v1, 0x0
:try_start_1
invoke-virtual {p0, v0, v1}, Lkotlinx/coroutines/an;->d(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
invoke-virtual {p1}, Lkotlinx/coroutines/as;->Aw()V
return-void
:goto_2
invoke-virtual {p1}, Lkotlinx/coroutines/as;->Aw()V
throw p0
:cond_5
invoke-static {p0, v0, p1}, Lkotlinx/coroutines/am;->a(Lkotlinx/coroutines/an;Lkotlin/coroutines/Continuation;I)V
return-void
.end method
.method private static a(Lkotlinx/coroutines/an;Lkotlin/coroutines/Continuation;I)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlinx/coroutines/an<",
"-TT;>;",
"Lkotlin/coroutines/Continuation<",
"-TT;>;I)V"
}
.end annotation
const-string v0, "$this$resume"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "delegate"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {p0}, Lkotlinx/coroutines/an;->zW()Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Lkotlinx/coroutines/an;->bj(Ljava/lang/Object;)Ljava/lang/Throwable;
move-result-object v1
if-eqz v1, :cond_0
invoke-static {p1, v1, p2}, Lkotlinx/coroutines/bq;->a(Lkotlin/coroutines/Continuation;Ljava/lang/Throwable;I)V
return-void
:cond_0
invoke-virtual {p0, v0}, Lkotlinx/coroutines/an;->bf(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
invoke-static {p1, p0, p2}, Lkotlinx/coroutines/bq;->a(Lkotlin/coroutines/Continuation;Ljava/lang/Object;I)V
return-void
.end method
.method public static final b(Lkotlin/coroutines/Continuation;Ljava/lang/Object;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlin/coroutines/Continuation<",
"-TT;>;TT;)V"
}
.end annotation
const-string v0, "$this$resumeDirect"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
instance-of v0, p0, Lkotlinx/coroutines/al;
if-eqz v0, :cond_0
check-cast p0, Lkotlinx/coroutines/al;
iget-object p0, p0, Lkotlinx/coroutines/al;->bhO:Lkotlin/coroutines/Continuation;
sget-object v0, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/coroutines/Continuation;->resumeWith(Ljava/lang/Object;)V
return-void
:cond_0
sget-object v0, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/coroutines/Continuation;->resumeWith(Ljava/lang/Object;)V
return-void
.end method
.method public static final b(Lkotlin/coroutines/Continuation;Ljava/lang/Throwable;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlin/coroutines/Continuation<",
"-TT;>;",
"Ljava/lang/Throwable;",
")V"
}
.end annotation
const-string v0, "$this$resumeDirectWithException"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "exception"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
instance-of v0, p0, Lkotlinx/coroutines/al;
if-eqz v0, :cond_0
check-cast p0, Lkotlinx/coroutines/al;
iget-object p0, p0, Lkotlinx/coroutines/al;->bhO:Lkotlin/coroutines/Continuation;
sget-object v0, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1, p0}, Lkotlinx/coroutines/internal/t;->a(Ljava/lang/Throwable;Lkotlin/coroutines/Continuation;)Ljava/lang/Throwable;
move-result-object p1
invoke-static {p1}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object p1
invoke-static {p1}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/coroutines/Continuation;->resumeWith(Ljava/lang/Object;)V
return-void
:cond_0
sget-object v0, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1, p0}, Lkotlinx/coroutines/internal/t;->a(Ljava/lang/Throwable;Lkotlin/coroutines/Continuation;)Ljava/lang/Throwable;
move-result-object p1
invoke-static {p1}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object p1
invoke-static {p1}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/coroutines/Continuation;->resumeWith(Ljava/lang/Object;)V
return-void
.end method

View file

@ -1,16 +1,425 @@
.class public abstract Lkotlinx/coroutines/an;
.super Lkotlinx/coroutines/s;
.source "Executors.kt"
.super Lkotlinx/coroutines/b/i;
.source "Dispatched.kt"
# interfaces
.implements Ljava/io/Closeable;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lkotlinx/coroutines/b/i;"
}
.end annotation
# instance fields
.field public bhQ:I
# direct methods
.method public constructor <init>()V
.method public constructor <init>(I)V
.locals 0
invoke-direct {p0}, Lkotlinx/coroutines/s;-><init>()V
invoke-direct {p0}, Lkotlinx/coroutines/b/i;-><init>()V
iput p1, p0, Lkotlinx/coroutines/an;->bhQ:I
return-void
.end method
.method public static bj(Ljava/lang/Object;)Ljava/lang/Throwable;
.locals 2
instance-of v0, p0, Lkotlinx/coroutines/q;
const/4 v1, 0x0
if-nez v0, :cond_0
move-object p0, v1
:cond_0
check-cast p0, Lkotlinx/coroutines/q;
if-eqz p0, :cond_1
iget-object p0, p0, Lkotlinx/coroutines/q;->cause:Ljava/lang/Throwable;
return-object p0
:cond_1
return-object v1
.end method
# virtual methods
.method public abstract Aa()Lkotlin/coroutines/Continuation;
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lkotlin/coroutines/Continuation<",
"TT;>;"
}
.end annotation
.end method
.method public a(Ljava/lang/Object;Ljava/lang/Throwable;)V
.locals 0
const-string p1, "cause"
invoke-static {p2, p1}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
return-void
.end method
.method public bf(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Object;",
")TT;"
}
.end annotation
return-object p1
.end method
.method public final d(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
.locals 2
if-nez p1, :cond_0
if-nez p2, :cond_0
return-void
:cond_0
if-eqz p1, :cond_1
if-eqz p2, :cond_1
invoke-static {p1, p2}, Lkotlin/a;->b(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
:cond_1
if-nez p1, :cond_2
move-object p1, p2
:cond_2
new-instance p2, Lkotlinx/coroutines/af;
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "Fatal exception in coroutines machinery for "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, ". Please read KDoc to \'handleFatalException\' method and report this incident to maintainers"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
if-nez p1, :cond_3
invoke-static {}, Lkotlin/jvm/internal/j;->zH()V
:cond_3
invoke-direct {p2, v0, p1}, Lkotlinx/coroutines/af;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
invoke-virtual {p0}, Lkotlinx/coroutines/an;->Aa()Lkotlin/coroutines/Continuation;
move-result-object p1
invoke-interface {p1}, Lkotlin/coroutines/Continuation;->getContext()Lkotlin/coroutines/CoroutineContext;
move-result-object p1
check-cast p2, Ljava/lang/Throwable;
invoke-static {p1, p2}, Lkotlinx/coroutines/aa;->b(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Throwable;)V
return-void
.end method
.method public final run()V
.locals 8
iget-object v0, p0, Lkotlinx/coroutines/an;->bkr:Lkotlinx/coroutines/b/j;
const/4 v1, 0x0
:try_start_0
invoke-virtual {p0}, Lkotlinx/coroutines/an;->Aa()Lkotlin/coroutines/Continuation;
move-result-object v2
if-eqz v2, :cond_3
check-cast v2, Lkotlinx/coroutines/al;
iget-object v3, v2, Lkotlinx/coroutines/al;->bhO:Lkotlin/coroutines/Continuation;
invoke-interface {v3}, Lkotlin/coroutines/Continuation;->getContext()Lkotlin/coroutines/CoroutineContext;
move-result-object v4
iget v5, p0, Lkotlinx/coroutines/an;->bhQ:I
invoke-static {v5}, Lkotlinx/coroutines/bq;->cZ(I)Z
move-result v5
if-eqz v5, :cond_0
sget-object v5, Lkotlinx/coroutines/Job;->bim:Lkotlinx/coroutines/Job$b;
check-cast v5, Lkotlin/coroutines/CoroutineContext$c;
invoke-interface {v4, v5}, Lkotlin/coroutines/CoroutineContext;->get(Lkotlin/coroutines/CoroutineContext$c;)Lkotlin/coroutines/CoroutineContext$b;
move-result-object v5
check-cast v5, Lkotlinx/coroutines/Job;
goto :goto_0
:cond_0
move-object v5, v1
:goto_0
invoke-virtual {p0}, Lkotlinx/coroutines/an;->zW()Ljava/lang/Object;
move-result-object v6
iget-object v2, v2, Lkotlinx/coroutines/al;->bhM:Ljava/lang/Object;
invoke-static {v4, v2}, Lkotlinx/coroutines/internal/y;->b(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_2
.catchall {:try_start_0 .. :try_end_0} :catchall_1
if-eqz v5, :cond_1
:try_start_1
invoke-interface {v5}, Lkotlinx/coroutines/Job;->isActive()Z
move-result v7
if-nez v7, :cond_1
invoke-interface {v5}, Lkotlinx/coroutines/Job;->AC()Ljava/util/concurrent/CancellationException;
move-result-object v5
move-object v7, v5
check-cast v7, Ljava/lang/Throwable;
invoke-virtual {p0, v6, v7}, Lkotlinx/coroutines/an;->a(Ljava/lang/Object;Ljava/lang/Throwable;)V
sget-object v6, Lkotlin/m;->beE:Lkotlin/m$a;
check-cast v5, Ljava/lang/Throwable;
invoke-static {v5, v3}, Lkotlinx/coroutines/internal/t;->a(Ljava/lang/Throwable;Lkotlin/coroutines/Continuation;)Ljava/lang/Throwable;
move-result-object v5
invoke-static {v5}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v5
invoke-static {v5}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
invoke-interface {v3, v5}, Lkotlin/coroutines/Continuation;->resumeWith(Ljava/lang/Object;)V
goto :goto_1
:cond_1
invoke-static {v6}, Lkotlinx/coroutines/an;->bj(Ljava/lang/Object;)Ljava/lang/Throwable;
move-result-object v5
if-eqz v5, :cond_2
sget-object v6, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {v5, v3}, Lkotlinx/coroutines/internal/t;->a(Ljava/lang/Throwable;Lkotlin/coroutines/Continuation;)Ljava/lang/Throwable;
move-result-object v5
invoke-static {v5}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v5
invoke-static {v5}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
invoke-interface {v3, v5}, Lkotlin/coroutines/Continuation;->resumeWith(Ljava/lang/Object;)V
goto :goto_1
:cond_2
invoke-virtual {p0, v6}, Lkotlinx/coroutines/an;->bf(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
sget-object v6, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {v5}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
invoke-interface {v3, v5}, Lkotlin/coroutines/Continuation;->resumeWith(Ljava/lang/Object;)V
:goto_1
sget-object v3, Lkotlin/Unit;->beH:Lkotlin/Unit;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:try_start_2
invoke-static {v4, v2}, Lkotlinx/coroutines/internal/y;->a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Object;)V
:try_end_2
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_2} :catch_2
.catchall {:try_start_2 .. :try_end_2} :catchall_1
:try_start_3
sget-object v2, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-interface {v0}, Lkotlinx/coroutines/b/j;->BC()V
sget-object v0, Lkotlin/Unit;->beH:Lkotlin/Unit;
invoke-static {v0}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_3
.catch Ljava/lang/Throwable; {:try_start_3 .. :try_end_3} :catch_0
goto :goto_3
:catch_0
move-exception v0
:goto_2
sget-object v2, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {v0}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:goto_3
invoke-static {v0}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Throwable;
move-result-object v0
invoke-virtual {p0, v1, v0}, Lkotlinx/coroutines/an;->d(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
return-void
:catchall_0
move-exception v3
:try_start_4
invoke-static {v4, v2}, Lkotlinx/coroutines/internal/y;->a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Object;)V
throw v3
:cond_3
new-instance v2, Lkotlin/r;
const-string v3, "null cannot be cast to non-null type kotlinx.coroutines.DispatchedContinuation<T>"
invoke-direct {v2, v3}, Lkotlin/r;-><init>(Ljava/lang/String;)V
throw v2
:try_end_4
.catch Ljava/lang/Throwable; {:try_start_4 .. :try_end_4} :catch_2
.catchall {:try_start_4 .. :try_end_4} :catchall_1
:catchall_1
move-exception v2
:try_start_5
sget-object v3, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-interface {v0}, Lkotlinx/coroutines/b/j;->BC()V
sget-object v0, Lkotlin/Unit;->beH:Lkotlin/Unit;
invoke-static {v0}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_5
.catch Ljava/lang/Throwable; {:try_start_5 .. :try_end_5} :catch_1
goto :goto_4
:catch_1
move-exception v0
sget-object v3, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {v0}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:goto_4
invoke-static {v0}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Throwable;
move-result-object v0
invoke-virtual {p0, v1, v0}, Lkotlinx/coroutines/an;->d(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
throw v2
:catch_2
move-exception v1
:try_start_6
sget-object v2, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-interface {v0}, Lkotlinx/coroutines/b/j;->BC()V
sget-object v0, Lkotlin/Unit;->beH:Lkotlin/Unit;
invoke-static {v0}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_6
.catch Ljava/lang/Throwable; {:try_start_6 .. :try_end_6} :catch_3
goto :goto_3
:catch_3
move-exception v0
goto :goto_2
.end method
.method public abstract zW()Ljava/lang/Object;
.end method

View file

@ -1,32 +0,0 @@
.class public final Lkotlinx/coroutines/android/AndroidDispatcherFactory$a;
.super Ljava/lang/Object;
.source "HandlerDispatcher.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/android/AndroidDispatcherFactory;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "a"
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(B)V
.locals 0
invoke-direct {p0}, Lkotlinx/coroutines/android/AndroidDispatcherFactory$a;-><init>()V
return-void
.end method

View file

@ -2,37 +2,16 @@
.super Ljava/lang/Object;
.source "HandlerDispatcher.kt"
# interfaces
.implements Lkotlinx/coroutines/internal/MainDispatcherFactory;
# annotations
.annotation build Landroidx/annotation/Keep;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlinx/coroutines/android/AndroidDispatcherFactory$a;
}
.end annotation
# static fields
.field public static final Companion:Lkotlinx/coroutines/android/AndroidDispatcherFactory$a;
# direct methods
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lkotlinx/coroutines/android/AndroidDispatcherFactory$a;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lkotlinx/coroutines/android/AndroidDispatcherFactory$a;-><init>(B)V
sput-object v0, Lkotlinx/coroutines/android/AndroidDispatcherFactory;->Companion:Lkotlinx/coroutines/android/AndroidDispatcherFactory$a;
return-void
.end method
.method public constructor <init>()V
.locals 0
@ -41,32 +20,70 @@
return-void
.end method
.method public static final getDispatcher()Lkotlinx/coroutines/bb;
.locals 1
sget-object v0, Lkotlinx/coroutines/android/d;->biu:Lkotlinx/coroutines/android/c;
check-cast v0, Lkotlinx/coroutines/bb;
return-object v0
.end method
# virtual methods
.method public final createDispatcher()Lkotlinx/coroutines/bb;
.locals 1
.method public final createDispatcher(Ljava/util/List;)Lkotlinx/coroutines/android/a;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"+",
"Lkotlinx/coroutines/internal/MainDispatcherFactory;",
">;)",
"Lkotlinx/coroutines/android/a;"
}
.end annotation
sget-object v0, Lkotlinx/coroutines/android/d;->biu:Lkotlinx/coroutines/android/c;
const-string v0, "allFactories"
check-cast v0, Lkotlinx/coroutines/bb;
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
return-object v0
new-instance p1, Lkotlinx/coroutines/android/a;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v0
const-string v1, "Looper.getMainLooper()"
invoke-static {v0, v1}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {v0}, Lkotlinx/coroutines/android/c;->a(Landroid/os/Looper;)Landroid/os/Handler;
move-result-object v0
const-string v1, "Main"
invoke-direct {p1, v0, v1}, Lkotlinx/coroutines/android/a;-><init>(Landroid/os/Handler;Ljava/lang/String;)V
return-object p1
.end method
.method public final bridge synthetic createDispatcher(Ljava/util/List;)Lkotlinx/coroutines/bl;
.locals 0
invoke-virtual {p0, p1}, Lkotlinx/coroutines/android/AndroidDispatcherFactory;->createDispatcher(Ljava/util/List;)Lkotlinx/coroutines/android/a;
move-result-object p1
check-cast p1, Lkotlinx/coroutines/bl;
return-object p1
.end method
.method public final getLoadPriority()I
.locals 1
const v0, 0x7fffffff
const v0, 0x3fffffff # 1.9999999f
return v0
.end method
.method public final hintOnError()Ljava/lang/String;
.locals 1
const-string v0, "For tests Dispatchers.setMain from kotlinx-coroutines-test module can be used"
return-object v0
.end method

View file

@ -1,8 +1,9 @@
.class public final Lkotlinx/coroutines/android/AndroidExceptionPreHandler;
.super Lkotlin/c/a;
.super Lkotlin/coroutines/a;
.source "AndroidExceptionPreHandler.kt"
# interfaces
.implements Lkotlin/jvm/functions/Function0;
.implements Lkotlinx/coroutines/CoroutineExceptionHandler;
@ -10,24 +11,102 @@
.annotation build Landroidx/annotation/Keep;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/coroutines/a;",
"Lkotlin/jvm/functions/Function0<",
"Ljava/lang/reflect/Method;",
">;",
"Lkotlinx/coroutines/CoroutineExceptionHandler;"
}
.end annotation
# static fields
.field static final synthetic $$delegatedProperties:[Lkotlin/reflect/KProperty;
# instance fields
.field private final preHandler$delegate:Lkotlin/Lazy;
# direct methods
.method public constructor <init>()V
.locals 1
.method static constructor <clinit>()V
.locals 5
sget-object v0, Lkotlinx/coroutines/CoroutineExceptionHandler;->bhu:Lkotlinx/coroutines/CoroutineExceptionHandler$a;
const/4 v0, 0x1
check-cast v0, Lkotlin/c/e$c;
new-array v0, v0, [Lkotlin/reflect/KProperty;
invoke-direct {p0, v0}, Lkotlin/c/a;-><init>(Lkotlin/c/e$c;)V
new-instance v1, Lkotlin/jvm/internal/u;
const-class v2, Lkotlinx/coroutines/android/AndroidExceptionPreHandler;
invoke-static {v2}, Lkotlin/jvm/internal/v;->Q(Ljava/lang/Class;)Lkotlin/reflect/b;
move-result-object v2
const-string v3, "preHandler"
const-string v4, "getPreHandler()Ljava/lang/reflect/Method;"
invoke-direct {v1, v2, v3, v4}, Lkotlin/jvm/internal/u;-><init>(Lkotlin/reflect/KDeclarationContainer;Ljava/lang/String;Ljava/lang/String;)V
invoke-static {v1}, Lkotlin/jvm/internal/v;->a(Lkotlin/jvm/internal/t;)Lkotlin/reflect/d;
move-result-object v1
check-cast v1, Lkotlin/reflect/KProperty;
const/4 v2, 0x0
aput-object v1, v0, v2
sput-object v0, Lkotlinx/coroutines/android/AndroidExceptionPreHandler;->$$delegatedProperties:[Lkotlin/reflect/KProperty;
return-void
.end method
.method public constructor <init>()V
.locals 1
sget-object v0, Lkotlinx/coroutines/CoroutineExceptionHandler;->bhw:Lkotlinx/coroutines/CoroutineExceptionHandler$a;
check-cast v0, Lkotlin/coroutines/CoroutineContext$c;
invoke-direct {p0, v0}, Lkotlin/coroutines/a;-><init>(Lkotlin/coroutines/CoroutineContext$c;)V
move-object v0, p0
check-cast v0, Lkotlin/jvm/functions/Function0;
invoke-static {v0}, Lkotlin/f;->b(Lkotlin/jvm/functions/Function0;)Lkotlin/Lazy;
move-result-object v0
iput-object v0, p0, Lkotlinx/coroutines/android/AndroidExceptionPreHandler;->preHandler$delegate:Lkotlin/Lazy;
return-void
.end method
.method private final getPreHandler()Ljava/lang/reflect/Method;
.locals 1
iget-object v0, p0, Lkotlinx/coroutines/android/AndroidExceptionPreHandler;->preHandler$delegate:Lkotlin/Lazy;
invoke-interface {v0}, Lkotlin/Lazy;->getValue()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/reflect/Method;
return-object v0
.end method
# virtual methods
.method public final handleException(Lkotlin/c/e;Ljava/lang/Throwable;)V
.locals 2
.method public final handleException(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Throwable;)V
.locals 3
const-string v0, "context"
@ -37,45 +116,130 @@
invoke-static {p2, p1}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {}, Lkotlinx/coroutines/android/a;->AH()Ljava/lang/reflect/Method;
move-result-object p1
const/4 v0, 0x0
if-eqz p1, :cond_0
const/4 v1, 0x0
new-array v1, v1, [Ljava/lang/Object;
invoke-virtual {p1, v0, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
goto :goto_0
:cond_0
move-object p1, v0
:goto_0
instance-of v1, p1, Ljava/lang/Thread$UncaughtExceptionHandler;
if-nez v1, :cond_1
move-object p1, v0
:cond_1
check-cast p1, Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz p1, :cond_2
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object p1
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1c
if-lt v0, v1, :cond_0
const-string v0, "thread"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {p1}, Ljava/lang/Thread;->getUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;
move-result-object v0
invoke-interface {p1, v0, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
return-void
:cond_0
invoke-direct {p0}, Lkotlinx/coroutines/android/AndroidExceptionPreHandler;->getPreHandler()Ljava/lang/reflect/Method;
move-result-object v0
const/4 v1, 0x0
if-eqz v0, :cond_1
const/4 v2, 0x0
new-array v2, v2, [Ljava/lang/Object;
invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
goto :goto_0
:cond_1
move-object v0, v1
:goto_0
instance-of v2, v0, Ljava/lang/Thread$UncaughtExceptionHandler;
if-nez v2, :cond_2
move-object v0, v1
:cond_2
check-cast v0, Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_3
invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
:cond_3
return-void
.end method
.method public final bridge synthetic invoke()Ljava/lang/Object;
.locals 1
invoke-virtual {p0}, Lkotlinx/coroutines/android/AndroidExceptionPreHandler;->invoke()Ljava/lang/reflect/Method;
move-result-object v0
return-object v0
.end method
.method public final invoke()Ljava/lang/reflect/Method;
.locals 5
const/4 v0, 0x0
:try_start_0
const-class v1, Ljava/lang/Thread;
const-string v2, "getUncaughtExceptionPreHandler"
const/4 v3, 0x0
new-array v4, v3, [Ljava/lang/Class;
invoke-virtual {v1, v2, v4}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
const-string v2, "it"
invoke-static {v1, v2}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {v1}, Ljava/lang/reflect/Method;->getModifiers()I
move-result v2
invoke-static {v2}, Ljava/lang/reflect/Modifier;->isPublic(I)Z
move-result v2
if-eqz v2, :cond_0
invoke-virtual {v1}, Ljava/lang/reflect/Method;->getModifiers()I
move-result v2
invoke-static {v2}, Ljava/lang/reflect/Modifier;->isStatic(I)Z
move-result v2
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
if-eqz v2, :cond_0
const/4 v3, 0x1
:cond_0
if-eqz v3, :cond_1
move-object v0, v1
:catch_0
:cond_1
return-object v0
.end method

View file

@ -0,0 +1,53 @@
.class public final Lkotlinx/coroutines/android/a$a;
.super Ljava/lang/Object;
.source "Runnable.kt"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lkotlinx/coroutines/android/a;->a(JLkotlinx/coroutines/h;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
# instance fields
.field final synthetic biG:Lkotlinx/coroutines/h;
.field final synthetic this$0:Lkotlinx/coroutines/android/a;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/android/a;Lkotlinx/coroutines/h;)V
.locals 0
iput-object p1, p0, Lkotlinx/coroutines/android/a$a;->this$0:Lkotlinx/coroutines/android/a;
iput-object p2, p0, Lkotlinx/coroutines/android/a$a;->biG:Lkotlinx/coroutines/h;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final run()V
.locals 3
iget-object v0, p0, Lkotlinx/coroutines/android/a$a;->biG:Lkotlinx/coroutines/h;
iget-object v1, p0, Lkotlinx/coroutines/android/a$a;->this$0:Lkotlinx/coroutines/android/a;
sget-object v2, Lkotlin/Unit;->beH:Lkotlin/Unit;
invoke-interface {v0, v1, v2}, Lkotlinx/coroutines/h;->a(Lkotlinx/coroutines/y;Ljava/lang/Object;)V
return-void
.end method

View file

@ -0,0 +1,69 @@
.class final Lkotlinx/coroutines/android/a$b;
.super Lkotlin/jvm/internal/k;
.source "HandlerDispatcher.kt"
# interfaces
.implements Lkotlin/jvm/functions/Function1;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lkotlinx/coroutines/android/a;->a(JLkotlinx/coroutines/h;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x18
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/internal/k;",
"Lkotlin/jvm/functions/Function1<",
"Ljava/lang/Throwable;",
"Lkotlin/Unit;",
">;"
}
.end annotation
# instance fields
.field final synthetic $block:Ljava/lang/Runnable;
.field final synthetic this$0:Lkotlinx/coroutines/android/a;
# direct methods
.method constructor <init>(Lkotlinx/coroutines/android/a;Ljava/lang/Runnable;)V
.locals 0
iput-object p1, p0, Lkotlinx/coroutines/android/a$b;->this$0:Lkotlinx/coroutines/android/a;
iput-object p2, p0, Lkotlinx/coroutines/android/a$b;->$block:Ljava/lang/Runnable;
const/4 p1, 0x1
invoke-direct {p0, p1}, Lkotlin/jvm/internal/k;-><init>(I)V
return-void
.end method
# virtual methods
.method public final synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
.locals 1
iget-object p1, p0, Lkotlinx/coroutines/android/a$b;->this$0:Lkotlinx/coroutines/android/a;
invoke-static {p1}, Lkotlinx/coroutines/android/a;->a(Lkotlinx/coroutines/android/a;)Landroid/os/Handler;
move-result-object p1
iget-object v0, p0, Lkotlinx/coroutines/android/a$b;->$block:Ljava/lang/Runnable;
invoke-virtual {p1, v0}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
sget-object p1, Lkotlin/Unit;->beH:Lkotlin/Unit;
return-object p1
.end method

View file

@ -1,75 +1,278 @@
.class public final Lkotlinx/coroutines/android/a;
.super Ljava/lang/Object;
.source "AndroidExceptionPreHandler.kt"
.super Lkotlinx/coroutines/android/b;
.source "HandlerDispatcher.kt"
# interfaces
.implements Lkotlinx/coroutines/ak;
# static fields
.field private static final bir:Ljava/lang/reflect/Method;
# instance fields
.field private volatile _immediate:Lkotlinx/coroutines/android/a;
.field private final biE:Lkotlinx/coroutines/android/a;
.field private final biF:Z
.field private final handler:Landroid/os/Handler;
.field private final name:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.locals 5
.method public constructor <init>(Landroid/os/Handler;Ljava/lang/String;)V
.locals 1
const-string v0, "handler"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v0, 0x0
:try_start_0
const-class v1, Ljava/lang/Thread;
const-string v2, "getUncaughtExceptionPreHandler"
const/4 v3, 0x0
new-array v4, v3, [Ljava/lang/Class;
invoke-virtual {v1, v2, v4}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
const-string v2, "it"
invoke-static {v1, v2}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
invoke-virtual {v1}, Ljava/lang/reflect/Method;->getModifiers()I
move-result v2
invoke-static {v2}, Ljava/lang/reflect/Modifier;->isPublic(I)Z
move-result v2
if-eqz v2, :cond_0
invoke-virtual {v1}, Ljava/lang/reflect/Method;->getModifiers()I
move-result v2
invoke-static {v2}, Ljava/lang/reflect/Modifier;->isStatic(I)Z
move-result v2
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
if-eqz v2, :cond_0
const/4 v3, 0x1
:cond_0
if-eqz v3, :cond_1
move-object v0, v1
:catch_0
:cond_1
sput-object v0, Lkotlinx/coroutines/android/a;->bir:Ljava/lang/reflect/Method;
invoke-direct {p0, p1, p2, v0}, Lkotlinx/coroutines/android/a;-><init>(Landroid/os/Handler;Ljava/lang/String;Z)V
return-void
.end method
.method public static final synthetic AH()Ljava/lang/reflect/Method;
.method private constructor <init>(Landroid/os/Handler;Ljava/lang/String;Z)V
.locals 1
sget-object v0, Lkotlinx/coroutines/android/a;->bir:Ljava/lang/reflect/Method;
const/4 v0, 0x0
invoke-direct {p0, v0}, Lkotlinx/coroutines/android/b;-><init>(B)V
iput-object p1, p0, Lkotlinx/coroutines/android/a;->handler:Landroid/os/Handler;
iput-object p2, p0, Lkotlinx/coroutines/android/a;->name:Ljava/lang/String;
iput-boolean p3, p0, Lkotlinx/coroutines/android/a;->biF:Z
iget-boolean p1, p0, Lkotlinx/coroutines/android/a;->biF:Z
if-eqz p1, :cond_0
move-object p1, p0
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
iput-object p1, p0, Lkotlinx/coroutines/android/a;->_immediate:Lkotlinx/coroutines/android/a;
iget-object p1, p0, Lkotlinx/coroutines/android/a;->_immediate:Lkotlinx/coroutines/android/a;
if-nez p1, :cond_1
new-instance p1, Lkotlinx/coroutines/android/a;
iget-object p2, p0, Lkotlinx/coroutines/android/a;->handler:Landroid/os/Handler;
iget-object p3, p0, Lkotlinx/coroutines/android/a;->name:Ljava/lang/String;
const/4 v0, 0x1
invoke-direct {p1, p2, p3, v0}, Lkotlinx/coroutines/android/a;-><init>(Landroid/os/Handler;Ljava/lang/String;Z)V
iput-object p1, p0, Lkotlinx/coroutines/android/a;->_immediate:Lkotlinx/coroutines/android/a;
:cond_1
iput-object p1, p0, Lkotlinx/coroutines/android/a;->biE:Lkotlinx/coroutines/android/a;
return-void
.end method
.method public static final synthetic a(Lkotlinx/coroutines/android/a;)Landroid/os/Handler;
.locals 0
iget-object p0, p0, Lkotlinx/coroutines/android/a;->handler:Landroid/os/Handler;
return-object p0
.end method
# virtual methods
.method public final a(JLkotlinx/coroutines/h;)V
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(J",
"Lkotlinx/coroutines/h<",
"-",
"Lkotlin/Unit;",
">;)V"
}
.end annotation
const-string v0, "continuation"
invoke-static {p3, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
new-instance v0, Lkotlinx/coroutines/android/a$a;
invoke-direct {v0, p0, p3}, Lkotlinx/coroutines/android/a$a;-><init>(Lkotlinx/coroutines/android/a;Lkotlinx/coroutines/h;)V
check-cast v0, Ljava/lang/Runnable;
iget-object v1, p0, Lkotlinx/coroutines/android/a;->handler:Landroid/os/Handler;
const-wide v2, 0x3fffffffffffffffL # 1.9999999999999998
invoke-static {p1, p2, v2, v3}, Lkotlin/ranges/b;->g(JJ)J
move-result-wide p1
invoke-virtual {v1, v0, p1, p2}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
new-instance p1, Lkotlinx/coroutines/android/a$b;
invoke-direct {p1, p0, v0}, Lkotlinx/coroutines/android/a$b;-><init>(Lkotlinx/coroutines/android/a;Ljava/lang/Runnable;)V
check-cast p1, Lkotlin/jvm/functions/Function1;
invoke-interface {p3, p1}, Lkotlinx/coroutines/h;->h(Lkotlin/jvm/functions/Function1;)V
return-void
.end method
.method public final a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V
.locals 1
const-string v0, "context"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string p1, "block"
invoke-static {p2, p1}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
iget-object p1, p0, Lkotlinx/coroutines/android/a;->handler:Landroid/os/Handler;
invoke-virtual {p1, p2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
return-void
.end method
.method public final b(Lkotlin/coroutines/CoroutineContext;)Z
.locals 2
const-string v0, "context"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
iget-boolean p1, p0, Lkotlinx/coroutines/android/a;->biF:Z
const/4 v0, 0x1
if-eqz p1, :cond_1
invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
move-result-object p1
iget-object v1, p0, Lkotlinx/coroutines/android/a;->handler:Landroid/os/Handler;
invoke-virtual {v1}, Landroid/os/Handler;->getLooper()Landroid/os/Looper;
move-result-object v1
invoke-static {p1, v1}, Lkotlin/jvm/internal/j;->n(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
xor-int/2addr p1, v0
if-eqz p1, :cond_0
goto :goto_0
:cond_0
const/4 p1, 0x0
return p1
:cond_1
:goto_0
return v0
.end method
.method public final equals(Ljava/lang/Object;)Z
.locals 1
instance-of v0, p1, Lkotlinx/coroutines/android/a;
if-eqz v0, :cond_0
check-cast p1, Lkotlinx/coroutines/android/a;
iget-object p1, p1, Lkotlinx/coroutines/android/a;->handler:Landroid/os/Handler;
iget-object v0, p0, Lkotlinx/coroutines/android/a;->handler:Landroid/os/Handler;
if-ne p1, v0, :cond_0
const/4 p1, 0x1
return p1
:cond_0
const/4 p1, 0x0
return p1
.end method
.method public final hashCode()I
.locals 1
iget-object v0, p0, Lkotlinx/coroutines/android/a;->handler:Landroid/os/Handler;
invoke-static {v0}, Ljava/lang/System;->identityHashCode(Ljava/lang/Object;)I
move-result v0
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 2
iget-object v0, p0, Lkotlinx/coroutines/android/a;->name:Ljava/lang/String;
if-eqz v0, :cond_1
iget-boolean v1, p0, Lkotlinx/coroutines/android/a;->biF:Z
if-eqz v1, :cond_0
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v1, p0, Lkotlinx/coroutines/android/a;->name:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, " [immediate]"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:cond_0
return-object v0
:cond_1
iget-object v0, p0, Lkotlinx/coroutines/android/a;->handler:Landroid/os/Handler;
invoke-virtual {v0}, Landroid/os/Handler;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "handler.toString()"
invoke-static {v0, v1}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
return-object v0
.end method

View file

@ -1,224 +1,24 @@
.class public final Lkotlinx/coroutines/android/b;
.super Lkotlinx/coroutines/android/c;
.class public abstract Lkotlinx/coroutines/android/b;
.super Lkotlinx/coroutines/bl;
.source "HandlerDispatcher.kt"
# instance fields
.field private volatile _immediate:Lkotlinx/coroutines/android/b;
.field private final bis:Lkotlinx/coroutines/android/b;
.field private final bit:Z
.field private final handler:Landroid/os/Handler;
.field private final name:Ljava/lang/String;
# interfaces
.implements Lkotlinx/coroutines/ak;
# direct methods
.method public constructor <init>(Landroid/os/Handler;Ljava/lang/String;)V
.locals 1
.method private constructor <init>()V
.locals 0
const-string v0, "handler"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v0, 0x0
invoke-direct {p0, p1, p2, v0}, Lkotlinx/coroutines/android/b;-><init>(Landroid/os/Handler;Ljava/lang/String;Z)V
invoke-direct {p0}, Lkotlinx/coroutines/bl;-><init>()V
return-void
.end method
.method private constructor <init>(Landroid/os/Handler;Ljava/lang/String;Z)V
.locals 1
.method public synthetic constructor <init>(B)V
.locals 0
const/4 v0, 0x0
invoke-direct {p0, v0}, Lkotlinx/coroutines/android/c;-><init>(B)V
iput-object p1, p0, Lkotlinx/coroutines/android/b;->handler:Landroid/os/Handler;
iput-object p2, p0, Lkotlinx/coroutines/android/b;->name:Ljava/lang/String;
iput-boolean p3, p0, Lkotlinx/coroutines/android/b;->bit:Z
iget-boolean p1, p0, Lkotlinx/coroutines/android/b;->bit:Z
if-eqz p1, :cond_0
move-object p1, p0
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
iput-object p1, p0, Lkotlinx/coroutines/android/b;->_immediate:Lkotlinx/coroutines/android/b;
iget-object p1, p0, Lkotlinx/coroutines/android/b;->_immediate:Lkotlinx/coroutines/android/b;
if-nez p1, :cond_1
new-instance p1, Lkotlinx/coroutines/android/b;
iget-object p2, p0, Lkotlinx/coroutines/android/b;->handler:Landroid/os/Handler;
iget-object p3, p0, Lkotlinx/coroutines/android/b;->name:Ljava/lang/String;
const/4 v0, 0x1
invoke-direct {p1, p2, p3, v0}, Lkotlinx/coroutines/android/b;-><init>(Landroid/os/Handler;Ljava/lang/String;Z)V
iput-object p1, p0, Lkotlinx/coroutines/android/b;->_immediate:Lkotlinx/coroutines/android/b;
:cond_1
iput-object p1, p0, Lkotlinx/coroutines/android/b;->bis:Lkotlinx/coroutines/android/b;
invoke-direct {p0}, Lkotlinx/coroutines/android/b;-><init>()V
return-void
.end method
# virtual methods
.method public final a(Lkotlin/c/e;Ljava/lang/Runnable;)V
.locals 1
const-string v0, "context"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string p1, "block"
invoke-static {p2, p1}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
iget-object p1, p0, Lkotlinx/coroutines/android/b;->handler:Landroid/os/Handler;
invoke-virtual {p1, p2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
return-void
.end method
.method public final b(Lkotlin/c/e;)Z
.locals 2
const-string v0, "context"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
iget-boolean p1, p0, Lkotlinx/coroutines/android/b;->bit:Z
const/4 v0, 0x1
if-eqz p1, :cond_1
invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
move-result-object p1
iget-object v1, p0, Lkotlinx/coroutines/android/b;->handler:Landroid/os/Handler;
invoke-virtual {v1}, Landroid/os/Handler;->getLooper()Landroid/os/Looper;
move-result-object v1
invoke-static {p1, v1}, Lkotlin/jvm/internal/j;->n(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
xor-int/2addr p1, v0
if-eqz p1, :cond_0
goto :goto_0
:cond_0
const/4 p1, 0x0
return p1
:cond_1
:goto_0
return v0
.end method
.method public final equals(Ljava/lang/Object;)Z
.locals 1
instance-of v0, p1, Lkotlinx/coroutines/android/b;
if-eqz v0, :cond_0
check-cast p1, Lkotlinx/coroutines/android/b;
iget-object p1, p1, Lkotlinx/coroutines/android/b;->handler:Landroid/os/Handler;
iget-object v0, p0, Lkotlinx/coroutines/android/b;->handler:Landroid/os/Handler;
if-ne p1, v0, :cond_0
const/4 p1, 0x1
return p1
:cond_0
const/4 p1, 0x0
return p1
.end method
.method public final hashCode()I
.locals 1
iget-object v0, p0, Lkotlinx/coroutines/android/b;->handler:Landroid/os/Handler;
invoke-static {v0}, Ljava/lang/System;->identityHashCode(Ljava/lang/Object;)I
move-result v0
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 2
iget-object v0, p0, Lkotlinx/coroutines/android/b;->name:Ljava/lang/String;
if-eqz v0, :cond_1
iget-boolean v1, p0, Lkotlinx/coroutines/android/b;->bit:Z
if-eqz v1, :cond_0
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v1, p0, Lkotlinx/coroutines/android/b;->name:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, " [immediate]"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:cond_0
return-object v0
:cond_1
iget-object v0, p0, Lkotlinx/coroutines/android/b;->handler:Landroid/os/Handler;
invoke-virtual {v0}, Landroid/os/Handler;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "handler.toString()"
invoke-static {v0, v1}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
return-object v0
.end method

View file

@ -1,21 +1,204 @@
.class public abstract Lkotlinx/coroutines/android/c;
.super Lkotlinx/coroutines/bb;
.class public final Lkotlinx/coroutines/android/c;
.super Ljava/lang/Object;
.source "HandlerDispatcher.kt"
# static fields
.field public static final biH:Lkotlinx/coroutines/android/b;
# direct methods
.method private constructor <init>()V
.locals 0
.method static constructor <clinit>()V
.locals 3
invoke-direct {p0}, Lkotlinx/coroutines/bb;-><init>()V
:try_start_0
sget-object v0, Lkotlin/m;->beE:Lkotlin/m$a;
new-instance v0, Lkotlinx/coroutines/android/a;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
const-string v2, "Looper.getMainLooper()"
invoke-static {v1, v2}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {v1}, Lkotlinx/coroutines/android/c;->a(Landroid/os/Looper;)Landroid/os/Handler;
move-result-object v1
const-string v2, "Main"
invoke-direct {v0, v1, v2}, Lkotlinx/coroutines/android/a;-><init>(Landroid/os/Handler;Ljava/lang/String;)V
invoke-static {v0}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v0
sget-object v1, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {v0}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Lkotlin/m;->aU(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:goto_0
invoke-static {v0}, Lkotlin/m;->aS(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
const/4 v0, 0x0
:cond_0
check-cast v0, Lkotlinx/coroutines/android/b;
sput-object v0, Lkotlinx/coroutines/android/c;->biH:Lkotlinx/coroutines/android/b;
return-void
.end method
.method public synthetic constructor <init>(B)V
.locals 0
.method public static final a(Landroid/os/Looper;)Landroid/os/Handler;
.locals 8
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
invoke-direct {p0}, Lkotlinx/coroutines/android/c;-><init>()V
const-string v0, "$this$asHandler"
return-void
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x10
if-ge v0, v1, :cond_0
new-instance v0, Landroid/os/Handler;
invoke-direct {v0, p0}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
return-object v0
:cond_0
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1c
const/4 v2, 0x0
const/4 v3, 0x0
const/4 v4, 0x1
if-lt v0, v1, :cond_2
const-class v0, Landroid/os/Handler;
new-array v1, v4, [Ljava/lang/Class;
const-class v5, Landroid/os/Looper;
aput-object v5, v1, v3
const-string v5, "createAsync"
invoke-virtual {v0, v5, v1}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
new-array v1, v4, [Ljava/lang/Object;
aput-object p0, v1, v3
invoke-virtual {v0, v2, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
if-eqz p0, :cond_1
check-cast p0, Landroid/os/Handler;
return-object p0
:cond_1
new-instance p0, Lkotlin/r;
const-string v0, "null cannot be cast to non-null type android.os.Handler"
invoke-direct {p0, v0}, Lkotlin/r;-><init>(Ljava/lang/String;)V
throw p0
:cond_2
:try_start_0
const-class v0, Landroid/os/Handler;
const/4 v1, 0x3
new-array v5, v1, [Ljava/lang/Class;
const-class v6, Landroid/os/Looper;
aput-object v6, v5, v3
const-class v6, Landroid/os/Handler$Callback;
aput-object v6, v5, v4
sget-object v6, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
const/4 v7, 0x2
aput-object v6, v5, v7
invoke-virtual {v0, v5}, Ljava/lang/Class;->getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v0
const-string v5, "Handler::class.java.getD\u2026:class.javaPrimitiveType)"
invoke-static {v0, v5}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
:try_end_0
.catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_0} :catch_0
new-array v1, v1, [Ljava/lang/Object;
aput-object p0, v1, v3
aput-object v2, v1, v4
sget-object p0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
aput-object p0, v1, v7
invoke-virtual {v0, v1}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
const-string v0, "constructor.newInstance(this, null, true)"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
check-cast p0, Landroid/os/Handler;
return-object p0
:catch_0
new-instance v0, Landroid/os/Handler;
invoke-direct {v0, p0}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
return-object v0
.end method

View file

@ -1,180 +0,0 @@
.class public final Lkotlinx/coroutines/android/d;
.super Ljava/lang/Object;
.source "HandlerDispatcher.kt"
# static fields
.field private static final aZv:Landroid/os/Handler;
.field public static final biu:Lkotlinx/coroutines/android/c;
.field private static final biv:Lkotlinx/coroutines/android/c;
# direct methods
.method static constructor <clinit>()V
.locals 3
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v0
const-string v1, "Looper.getMainLooper()"
invoke-static {v0, v1}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {v0}, Lkotlinx/coroutines/android/d;->a(Landroid/os/Looper;)Landroid/os/Handler;
move-result-object v0
sput-object v0, Lkotlinx/coroutines/android/d;->aZv:Landroid/os/Handler;
new-instance v0, Lkotlinx/coroutines/android/b;
sget-object v1, Lkotlinx/coroutines/android/d;->aZv:Landroid/os/Handler;
const-string v2, "Main"
invoke-direct {v0, v1, v2}, Lkotlinx/coroutines/android/b;-><init>(Landroid/os/Handler;Ljava/lang/String;)V
check-cast v0, Lkotlinx/coroutines/android/c;
sput-object v0, Lkotlinx/coroutines/android/d;->biu:Lkotlinx/coroutines/android/c;
sput-object v0, Lkotlinx/coroutines/android/d;->biv:Lkotlinx/coroutines/android/c;
return-void
.end method
.method private static a(Landroid/os/Looper;)Landroid/os/Handler;
.locals 8
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
const-string v0, "receiver$0"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x10
if-ge v0, v1, :cond_0
new-instance v0, Landroid/os/Handler;
invoke-direct {v0, p0}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
return-object v0
:cond_0
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1c
const/4 v2, 0x0
const/4 v3, 0x0
const/4 v4, 0x1
if-lt v0, v1, :cond_2
const-class v0, Landroid/os/Handler;
new-array v1, v4, [Ljava/lang/Class;
const-class v5, Landroid/os/Looper;
aput-object v5, v1, v3
const-string v5, "createAsync"
invoke-virtual {v0, v5, v1}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
new-array v1, v4, [Ljava/lang/Object;
aput-object p0, v1, v3
invoke-virtual {v0, v2, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
if-eqz p0, :cond_1
check-cast p0, Landroid/os/Handler;
return-object p0
:cond_1
new-instance p0, Lkotlin/r;
const-string v0, "null cannot be cast to non-null type android.os.Handler"
invoke-direct {p0, v0}, Lkotlin/r;-><init>(Ljava/lang/String;)V
throw p0
:cond_2
:try_start_0
const-class v0, Landroid/os/Handler;
const/4 v1, 0x3
new-array v5, v1, [Ljava/lang/Class;
const-class v6, Landroid/os/Looper;
aput-object v6, v5, v3
const-class v6, Landroid/os/Handler$Callback;
aput-object v6, v5, v4
sget-object v6, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
const/4 v7, 0x2
aput-object v6, v5, v7
invoke-virtual {v0, v5}, Ljava/lang/Class;->getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v0
const-string v5, "Handler::class.java.getD\u2026:class.javaPrimitiveType)"
invoke-static {v0, v5}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
:try_end_0
.catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_0} :catch_0
new-array v1, v1, [Ljava/lang/Object;
aput-object p0, v1, v3
aput-object v2, v1, v4
sget-object p0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
aput-object p0, v1, v7
invoke-virtual {v0, v1}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
const-string v0, "constructor.newInstance(this, null, true)"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
check-cast p0, Landroid/os/Handler;
return-object p0
:catch_0
new-instance v0, Landroid/os/Handler;
invoke-direct {v0, p0}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
return-object v0
.end method

View file

@ -1,58 +1,71 @@
.class public final Lkotlinx/coroutines/ao;
.super Ljava/lang/Object;
.source "JobSupport.kt"
# interfaces
.implements Lkotlinx/coroutines/ap;
.source "Dispatchers.kt"
# instance fields
.field final bhU:Lkotlinx/coroutines/bc;
# static fields
.field private static final bhR:Lkotlinx/coroutines/y;
.field private static final bhS:Lkotlinx/coroutines/y;
.field private static final bhT:Lkotlinx/coroutines/y;
.field public static final bhU:Lkotlinx/coroutines/ao;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/bc;)V
.method static constructor <clinit>()V
.locals 1
const-string v0, "list"
new-instance v0, Lkotlinx/coroutines/ao;
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {v0}, Lkotlinx/coroutines/ao;-><init>()V
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
sput-object v0, Lkotlinx/coroutines/ao;->bhU:Lkotlinx/coroutines/ao;
iput-object p1, p0, Lkotlinx/coroutines/ao;->bhU:Lkotlinx/coroutines/bc;
invoke-static {}, Lkotlinx/coroutines/x;->Ah()Lkotlinx/coroutines/y;
move-result-object v0
sput-object v0, Lkotlinx/coroutines/ao;->bhR:Lkotlinx/coroutines/y;
sget-object v0, Lkotlinx/coroutines/bw;->biD:Lkotlinx/coroutines/bw;
check-cast v0, Lkotlinx/coroutines/y;
sput-object v0, Lkotlinx/coroutines/ao;->bhS:Lkotlinx/coroutines/y;
sget-object v0, Lkotlinx/coroutines/b/c;->bkh:Lkotlinx/coroutines/b/c;
invoke-static {}, Lkotlinx/coroutines/b/c;->BB()Lkotlinx/coroutines/y;
move-result-object v0
sput-object v0, Lkotlinx/coroutines/ao;->bhT:Lkotlinx/coroutines/y;
return-void
.end method
.method private constructor <init>()V
.locals 0
# virtual methods
.method public final Ap()Lkotlinx/coroutines/bc;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static final Ao()Lkotlinx/coroutines/y;
.locals 1
iget-object v0, p0, Lkotlinx/coroutines/ao;->bhU:Lkotlinx/coroutines/bc;
sget-object v0, Lkotlinx/coroutines/ao;->bhR:Lkotlinx/coroutines/y;
return-object v0
.end method
.method public final isActive()Z
.method public static final Ap()Lkotlinx/coroutines/bl;
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 2
iget-object v0, p0, Lkotlinx/coroutines/ao;->bhU:Lkotlinx/coroutines/bc;
const-string v1, "New"
invoke-virtual {v0, v1}, Lkotlinx/coroutines/bc;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sget-object v0, Lkotlinx/coroutines/internal/n;->bjl:Lkotlinx/coroutines/bl;
return-object v0
.end method

View file

@ -1,11 +1,8 @@
.class public interface abstract Lkotlinx/coroutines/ap;
.super Ljava/lang/Object;
.source "JobSupport.kt"
.source "Job.kt"
# virtual methods
.method public abstract Ap()Lkotlinx/coroutines/bc;
.end method
.method public abstract isActive()Z
.method public abstract dispose()V
.end method

View file

@ -1,83 +1,23 @@
.class final Lkotlinx/coroutines/aq;
.super Lkotlinx/coroutines/au;
.source "JobSupport.kt"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/au<",
"Lkotlinx/coroutines/as;",
">;"
}
.end annotation
# static fields
.field private static final bhV:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
.super Lkotlinx/coroutines/f;
.source "CancellableContinuation.kt"
# instance fields
.field private volatile _invoked:I
.field private final bhW:Lkotlin/jvm/functions/Function1;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/functions/Function1<",
"Ljava/lang/Throwable;",
"Lkotlin/Unit;",
">;"
}
.end annotation
.end field
.field private final bhV:Lkotlinx/coroutines/ap;
# direct methods
.method static constructor <clinit>()V
.locals 2
const-class v0, Lkotlinx/coroutines/aq;
const-string v1, "_invoked"
invoke-static {v0, v1}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
move-result-object v0
sput-object v0, Lkotlinx/coroutines/aq;->bhV:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
return-void
.end method
.method public constructor <init>(Lkotlinx/coroutines/as;Lkotlin/jvm/functions/Function1;)V
.method public constructor <init>(Lkotlinx/coroutines/ap;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlinx/coroutines/as;",
"Lkotlin/jvm/functions/Function1<",
"-",
"Ljava/lang/Throwable;",
"Lkotlin/Unit;",
">;)V"
}
.end annotation
const-string v0, "job"
const-string v0, "handle"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "handler"
invoke-direct {p0}, Lkotlinx/coroutines/f;-><init>()V
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0, p1}, Lkotlinx/coroutines/au;-><init>(Lkotlinx/coroutines/as;)V
iput-object p2, p0, Lkotlinx/coroutines/aq;->bhW:Lkotlin/jvm/functions/Function1;
const/4 p1, 0x0
iput p1, p0, Lkotlinx/coroutines/aq;->_invoked:I
iput-object p1, p0, Lkotlinx/coroutines/aq;->bhV:Lkotlinx/coroutines/ap;
return-void
.end method
@ -97,25 +37,12 @@
.end method
.method public final invoke(Ljava/lang/Throwable;)V
.locals 3
.locals 0
sget-object v0, Lkotlinx/coroutines/aq;->bhV:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
iget-object p1, p0, Lkotlinx/coroutines/aq;->bhV:Lkotlinx/coroutines/ap;
const/4 v1, 0x0
invoke-interface {p1}, Lkotlinx/coroutines/ap;->dispose()V
const/4 v2, 0x1
invoke-virtual {v0, p0, v1, v2}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->compareAndSet(Ljava/lang/Object;II)Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lkotlinx/coroutines/aq;->bhW:Lkotlin/jvm/functions/Function1;
invoke-interface {v0, p1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
:cond_0
return-void
.end method
@ -124,25 +51,13 @@
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "InvokeOnCancelling["
const-string v1, "DisposeOnCancel["
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {p0}, Lkotlinx/coroutines/aa;->bh(Ljava/lang/Object;)Ljava/lang/String;
iget-object v1, p0, Lkotlinx/coroutines/aq;->bhV:Lkotlinx/coroutines/ap;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x40
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-static {p0}, Lkotlinx/coroutines/aa;->bg(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const/16 v1, 0x5d

View file

@ -1,83 +1,42 @@
.class final Lkotlinx/coroutines/ar;
.super Lkotlinx/coroutines/ax;
.super Ljava/lang/Object;
.source "JobSupport.kt"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/ax<",
"Lkotlinx/coroutines/as;",
">;"
}
.end annotation
# interfaces
.implements Lkotlinx/coroutines/ay;
# instance fields
.field private final bhW:Lkotlin/jvm/functions/Function1;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/functions/Function1<",
"Ljava/lang/Throwable;",
"Lkotlin/Unit;",
">;"
}
.end annotation
.end field
.field final bhW:Z
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/as;Lkotlin/jvm/functions/Function1;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlinx/coroutines/as;",
"Lkotlin/jvm/functions/Function1<",
"-",
"Ljava/lang/Throwable;",
"Lkotlin/Unit;",
">;)V"
}
.end annotation
.method public constructor <init>(Z)V
.locals 0
const-string v0, "job"
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "handler"
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0, p1}, Lkotlinx/coroutines/ax;-><init>(Lkotlinx/coroutines/as;)V
iput-object p2, p0, Lkotlinx/coroutines/ar;->bhW:Lkotlin/jvm/functions/Function1;
iput-boolean p1, p0, Lkotlinx/coroutines/ar;->bhW:Z
return-void
.end method
# virtual methods
.method public final bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
check-cast p1, Ljava/lang/Throwable;
invoke-virtual {p0, p1}, Lkotlinx/coroutines/ar;->invoke(Ljava/lang/Throwable;)V
sget-object p1, Lkotlin/Unit;->beH:Lkotlin/Unit;
return-object p1
.end method
.method public final invoke(Ljava/lang/Throwable;)V
.method public final Aq()Lkotlinx/coroutines/bm;
.locals 1
iget-object v0, p0, Lkotlinx/coroutines/ar;->bhW:Lkotlin/jvm/functions/Function1;
const/4 v0, 0x0
invoke-interface {v0, p1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
return-object v0
.end method
return-void
.method public final isActive()Z
.locals 1
iget-boolean v0, p0, Lkotlinx/coroutines/ar;->bhW:Z
return v0
.end method
.method public final toString()Ljava/lang/String;
@ -85,27 +44,25 @@
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "InvokeOnCompletion["
const-string v1, "Empty{"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {p0}, Lkotlinx/coroutines/aa;->bh(Ljava/lang/Object;)Ljava/lang/String;
iget-boolean v1, p0, Lkotlinx/coroutines/ar;->bhW:Z
move-result-object v1
if-eqz v1, :cond_0
const-string v1, "Active"
goto :goto_0
:cond_0
const-string v1, "New"
:goto_0
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x40
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-static {p0}, Lkotlinx/coroutines/aa;->bg(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x5d
const/16 v1, 0x7d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

View file

@ -1,65 +1,297 @@
.class public interface abstract Lkotlinx/coroutines/as;
.super Ljava/lang/Object;
.source "Job.kt"
# interfaces
.implements Lkotlin/c/e$b;
.class public abstract Lkotlinx/coroutines/as;
.super Lkotlinx/coroutines/y;
.source "EventLoop.common.kt"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlinx/coroutines/as$a;,
Lkotlinx/coroutines/as$b;
}
.end annotation
# instance fields
.field private bhX:J
.field private bhY:Z
# static fields
.field public static final bhX:Lkotlinx/coroutines/as$b;
.field private bhZ:Lkotlinx/coroutines/internal/b;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/internal/b<",
"Lkotlinx/coroutines/an<",
"*>;>;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.locals 1
.method public constructor <init>()V
.locals 0
sget-object v0, Lkotlinx/coroutines/as$b;->bhY:Lkotlinx/coroutines/as$b;
sput-object v0, Lkotlinx/coroutines/as;->bhX:Lkotlinx/coroutines/as$b;
invoke-direct {p0}, Lkotlinx/coroutines/y;-><init>()V
return-void
.end method
.method private static Z(Z)J
.locals 2
if-eqz p0, :cond_0
const-wide v0, 0x100000000L
return-wide v0
:cond_0
const-wide/16 v0, 0x1
return-wide v0
.end method
# virtual methods
.method public abstract Au()Ljava/util/concurrent/CancellationException;
.method public Ar()J
.locals 2
invoke-virtual {p0}, Lkotlinx/coroutines/as;->At()Z
move-result v0
if-nez v0, :cond_0
const-wide v0, 0x7fffffffffffffffL
return-wide v0
:cond_0
invoke-virtual {p0}, Lkotlinx/coroutines/as;->As()J
move-result-wide v0
return-wide v0
.end method
.method public abstract a(ZZLkotlin/jvm/functions/Function1;)Lkotlinx/coroutines/ai;
.method protected As()J
.locals 3
iget-object v0, p0, Lkotlinx/coroutines/as;->bhZ:Lkotlinx/coroutines/internal/b;
const-wide v1, 0x7fffffffffffffffL
if-nez v0, :cond_0
return-wide v1
:cond_0
invoke-virtual {v0}, Lkotlinx/coroutines/internal/b;->isEmpty()Z
move-result v0
if-eqz v0, :cond_1
return-wide v1
:cond_1
const-wide/16 v0, 0x0
return-wide v0
.end method
.method public final At()Z
.locals 2
iget-object v0, p0, Lkotlinx/coroutines/as;->bhZ:Lkotlinx/coroutines/internal/b;
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
:cond_0
invoke-virtual {v0}, Lkotlinx/coroutines/internal/b;->AQ()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lkotlinx/coroutines/an;
if-nez v0, :cond_1
return v1
:cond_1
invoke-virtual {v0}, Lkotlinx/coroutines/an;->run()V
const/4 v0, 0x1
return v0
.end method
.method public final Au()Z
.locals 6
iget-wide v0, p0, Lkotlinx/coroutines/as;->bhX:J
const/4 v2, 0x1
invoke-static {v2}, Lkotlinx/coroutines/as;->Z(Z)J
move-result-wide v3
cmp-long v5, v0, v3
if-ltz v5, :cond_0
return v2
:cond_0
const/4 v0, 0x0
return v0
.end method
.method public final Av()Z
.locals 1
iget-object v0, p0, Lkotlinx/coroutines/as;->bhZ:Lkotlinx/coroutines/internal/b;
if-eqz v0, :cond_0
invoke-virtual {v0}, Lkotlinx/coroutines/internal/b;->isEmpty()Z
move-result v0
return v0
:cond_0
const/4 v0, 0x1
return v0
.end method
.method public final Aw()V
.locals 6
iget-wide v0, p0, Lkotlinx/coroutines/as;->bhX:J
const/4 v2, 0x1
invoke-static {v2}, Lkotlinx/coroutines/as;->Z(Z)J
move-result-wide v3
sub-long/2addr v0, v3
iput-wide v0, p0, Lkotlinx/coroutines/as;->bhX:J
iget-wide v0, p0, Lkotlinx/coroutines/as;->bhX:J
const-wide/16 v3, 0x0
cmp-long v5, v0, v3
if-lez v5, :cond_0
return-void
:cond_0
cmp-long v5, v0, v3
if-nez v5, :cond_1
goto :goto_0
:cond_1
const/4 v2, 0x0
:goto_0
if-eqz v2, :cond_3
iget-boolean v0, p0, Lkotlinx/coroutines/as;->bhY:Z
if-eqz v0, :cond_2
invoke-virtual {p0}, Lkotlinx/coroutines/as;->shutdown()V
:cond_2
return-void
:cond_3
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Extra decrementUseCount"
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
check-cast v0, Ljava/lang/Throwable;
throw v0
.end method
.method public final a(Lkotlinx/coroutines/an;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(ZZ",
"Lkotlin/jvm/functions/Function1<",
"-",
"Ljava/lang/Throwable;",
"Lkotlin/Unit;",
">;)",
"Lkotlinx/coroutines/ai;"
"(",
"Lkotlinx/coroutines/an<",
"*>;)V"
}
.end annotation
const-string v0, "task"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
iget-object v0, p0, Lkotlinx/coroutines/as;->bhZ:Lkotlinx/coroutines/internal/b;
if-nez v0, :cond_0
new-instance v0, Lkotlinx/coroutines/internal/b;
invoke-direct {v0}, Lkotlinx/coroutines/internal/b;-><init>()V
iput-object v0, p0, Lkotlinx/coroutines/as;->bhZ:Lkotlinx/coroutines/internal/b;
:cond_0
invoke-virtual {v0, p1}, Lkotlinx/coroutines/internal/b;->addLast(Ljava/lang/Object;)V
return-void
.end method
.method public abstract a(Lkotlinx/coroutines/k;)Lkotlinx/coroutines/i;
.method public final aa(Z)V
.locals 4
iget-wide v0, p0, Lkotlinx/coroutines/as;->bhX:J
invoke-static {p1}, Lkotlinx/coroutines/as;->Z(Z)J
move-result-wide v2
add-long/2addr v0, v2
iput-wide v0, p0, Lkotlinx/coroutines/as;->bhX:J
if-nez p1, :cond_0
const/4 p1, 0x1
iput-boolean p1, p0, Lkotlinx/coroutines/as;->bhY:Z
:cond_0
return-void
.end method
.method public abstract cancel()V
.method protected isEmpty()Z
.locals 1
invoke-virtual {p0}, Lkotlinx/coroutines/as;->Av()Z
move-result v0
return v0
.end method
.method public abstract isActive()Z
.end method
.method protected shutdown()V
.locals 0
.method public abstract p(Ljava/lang/Throwable;)Z
.end method
.method public abstract start()Z
return-void
.end method

View file

@ -0,0 +1,95 @@
.class final Lkotlinx/coroutines/at$a;
.super Lkotlinx/coroutines/at$b;
.source "EventLoop.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/at;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x10
name = "a"
.end annotation
# instance fields
.field private final bic:Lkotlinx/coroutines/h;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/h<",
"Lkotlin/Unit;",
">;"
}
.end annotation
.end field
.field final synthetic bid:Lkotlinx/coroutines/at;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/at;JLkotlinx/coroutines/h;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(J",
"Lkotlinx/coroutines/h<",
"-",
"Lkotlin/Unit;",
">;)V"
}
.end annotation
const-string v0, "cont"
invoke-static {p4, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
iput-object p1, p0, Lkotlinx/coroutines/at$a;->bid:Lkotlinx/coroutines/at;
invoke-direct {p0, p2, p3}, Lkotlinx/coroutines/at$b;-><init>(J)V
iput-object p4, p0, Lkotlinx/coroutines/at$a;->bic:Lkotlinx/coroutines/h;
iget-object p1, p0, Lkotlinx/coroutines/at$a;->bic:Lkotlinx/coroutines/h;
move-object p2, p0
check-cast p2, Lkotlinx/coroutines/ap;
const-string p3, "$this$disposeOnCancellation"
invoke-static {p1, p3}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string p3, "handle"
invoke-static {p2, p3}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
new-instance p3, Lkotlinx/coroutines/aq;
invoke-direct {p3, p2}, Lkotlinx/coroutines/aq;-><init>(Lkotlinx/coroutines/ap;)V
check-cast p3, Lkotlinx/coroutines/g;
check-cast p3, Lkotlin/jvm/functions/Function1;
invoke-interface {p1, p3}, Lkotlinx/coroutines/h;->h(Lkotlin/jvm/functions/Function1;)V
return-void
.end method
# virtual methods
.method public final run()V
.locals 3
iget-object v0, p0, Lkotlinx/coroutines/at$a;->bic:Lkotlinx/coroutines/h;
iget-object v1, p0, Lkotlinx/coroutines/at$a;->bid:Lkotlinx/coroutines/at;
sget-object v2, Lkotlin/Unit;->beH:Lkotlin/Unit;
invoke-interface {v0, v1, v2}, Lkotlinx/coroutines/h;->a(Lkotlinx/coroutines/y;Ljava/lang/Object;)V
return-void
.end method

View file

@ -0,0 +1,485 @@
.class public abstract Lkotlinx/coroutines/at$b;
.super Ljava/lang/Object;
.source "EventLoop.kt"
# interfaces
.implements Ljava/lang/Comparable;
.implements Ljava/lang/Runnable;
.implements Lkotlinx/coroutines/ap;
.implements Lkotlinx/coroutines/internal/aa;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/at;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "b"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/lang/Comparable<",
"Lkotlinx/coroutines/at$b;",
">;",
"Ljava/lang/Runnable;",
"Lkotlinx/coroutines/ap;",
"Lkotlinx/coroutines/internal/aa;"
}
.end annotation
# instance fields
.field private bie:Ljava/lang/Object;
.field private index:I
.field public final nanoTime:J
# direct methods
.method public constructor <init>(J)V
.locals 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, -0x1
iput v0, p0, Lkotlinx/coroutines/at$b;->index:I
invoke-static {}, Lkotlinx/coroutines/bv;->AP()Lkotlinx/coroutines/bu;
move-result-object v0
invoke-interface {v0}, Lkotlinx/coroutines/bu;->nanoTime()J
move-result-wide v0
invoke-static {p1, p2}, Lkotlinx/coroutines/au;->am(J)J
move-result-wide p1
add-long/2addr v0, p1
iput-wide v0, p0, Lkotlinx/coroutines/at$b;->nanoTime:J
return-void
.end method
# virtual methods
.method public final Ay()Lkotlinx/coroutines/internal/z;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lkotlinx/coroutines/internal/z<",
"*>;"
}
.end annotation
iget-object v0, p0, Lkotlinx/coroutines/at$b;->bie:Ljava/lang/Object;
instance-of v1, v0, Lkotlinx/coroutines/internal/z;
if-nez v1, :cond_0
const/4 v0, 0x0
:cond_0
check-cast v0, Lkotlinx/coroutines/internal/z;
return-object v0
.end method
.method public final declared-synchronized a(Lkotlinx/coroutines/internal/z;Lkotlinx/coroutines/at;)I
.locals 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlinx/coroutines/internal/z<",
"Lkotlinx/coroutines/at$b;",
">;",
"Lkotlinx/coroutines/at;",
")I"
}
.end annotation
monitor-enter p0
:try_start_0
const-string v0, "delayed"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "eventLoop"
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
iget-object v0, p0, Lkotlinx/coroutines/at$b;->bie:Ljava/lang/Object;
invoke-static {}, Lkotlinx/coroutines/au;->AA()Lkotlinx/coroutines/internal/u;
move-result-object v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
const/4 v2, 0x2
if-ne v0, v1, :cond_0
monitor-exit p0
return v2
:cond_0
:try_start_1
move-object v0, p0
check-cast v0, Lkotlinx/coroutines/internal/aa;
monitor-enter p1
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
:try_start_2
invoke-static {p2}, Lkotlinx/coroutines/at;->a(Lkotlinx/coroutines/at;)Z
move-result p2
const/4 v1, 0x1
xor-int/2addr p2, v1
const/4 v3, 0x0
if-eqz p2, :cond_5
const-string p2, "node"
invoke-static {v0, p2}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-interface {v0}, Lkotlinx/coroutines/internal/aa;->Ay()Lkotlinx/coroutines/internal/z;
move-result-object p2
if-nez p2, :cond_1
const/4 p2, 0x1
goto :goto_0
:cond_1
const/4 p2, 0x0
:goto_0
if-eqz p2, :cond_4
move-object p2, p1
check-cast p2, Lkotlinx/coroutines/internal/z;
invoke-interface {v0, p2}, Lkotlinx/coroutines/internal/aa;->a(Lkotlinx/coroutines/internal/z;)V
iget-object p2, p1, Lkotlinx/coroutines/internal/z;->bjA:[Lkotlinx/coroutines/internal/aa;
if-nez p2, :cond_2
const/4 p2, 0x4
new-array p2, p2, [Lkotlinx/coroutines/internal/aa;
iput-object p2, p1, Lkotlinx/coroutines/internal/z;->bjA:[Lkotlinx/coroutines/internal/aa;
goto :goto_1
:cond_2
iget v4, p1, Lkotlinx/coroutines/internal/z;->size:I
array-length v5, p2
if-lt v4, v5, :cond_3
iget v4, p1, Lkotlinx/coroutines/internal/z;->size:I
mul-int/lit8 v4, v4, 0x2
invoke-static {p2, v4}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object p2
const-string v2, "java.util.Arrays.copyOf(this, newSize)"
invoke-static {p2, v2}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
move-object v2, p2
check-cast v2, [Lkotlinx/coroutines/internal/aa;
iput-object v2, p1, Lkotlinx/coroutines/internal/z;->bjA:[Lkotlinx/coroutines/internal/aa;
check-cast p2, [Lkotlinx/coroutines/internal/aa;
:cond_3
:goto_1
iget v2, p1, Lkotlinx/coroutines/internal/z;->size:I
add-int/lit8 v4, v2, 0x1
iput v4, p1, Lkotlinx/coroutines/internal/z;->size:I
aput-object v0, p2, v2
invoke-interface {v0, v2}, Lkotlinx/coroutines/internal/aa;->setIndex(I)V
invoke-virtual {p1, v2}, Lkotlinx/coroutines/internal/z;->dc(I)V
const/4 p2, 0x1
goto :goto_2
:cond_4
const-string p2, "Check failed."
new-instance v0, Ljava/lang/IllegalStateException;
invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p2
invoke-direct {v0, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
check-cast v0, Ljava/lang/Throwable;
throw v0
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
:cond_5
const/4 p2, 0x0
:goto_2
:try_start_3
monitor-exit p1
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_1
if-eqz p2, :cond_6
monitor-exit p0
return v3
:cond_6
monitor-exit p0
return v1
:catchall_0
move-exception p2
:try_start_4
monitor-exit p1
throw p2
:try_end_4
.catchall {:try_start_4 .. :try_end_4} :catchall_1
:catchall_1
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final a(Lkotlinx/coroutines/internal/z;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlinx/coroutines/internal/z<",
"*>;)V"
}
.end annotation
iget-object v0, p0, Lkotlinx/coroutines/at$b;->bie:Ljava/lang/Object;
invoke-static {}, Lkotlinx/coroutines/au;->AA()Lkotlinx/coroutines/internal/u;
move-result-object v1
if-eq v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
if-eqz v0, :cond_1
iput-object p1, p0, Lkotlinx/coroutines/at$b;->bie:Ljava/lang/Object;
return-void
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Failed requirement."
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
check-cast p1, Ljava/lang/Throwable;
throw p1
.end method
.method public synthetic compareTo(Ljava/lang/Object;)I
.locals 4
check-cast p1, Lkotlinx/coroutines/at$b;
const-string v0, "other"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
iget-wide v0, p0, Lkotlinx/coroutines/at$b;->nanoTime:J
iget-wide v2, p1, Lkotlinx/coroutines/at$b;->nanoTime:J
sub-long/2addr v0, v2
const-wide/16 v2, 0x0
cmp-long p1, v0, v2
if-lez p1, :cond_0
const/4 p1, 0x1
return p1
:cond_0
cmp-long p1, v0, v2
if-gez p1, :cond_1
const/4 p1, -0x1
return p1
:cond_1
const/4 p1, 0x0
return p1
.end method
.method public final declared-synchronized dispose()V
.locals 2
monitor-enter p0
:try_start_0
iget-object v0, p0, Lkotlinx/coroutines/at$b;->bie:Ljava/lang/Object;
invoke-static {}, Lkotlinx/coroutines/au;->AA()Lkotlinx/coroutines/internal/u;
move-result-object v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-ne v0, v1, :cond_0
monitor-exit p0
return-void
:cond_0
:try_start_1
instance-of v1, v0, Lkotlinx/coroutines/internal/z;
if-nez v1, :cond_1
const/4 v0, 0x0
:cond_1
check-cast v0, Lkotlinx/coroutines/internal/z;
if-eqz v0, :cond_2
move-object v1, p0
check-cast v1, Lkotlinx/coroutines/internal/aa;
invoke-virtual {v0, v1}, Lkotlinx/coroutines/internal/z;->a(Lkotlinx/coroutines/internal/aa;)Z
:cond_2
invoke-static {}, Lkotlinx/coroutines/au;->AA()Lkotlinx/coroutines/internal/u;
move-result-object v0
iput-object v0, p0, Lkotlinx/coroutines/at$b;->bie:Ljava/lang/Object;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
monitor-exit p0
return-void
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public final getIndex()I
.locals 1
iget v0, p0, Lkotlinx/coroutines/at$b;->index:I
return v0
.end method
.method public final setIndex(I)V
.locals 0
iput p1, p0, Lkotlinx/coroutines/at$b;->index:I
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 3
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "Delayed[nanos="
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-wide v1, p0, Lkotlinx/coroutines/at$b;->nanoTime:J
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const/16 v1, 0x5d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

File diff suppressed because it is too large Load diff

View file

@ -1,34 +1,99 @@
.class public abstract Lkotlinx/coroutines/au;
.super Lkotlinx/coroutines/ax;
.source "JobSupport.kt"
.class public final Lkotlinx/coroutines/au;
.super Ljava/lang/Object;
.source "EventLoop.kt"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<J::",
"Lkotlinx/coroutines/as;",
">",
"Lkotlinx/coroutines/ax<",
"TJ;>;"
}
.end annotation
# static fields
.field private static final bif:Lkotlinx/coroutines/internal/u;
.field private static final big:Lkotlinx/coroutines/internal/u;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/as;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(TJ;)V"
}
.end annotation
.method static constructor <clinit>()V
.locals 2
const-string v0, "job"
new-instance v0, Lkotlinx/coroutines/internal/u;
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v1, "REMOVED_TASK"
invoke-direct {p0, p1}, Lkotlinx/coroutines/ax;-><init>(Lkotlinx/coroutines/as;)V
invoke-direct {v0, v1}, Lkotlinx/coroutines/internal/u;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/au;->bif:Lkotlinx/coroutines/internal/u;
new-instance v0, Lkotlinx/coroutines/internal/u;
const-string v1, "CLOSED_EMPTY"
invoke-direct {v0, v1}, Lkotlinx/coroutines/internal/u;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/au;->big:Lkotlinx/coroutines/internal/u;
return-void
.end method
.method public static final synthetic AA()Lkotlinx/coroutines/internal/u;
.locals 1
sget-object v0, Lkotlinx/coroutines/au;->bif:Lkotlinx/coroutines/internal/u;
return-object v0
.end method
.method public static final synthetic AB()Lkotlinx/coroutines/internal/u;
.locals 1
sget-object v0, Lkotlinx/coroutines/au;->big:Lkotlinx/coroutines/internal/u;
return-object v0
.end method
.method public static final Az()Lkotlinx/coroutines/as;
.locals 3
new-instance v0, Lkotlinx/coroutines/c;
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v1
const-string v2, "Thread.currentThread()"
invoke-static {v1, v2}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {v0, v1}, Lkotlinx/coroutines/c;-><init>(Ljava/lang/Thread;)V
check-cast v0, Lkotlinx/coroutines/as;
return-object v0
.end method
.method public static final am(J)J
.locals 3
const-wide/16 v0, 0x0
cmp-long v2, p0, v0
if-gtz v2, :cond_0
return-wide v0
:cond_0
const-wide v0, 0x8637bd05af6L
cmp-long v2, p0, v0
if-ltz v2, :cond_1
const-wide p0, 0x7fffffffffffffffL
return-wide p0
:cond_1
const-wide/32 v0, 0xf4240
mul-long p0, p0, v0
return-wide p0
.end method

View file

@ -1,53 +1,16 @@
.class public final Lkotlinx/coroutines/av;
.super Lkotlinx/coroutines/ay;
.source "JobSupport.kt"
.class public abstract Lkotlinx/coroutines/av;
.super Lkotlinx/coroutines/y;
.source "Executors.kt"
# interfaces
.implements Ljava/io/Closeable;
# direct methods
.method private synthetic constructor <init>()V
.locals 1
.method public constructor <init>()V
.locals 0
const/4 v0, 0x0
invoke-direct {p0, v0}, Lkotlinx/coroutines/av;-><init>(Lkotlinx/coroutines/as;)V
invoke-direct {p0}, Lkotlinx/coroutines/y;-><init>()V
return-void
.end method
.method public constructor <init>(Lkotlinx/coroutines/as;)V
.locals 1
const/4 v0, 0x1
invoke-direct {p0, v0}, Lkotlinx/coroutines/ay;-><init>(Z)V
invoke-virtual {p0, p1}, Lkotlinx/coroutines/av;->a(Lkotlinx/coroutines/as;)V
return-void
.end method
# virtual methods
.method protected final Av()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public final Aw()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method protected final Ax()Z
.locals 1
const/4 v0, 0x0
return v0
.end method

View file

@ -1,16 +1,44 @@
.class public final Lkotlinx/coroutines/aw;
.super Ljava/lang/Object;
.source "CoroutineScope.kt"
# interfaces
.implements Lkotlinx/coroutines/CoroutineScope;
# static fields
.field public static final bih:Lkotlinx/coroutines/aw;
# direct methods
.method public static final c(Lkotlinx/coroutines/as;)Lkotlinx/coroutines/as;
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lkotlinx/coroutines/av;
new-instance v0, Lkotlinx/coroutines/aw;
invoke-direct {v0, p0}, Lkotlinx/coroutines/av;-><init>(Lkotlinx/coroutines/as;)V
invoke-direct {v0}, Lkotlinx/coroutines/aw;-><init>()V
check-cast v0, Lkotlinx/coroutines/as;
sput-object v0, Lkotlinx/coroutines/aw;->bih:Lkotlinx/coroutines/aw;
return-void
.end method
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final zS()Lkotlin/coroutines/CoroutineContext;
.locals 1
sget-object v0, Lkotlin/coroutines/d;->bfm:Lkotlin/coroutines/d;
check-cast v0, Lkotlin/coroutines/CoroutineContext;
return-object v0
.end method

View file

@ -1,138 +1,58 @@
.class public abstract Lkotlinx/coroutines/ax;
.super Lkotlinx/coroutines/p;
.class public final Lkotlinx/coroutines/ax;
.super Ljava/lang/Object;
.source "JobSupport.kt"
# interfaces
.implements Lkotlinx/coroutines/ai;
.implements Lkotlinx/coroutines/ap;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<J::",
"Lkotlinx/coroutines/as;",
">",
"Lkotlinx/coroutines/p;",
"Lkotlinx/coroutines/ai;",
"Lkotlinx/coroutines/ap;"
}
.end annotation
.implements Lkotlinx/coroutines/ay;
# instance fields
.field public final job:Lkotlinx/coroutines/as;
.annotation system Ldalvik/annotation/Signature;
value = {
"TJ;"
}
.end annotation
.end field
.field final bii:Lkotlinx/coroutines/bm;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/as;)V
.method public constructor <init>(Lkotlinx/coroutines/bm;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(TJ;)V"
}
.end annotation
const-string v0, "job"
const-string v0, "list"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0}, Lkotlinx/coroutines/p;-><init>()V
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lkotlinx/coroutines/ax;->job:Lkotlinx/coroutines/as;
iput-object p1, p0, Lkotlinx/coroutines/ax;->bii:Lkotlinx/coroutines/bm;
return-void
.end method
# virtual methods
.method public final Ap()Lkotlinx/coroutines/bc;
.method public final Aq()Lkotlinx/coroutines/bm;
.locals 1
const/4 v0, 0x0
iget-object v0, p0, Lkotlinx/coroutines/ax;->bii:Lkotlinx/coroutines/bm;
return-object v0
.end method
.method public final dispose()V
.locals 4
iget-object v0, p0, Lkotlinx/coroutines/ax;->job:Lkotlinx/coroutines/as;
if-eqz v0, :cond_4
check-cast v0, Lkotlinx/coroutines/ay;
const-string v1, "node"
invoke-static {p0, v1}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
:cond_0
invoke-virtual {v0}, Lkotlinx/coroutines/ay;->Ay()Ljava/lang/Object;
move-result-object v1
instance-of v2, v1, Lkotlinx/coroutines/ax;
if-eqz v2, :cond_2
if-ne v1, p0, :cond_1
sget-object v2, Lkotlinx/coroutines/ay;->bhf:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invoke-static {}, Lkotlinx/coroutines/az;->AE()Lkotlinx/coroutines/aj;
move-result-object v3
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
:cond_1
return-void
:cond_2
instance-of v0, v1, Lkotlinx/coroutines/ap;
if-eqz v0, :cond_3
check-cast v1, Lkotlinx/coroutines/ap;
invoke-interface {v1}, Lkotlinx/coroutines/ap;->Ap()Lkotlinx/coroutines/bc;
move-result-object v0
if-eqz v0, :cond_3
invoke-virtual {p0}, Lkotlinx/coroutines/ax;->AL()Z
:cond_3
return-void
:cond_4
new-instance v0, Lkotlin/r;
const-string v1, "null cannot be cast to non-null type kotlinx.coroutines.JobSupport"
invoke-direct {v0, v1}, Lkotlin/r;-><init>(Ljava/lang/String;)V
throw v0
return-void
.end method
.method public final isActive()Z
.locals 1
const/4 v0, 0x1
const/4 v0, 0x0
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 2
iget-object v0, p0, Lkotlinx/coroutines/ax;->bii:Lkotlinx/coroutines/bm;
const-string v1, "New"
invoke-virtual {v0, v1}, Lkotlinx/coroutines/bm;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -1,81 +0,0 @@
.class public final Lkotlinx/coroutines/ay$c;
.super Lkotlinx/coroutines/a/i$a;
.source "LockFreeLinkedList.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lkotlinx/coroutines/ay;->a(Ljava/lang/Object;Lkotlinx/coroutines/bc;Lkotlinx/coroutines/ax;)Z
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
# instance fields
.field final synthetic bid:Lkotlinx/coroutines/a/i;
.field final synthetic bie:Lkotlinx/coroutines/ay;
.field final synthetic bif:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/a/i;Lkotlinx/coroutines/a/i;Lkotlinx/coroutines/ay;Ljava/lang/Object;)V
.locals 0
iput-object p1, p0, Lkotlinx/coroutines/ay$c;->bid:Lkotlinx/coroutines/a/i;
iput-object p3, p0, Lkotlinx/coroutines/ay$c;->bie:Lkotlinx/coroutines/ay;
iput-object p4, p0, Lkotlinx/coroutines/ay$c;->bif:Ljava/lang/Object;
invoke-direct {p0, p2}, Lkotlinx/coroutines/a/i$a;-><init>(Lkotlinx/coroutines/a/i;)V
return-void
.end method
# virtual methods
.method public final synthetic bo(Ljava/lang/Object;)Ljava/lang/Object;
.locals 1
check-cast p1, Lkotlinx/coroutines/a/i;
const-string v0, "affected"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
iget-object p1, p0, Lkotlinx/coroutines/ay$c;->bie:Lkotlinx/coroutines/ay;
invoke-virtual {p1}, Lkotlinx/coroutines/ay;->Ay()Ljava/lang/Object;
move-result-object p1
iget-object v0, p0, Lkotlinx/coroutines/ay$c;->bif:Ljava/lang/Object;
if-ne p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
if-eqz p1, :cond_1
const/4 p1, 0x0
return-object p1
:cond_1
invoke-static {}, Lkotlinx/coroutines/a/h;->AM()Ljava/lang/Object;
move-result-object p1
return-object p1
.end method

File diff suppressed because it is too large Load diff

View file

@ -1,67 +1,23 @@
.class public final Lkotlinx/coroutines/az;
.class final Lkotlinx/coroutines/az;
.super Ljava/lang/Object;
.source "JobSupport.kt"
# static fields
.field private static final big:Lkotlinx/coroutines/a/o;
.field private static final bih:Lkotlinx/coroutines/aj;
.field private static final bii:Lkotlinx/coroutines/aj;
# instance fields
.field public final bij:Lkotlinx/coroutines/ay;
# direct methods
.method static constructor <clinit>()V
.locals 2
.method public constructor <init>(Lkotlinx/coroutines/ay;)V
.locals 1
new-instance v0, Lkotlinx/coroutines/a/o;
const-string v0, "state"
const-string v1, "SEALED"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {v0, v1}, Lkotlinx/coroutines/a/o;-><init>(Ljava/lang/String;)V
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
sput-object v0, Lkotlinx/coroutines/az;->big:Lkotlinx/coroutines/a/o;
new-instance v0, Lkotlinx/coroutines/aj;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lkotlinx/coroutines/aj;-><init>(Z)V
sput-object v0, Lkotlinx/coroutines/az;->bih:Lkotlinx/coroutines/aj;
new-instance v0, Lkotlinx/coroutines/aj;
const/4 v1, 0x1
invoke-direct {v0, v1}, Lkotlinx/coroutines/aj;-><init>(Z)V
sput-object v0, Lkotlinx/coroutines/az;->bii:Lkotlinx/coroutines/aj;
iput-object p1, p0, Lkotlinx/coroutines/az;->bij:Lkotlinx/coroutines/ay;
return-void
.end method
.method public static final synthetic AD()Lkotlinx/coroutines/a/o;
.locals 1
sget-object v0, Lkotlinx/coroutines/az;->big:Lkotlinx/coroutines/a/o;
return-object v0
.end method
.method public static final synthetic AE()Lkotlinx/coroutines/aj;
.locals 1
sget-object v0, Lkotlinx/coroutines/az;->bii:Lkotlinx/coroutines/aj;
return-object v0
.end method
.method public static final synthetic AF()Lkotlinx/coroutines/aj;
.locals 1
sget-object v0, Lkotlinx/coroutines/az;->bih:Lkotlinx/coroutines/aj;
return-object v0
.end method

View file

@ -1,29 +1,42 @@
.class public final Lkotlinx/coroutines/b;
.class final Lkotlinx/coroutines/b;
.super Ljava/lang/Object;
.source "AbstractContinuation.kt"
.source "CancellableContinuationImpl.kt"
# interfaces
.implements Lkotlinx/coroutines/bo;
# static fields
.field private static final bhi:Lkotlinx/coroutines/d;
.field public static final bhg:Lkotlinx/coroutines/b;
# direct methods
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lkotlinx/coroutines/d;
new-instance v0, Lkotlinx/coroutines/b;
invoke-direct {v0}, Lkotlinx/coroutines/d;-><init>()V
invoke-direct {v0}, Lkotlinx/coroutines/b;-><init>()V
sput-object v0, Lkotlinx/coroutines/b;->bhi:Lkotlinx/coroutines/d;
sput-object v0, Lkotlinx/coroutines/b;->bhg:Lkotlinx/coroutines/b;
return-void
.end method
.method public static final synthetic zX()Lkotlinx/coroutines/d;
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final toString()Ljava/lang/String;
.locals 1
sget-object v0, Lkotlinx/coroutines/b;->bhi:Lkotlinx/coroutines/d;
const-string v0, "Active"
return-object v0
.end method

View file

@ -1,11 +1,11 @@
.class public final Lkotlinx/coroutines/c/a$a;
.class public final Lkotlinx/coroutines/b/a$a;
.super Ljava/lang/Object;
.source "CoroutineScheduler.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/c/a;
value = Lkotlinx/coroutines/b/a;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
@ -26,7 +26,7 @@
.method public synthetic constructor <init>(B)V
.locals 0
invoke-direct {p0}, Lkotlinx/coroutines/c/a$a;-><init>()V
invoke-direct {p0}, Lkotlinx/coroutines/b/a$a;-><init>()V
return-void
.end method

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,151 @@
.class public final enum Lkotlinx/coroutines/b/a$c;
.super Ljava/lang/Enum;
.source "CoroutineScheduler.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/b/a;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "c"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lkotlinx/coroutines/b/a$c;",
">;"
}
.end annotation
# static fields
.field public static final enum bkb:Lkotlinx/coroutines/b/a$c;
.field public static final enum bkc:Lkotlinx/coroutines/b/a$c;
.field public static final enum bkd:Lkotlinx/coroutines/b/a$c;
.field public static final enum bke:Lkotlinx/coroutines/b/a$c;
.field public static final enum bkf:Lkotlinx/coroutines/b/a$c;
.field private static final synthetic bkg:[Lkotlinx/coroutines/b/a$c;
# direct methods
.method static constructor <clinit>()V
.locals 4
const/4 v0, 0x5
new-array v0, v0, [Lkotlinx/coroutines/b/a$c;
new-instance v1, Lkotlinx/coroutines/b/a$c;
const/4 v2, 0x0
const-string v3, "CPU_ACQUIRED"
invoke-direct {v1, v3, v2}, Lkotlinx/coroutines/b/a$c;-><init>(Ljava/lang/String;I)V
sput-object v1, Lkotlinx/coroutines/b/a$c;->bkb:Lkotlinx/coroutines/b/a$c;
aput-object v1, v0, v2
new-instance v1, Lkotlinx/coroutines/b/a$c;
const/4 v2, 0x1
const-string v3, "BLOCKING"
invoke-direct {v1, v3, v2}, Lkotlinx/coroutines/b/a$c;-><init>(Ljava/lang/String;I)V
sput-object v1, Lkotlinx/coroutines/b/a$c;->bkc:Lkotlinx/coroutines/b/a$c;
aput-object v1, v0, v2
new-instance v1, Lkotlinx/coroutines/b/a$c;
const/4 v2, 0x2
const-string v3, "PARKING"
invoke-direct {v1, v3, v2}, Lkotlinx/coroutines/b/a$c;-><init>(Ljava/lang/String;I)V
sput-object v1, Lkotlinx/coroutines/b/a$c;->bkd:Lkotlinx/coroutines/b/a$c;
aput-object v1, v0, v2
new-instance v1, Lkotlinx/coroutines/b/a$c;
const/4 v2, 0x3
const-string v3, "RETIRING"
invoke-direct {v1, v3, v2}, Lkotlinx/coroutines/b/a$c;-><init>(Ljava/lang/String;I)V
sput-object v1, Lkotlinx/coroutines/b/a$c;->bke:Lkotlinx/coroutines/b/a$c;
aput-object v1, v0, v2
new-instance v1, Lkotlinx/coroutines/b/a$c;
const/4 v2, 0x4
const-string v3, "TERMINATED"
invoke-direct {v1, v3, v2}, Lkotlinx/coroutines/b/a$c;-><init>(Ljava/lang/String;I)V
sput-object v1, Lkotlinx/coroutines/b/a$c;->bkf:Lkotlinx/coroutines/b/a$c;
aput-object v1, v0, v2
sput-object v0, Lkotlinx/coroutines/b/a$c;->bkg:[Lkotlinx/coroutines/b/a$c;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lkotlinx/coroutines/b/a$c;
.locals 1
const-class v0, Lkotlinx/coroutines/b/a$c;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lkotlinx/coroutines/b/a$c;
return-object p0
.end method
.method public static values()[Lkotlinx/coroutines/b/a$c;
.locals 1
sget-object v0, Lkotlinx/coroutines/b/a$c;->bkg:[Lkotlinx/coroutines/b/a$c;
invoke-virtual {v0}, [Lkotlinx/coroutines/b/a$c;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lkotlinx/coroutines/b/a$c;
return-object v0
.end method

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,82 @@
.class public final synthetic Lkotlinx/coroutines/b/b;
.super Ljava/lang/Object;
# static fields
.field public static final synthetic $EnumSwitchMapping$0:[I
# direct methods
.method static synthetic constructor <clinit>()V
.locals 3
invoke-static {}, Lkotlinx/coroutines/b/a$c;->values()[Lkotlinx/coroutines/b/a$c;
move-result-object v0
array-length v0, v0
new-array v0, v0, [I
sput-object v0, Lkotlinx/coroutines/b/b;->$EnumSwitchMapping$0:[I
sget-object v1, Lkotlinx/coroutines/b/a$c;->bkd:Lkotlinx/coroutines/b/a$c;
invoke-virtual {v1}, Lkotlinx/coroutines/b/a$c;->ordinal()I
move-result v1
const/4 v2, 0x1
aput v2, v0, v1
sget-object v0, Lkotlinx/coroutines/b/b;->$EnumSwitchMapping$0:[I
sget-object v1, Lkotlinx/coroutines/b/a$c;->bkc:Lkotlinx/coroutines/b/a$c;
invoke-virtual {v1}, Lkotlinx/coroutines/b/a$c;->ordinal()I
move-result v1
const/4 v2, 0x2
aput v2, v0, v1
sget-object v0, Lkotlinx/coroutines/b/b;->$EnumSwitchMapping$0:[I
sget-object v1, Lkotlinx/coroutines/b/a$c;->bkb:Lkotlinx/coroutines/b/a$c;
invoke-virtual {v1}, Lkotlinx/coroutines/b/a$c;->ordinal()I
move-result v1
const/4 v2, 0x3
aput v2, v0, v1
sget-object v0, Lkotlinx/coroutines/b/b;->$EnumSwitchMapping$0:[I
sget-object v1, Lkotlinx/coroutines/b/a$c;->bke:Lkotlinx/coroutines/b/a$c;
invoke-virtual {v1}, Lkotlinx/coroutines/b/a$c;->ordinal()I
move-result v1
const/4 v2, 0x4
aput v2, v0, v1
sget-object v0, Lkotlinx/coroutines/b/b;->$EnumSwitchMapping$0:[I
sget-object v1, Lkotlinx/coroutines/b/a$c;->bkf:Lkotlinx/coroutines/b/a$c;
invoke-virtual {v1}, Lkotlinx/coroutines/b/a$c;->ordinal()I
move-result v1
const/4 v2, 0x5
aput v2, v0, v1
return-void
.end method

View file

@ -1,25 +1,25 @@
.class public final Lkotlinx/coroutines/c/c;
.super Lkotlinx/coroutines/c/d;
.class public final Lkotlinx/coroutines/b/c;
.super Lkotlinx/coroutines/b/d;
.source "Dispatcher.kt"
# static fields
.field private static final bhN:Lkotlinx/coroutines/s;
.field private static final bhT:Lkotlinx/coroutines/y;
.field public static final bjL:Lkotlinx/coroutines/c/c;
.field public static final bkh:Lkotlinx/coroutines/b/c;
# direct methods
.method static constructor <clinit>()V
.locals 5
new-instance v0, Lkotlinx/coroutines/c/c;
new-instance v0, Lkotlinx/coroutines/b/c;
invoke-direct {v0}, Lkotlinx/coroutines/c/c;-><init>()V
invoke-direct {v0}, Lkotlinx/coroutines/b/c;-><init>()V
sput-object v0, Lkotlinx/coroutines/c/c;->bjL:Lkotlinx/coroutines/c/c;
sput-object v0, Lkotlinx/coroutines/b/c;->bkh:Lkotlinx/coroutines/b/c;
invoke-static {}, Lkotlinx/coroutines/a/p;->AV()I
invoke-static {}, Lkotlinx/coroutines/internal/w;->Bf()I
move-result v1
@ -35,7 +35,7 @@
const/16 v4, 0xc
invoke-static {v3, v1, v2, v2, v4}, Lkotlinx/coroutines/a/p;->a(Ljava/lang/String;IIII)I
invoke-static {v3, v1, v2, v2, v4}, Lkotlinx/coroutines/internal/v;->a(Ljava/lang/String;IIII)I
move-result v1
@ -46,15 +46,15 @@
:cond_0
if-eqz v2, :cond_1
new-instance v2, Lkotlinx/coroutines/c/f;
new-instance v2, Lkotlinx/coroutines/b/f;
sget-object v3, Lkotlinx/coroutines/c/k;->bjY:Lkotlinx/coroutines/c/k;
sget-object v3, Lkotlinx/coroutines/b/l;->bku:Lkotlinx/coroutines/b/l;
invoke-direct {v2, v0, v1, v3}, Lkotlinx/coroutines/c/f;-><init>(Lkotlinx/coroutines/c/d;ILkotlinx/coroutines/c/k;)V
invoke-direct {v2, v0, v1, v3}, Lkotlinx/coroutines/b/f;-><init>(Lkotlinx/coroutines/b/d;ILkotlinx/coroutines/b/l;)V
check-cast v2, Lkotlinx/coroutines/s;
check-cast v2, Lkotlinx/coroutines/y;
sput-object v2, Lkotlinx/coroutines/c/c;->bhN:Lkotlinx/coroutines/s;
sput-object v2, Lkotlinx/coroutines/b/c;->bhT:Lkotlinx/coroutines/y;
return-void
@ -85,15 +85,15 @@
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Lkotlinx/coroutines/c/d;-><init>()V
invoke-direct {p0}, Lkotlinx/coroutines/b/d;-><init>()V
return-void
.end method
.method public static Bn()Lkotlinx/coroutines/s;
.method public static BB()Lkotlinx/coroutines/y;
.locals 1
sget-object v0, Lkotlinx/coroutines/c/c;->bhN:Lkotlinx/coroutines/s;
sget-object v0, Lkotlinx/coroutines/b/c;->bhT:Lkotlinx/coroutines/y;
return-object v0
.end method

View file

@ -0,0 +1,195 @@
.class public Lkotlinx/coroutines/b/d;
.super Lkotlinx/coroutines/av;
.source "Dispatcher.kt"
# instance fields
.field private final bjJ:I
.field private final bjK:I
.field private final bjL:J
.field private final bjM:Ljava/lang/String;
.field private bki:Lkotlinx/coroutines/b/a;
# direct methods
.method public synthetic constructor <init>()V
.locals 3
sget v0, Lkotlinx/coroutines/b/m;->CORE_POOL_SIZE:I
sget v1, Lkotlinx/coroutines/b/m;->bd:I
const-string v2, "DefaultDispatcher"
invoke-direct {p0, v0, v1, v2}, Lkotlinx/coroutines/b/d;-><init>(IILjava/lang/String;)V
return-void
.end method
.method private constructor <init>(IIJLjava/lang/String;)V
.locals 7
const-string v0, "schedulerName"
invoke-static {p5, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0}, Lkotlinx/coroutines/av;-><init>()V
iput p1, p0, Lkotlinx/coroutines/b/d;->bjJ:I
iput p2, p0, Lkotlinx/coroutines/b/d;->bjK:I
iput-wide p3, p0, Lkotlinx/coroutines/b/d;->bjL:J
iput-object p5, p0, Lkotlinx/coroutines/b/d;->bjM:Ljava/lang/String;
new-instance p1, Lkotlinx/coroutines/b/a;
iget v2, p0, Lkotlinx/coroutines/b/d;->bjJ:I
iget v3, p0, Lkotlinx/coroutines/b/d;->bjK:I
iget-wide v4, p0, Lkotlinx/coroutines/b/d;->bjL:J
iget-object v6, p0, Lkotlinx/coroutines/b/d;->bjM:Ljava/lang/String;
move-object v1, p1
invoke-direct/range {v1 .. v6}, Lkotlinx/coroutines/b/a;-><init>(IIJLjava/lang/String;)V
iput-object p1, p0, Lkotlinx/coroutines/b/d;->bki:Lkotlinx/coroutines/b/a;
return-void
.end method
.method private constructor <init>(IILjava/lang/String;)V
.locals 7
const-string v0, "schedulerName"
invoke-static {p3, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
sget-wide v4, Lkotlinx/coroutines/b/m;->bkz:J
move-object v1, p0
move v2, p1
move v3, p2
move-object v6, p3
invoke-direct/range {v1 .. v6}, Lkotlinx/coroutines/b/d;-><init>(IIJLjava/lang/String;)V
return-void
.end method
# virtual methods
.method public final a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V
.locals 1
const-string v0, "context"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "block"
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
:try_start_0
iget-object v0, p0, Lkotlinx/coroutines/b/d;->bki:Lkotlinx/coroutines/b/a;
invoke-static {v0, p2}, Lkotlinx/coroutines/b/a;->a(Lkotlinx/coroutines/b/a;Ljava/lang/Runnable;)V
:try_end_0
.catch Ljava/util/concurrent/RejectedExecutionException; {:try_start_0 .. :try_end_0} :catch_0
return-void
:catch_0
sget-object v0, Lkotlinx/coroutines/ah;->bhI:Lkotlinx/coroutines/ah;
invoke-virtual {v0, p1, p2}, Lkotlinx/coroutines/ah;->a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V
return-void
.end method
.method public final b(Ljava/lang/Runnable;Lkotlinx/coroutines/b/j;Z)V
.locals 1
const-string v0, "block"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "context"
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
:try_start_0
iget-object v0, p0, Lkotlinx/coroutines/b/d;->bki:Lkotlinx/coroutines/b/a;
invoke-virtual {v0, p1, p2, p3}, Lkotlinx/coroutines/b/a;->a(Ljava/lang/Runnable;Lkotlinx/coroutines/b/j;Z)V
:try_end_0
.catch Ljava/util/concurrent/RejectedExecutionException; {:try_start_0 .. :try_end_0} :catch_0
return-void
:catch_0
sget-object p3, Lkotlinx/coroutines/ah;->bhI:Lkotlinx/coroutines/ah;
invoke-static {p1, p2}, Lkotlinx/coroutines/b/a;->a(Ljava/lang/Runnable;Lkotlinx/coroutines/b/j;)Lkotlinx/coroutines/b/i;
move-result-object p1
check-cast p1, Ljava/lang/Runnable;
invoke-virtual {p3, p1}, Lkotlinx/coroutines/ah;->m(Ljava/lang/Runnable;)V
return-void
.end method
.method public close()V
.locals 1
iget-object v0, p0, Lkotlinx/coroutines/b/d;->bki:Lkotlinx/coroutines/b/a;
invoke-virtual {v0}, Lkotlinx/coroutines/b/a;->close()V
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-super {p0}, Lkotlinx/coroutines/av;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "[scheduler = "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lkotlinx/coroutines/b/d;->bki:Lkotlinx/coroutines/b/a;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const/16 v1, 0x5d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,222 @@
.class public final Lkotlinx/coroutines/b/e;
.super Lkotlinx/coroutines/internal/l;
.source "Tasks.kt"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/internal/l<",
"Lkotlinx/coroutines/b/i;",
">;"
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Lkotlinx/coroutines/internal/l;-><init>()V
return-void
.end method
# virtual methods
.method public final a(Lkotlinx/coroutines/b/l;)Lkotlinx/coroutines/b/i;
.locals 11
const-string v0, "mode"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
:goto_0
iget-object v0, p0, Lkotlinx/coroutines/internal/l;->_cur$internal:Ljava/lang/Object;
check-cast v0, Lkotlinx/coroutines/internal/m;
:cond_0
iget-wide v3, v0, Lkotlinx/coroutines/internal/m;->_state$internal:J
const-wide/high16 v1, 0x1000000000000000L
and-long/2addr v1, v3
const-wide/16 v5, 0x0
const/4 v7, 0x0
cmp-long v8, v1, v5
if-eqz v8, :cond_1
sget-object v7, Lkotlinx/coroutines/internal/m;->bjj:Lkotlinx/coroutines/internal/u;
goto/16 :goto_2
:cond_1
sget-object v1, Lkotlinx/coroutines/internal/m;->bjk:Lkotlinx/coroutines/internal/m$a;
const-wide/32 v1, 0x3fffffff
and-long/2addr v1, v3
const/4 v5, 0x0
shr-long/2addr v1, v5
long-to-int v8, v1
const-wide v1, 0xfffffffc0000000L
and-long/2addr v1, v3
const/16 v6, 0x1e
shr-long/2addr v1, v6
long-to-int v2, v1
invoke-static {v0}, Lkotlinx/coroutines/internal/m;->a(Lkotlinx/coroutines/internal/m;)I
move-result v1
and-int/2addr v1, v2
invoke-static {v0}, Lkotlinx/coroutines/internal/m;->a(Lkotlinx/coroutines/internal/m;)I
move-result v2
and-int/2addr v2, v8
if-ne v1, v2, :cond_2
goto :goto_2
:cond_2
invoke-static {v0}, Lkotlinx/coroutines/internal/m;->b(Lkotlinx/coroutines/internal/m;)Ljava/util/concurrent/atomic/AtomicReferenceArray;
move-result-object v1
invoke-static {v0}, Lkotlinx/coroutines/internal/m;->a(Lkotlinx/coroutines/internal/m;)I
move-result v2
and-int/2addr v2, v8
invoke-virtual {v1, v2}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->get(I)Ljava/lang/Object;
move-result-object v9
if-nez v9, :cond_3
invoke-static {v0}, Lkotlinx/coroutines/internal/m;->c(Lkotlinx/coroutines/internal/m;)Z
move-result v1
if-eqz v1, :cond_0
goto :goto_2
:cond_3
instance-of v1, v9, Lkotlinx/coroutines/internal/m$b;
if-eqz v1, :cond_4
goto :goto_2
:cond_4
move-object v1, v9
check-cast v1, Lkotlinx/coroutines/b/i;
invoke-virtual {v1}, Lkotlinx/coroutines/b/i;->BE()Lkotlinx/coroutines/b/l;
move-result-object v1
if-ne v1, p1, :cond_5
const/4 v5, 0x1
:cond_5
if-nez v5, :cond_6
goto :goto_2
:cond_6
add-int/lit8 v1, v8, 0x1
const v2, 0x3fffffff # 1.9999999f
and-int v10, v1, v2
sget-object v1, Lkotlinx/coroutines/internal/m;->bjg:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
sget-object v2, Lkotlinx/coroutines/internal/m;->bjk:Lkotlinx/coroutines/internal/m$a;
invoke-static {v3, v4, v10}, Lkotlinx/coroutines/internal/m$a;->c(JI)J
move-result-wide v5
move-object v2, v0
invoke-virtual/range {v1 .. v6}, Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;->compareAndSet(Ljava/lang/Object;JJ)Z
move-result v1
if-eqz v1, :cond_7
invoke-static {v0}, Lkotlinx/coroutines/internal/m;->b(Lkotlinx/coroutines/internal/m;)Ljava/util/concurrent/atomic/AtomicReferenceArray;
move-result-object v1
invoke-static {v0}, Lkotlinx/coroutines/internal/m;->a(Lkotlinx/coroutines/internal/m;)I
move-result v2
and-int/2addr v2, v8
invoke-virtual {v1, v2, v7}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->set(ILjava/lang/Object;)V
goto :goto_1
:cond_7
invoke-static {v0}, Lkotlinx/coroutines/internal/m;->c(Lkotlinx/coroutines/internal/m;)Z
move-result v1
if-eqz v1, :cond_0
move-object v1, v0
:cond_8
invoke-static {v1, v8, v10}, Lkotlinx/coroutines/internal/m;->a(Lkotlinx/coroutines/internal/m;II)Lkotlinx/coroutines/internal/m;
move-result-object v1
if-nez v1, :cond_8
:goto_1
move-object v7, v9
:goto_2
sget-object v1, Lkotlinx/coroutines/internal/m;->bjj:Lkotlinx/coroutines/internal/u;
if-eq v7, v1, :cond_9
check-cast v7, Lkotlinx/coroutines/b/i;
return-object v7
:cond_9
sget-object v1, Lkotlinx/coroutines/internal/l;->bjf:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invoke-virtual {v0}, Lkotlinx/coroutines/internal/m;->Bb()Lkotlinx/coroutines/internal/m;
move-result-object v2
invoke-virtual {v1, p0, v0, v2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
goto/16 :goto_0
.end method

View file

@ -1,18 +1,18 @@
.class final Lkotlinx/coroutines/c/f;
.super Lkotlinx/coroutines/an;
.class final Lkotlinx/coroutines/b/f;
.super Lkotlinx/coroutines/av;
.source "Dispatcher.kt"
# interfaces
.implements Ljava/util/concurrent/Executor;
.implements Lkotlinx/coroutines/c/j;
.implements Lkotlinx/coroutines/b/j;
# static fields
.field private static final bjO:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
.field private static final bkk:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
# instance fields
.field private final bjN:Ljava/util/concurrent/ConcurrentLinkedQueue;
.field private final bkj:Ljava/util/concurrent/ConcurrentLinkedQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentLinkedQueue<",
@ -22,11 +22,11 @@
.end annotation
.end field
.field private final bjP:Lkotlinx/coroutines/c/d;
.field private final bkl:Lkotlinx/coroutines/b/d;
.field private final bjQ:I
.field private final bkm:I
.field private final bjR:Lkotlinx/coroutines/c/k;
.field private final bkn:Lkotlinx/coroutines/b/l;
.field private volatile inFlightTasks:I
@ -35,7 +35,7 @@
.method static constructor <clinit>()V
.locals 2
const-class v0, Lkotlinx/coroutines/c/f;
const-class v0, Lkotlinx/coroutines/b/f;
const-string v1, "inFlightTasks"
@ -43,12 +43,12 @@
move-result-object v0
sput-object v0, Lkotlinx/coroutines/c/f;->bjO:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
sput-object v0, Lkotlinx/coroutines/b/f;->bkk:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
return-void
.end method
.method public constructor <init>(Lkotlinx/coroutines/c/d;ILkotlinx/coroutines/c/k;)V
.method public constructor <init>(Lkotlinx/coroutines/b/d;ILkotlinx/coroutines/b/l;)V
.locals 1
const-string v0, "dispatcher"
@ -59,23 +59,23 @@
invoke-static {p3, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0}, Lkotlinx/coroutines/an;-><init>()V
invoke-direct {p0}, Lkotlinx/coroutines/av;-><init>()V
iput-object p1, p0, Lkotlinx/coroutines/c/f;->bjP:Lkotlinx/coroutines/c/d;
iput-object p1, p0, Lkotlinx/coroutines/b/f;->bkl:Lkotlinx/coroutines/b/d;
iput p2, p0, Lkotlinx/coroutines/c/f;->bjQ:I
iput p2, p0, Lkotlinx/coroutines/b/f;->bkm:I
iput-object p3, p0, Lkotlinx/coroutines/c/f;->bjR:Lkotlinx/coroutines/c/k;
iput-object p3, p0, Lkotlinx/coroutines/b/f;->bkn:Lkotlinx/coroutines/b/l;
new-instance p1, Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-direct {p1}, Ljava/util/concurrent/ConcurrentLinkedQueue;-><init>()V
iput-object p1, p0, Lkotlinx/coroutines/c/f;->bjN:Ljava/util/concurrent/ConcurrentLinkedQueue;
iput-object p1, p0, Lkotlinx/coroutines/b/f;->bkj:Ljava/util/concurrent/ConcurrentLinkedQueue;
const/4 p1, 0x0
iput p1, p0, Lkotlinx/coroutines/c/f;->inFlightTasks:I
iput p1, p0, Lkotlinx/coroutines/b/f;->inFlightTasks:I
return-void
.end method
@ -84,45 +84,45 @@
.locals 2
:cond_0
sget-object v0, Lkotlinx/coroutines/c/f;->bjO:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
sget-object v0, Lkotlinx/coroutines/b/f;->bkk:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
invoke-virtual {v0, p0}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->incrementAndGet(Ljava/lang/Object;)I
move-result v0
iget v1, p0, Lkotlinx/coroutines/c/f;->bjQ:I
iget v1, p0, Lkotlinx/coroutines/b/f;->bkm:I
if-gt v0, v1, :cond_1
iget-object v0, p0, Lkotlinx/coroutines/c/f;->bjP:Lkotlinx/coroutines/c/d;
iget-object v0, p0, Lkotlinx/coroutines/b/f;->bkl:Lkotlinx/coroutines/b/d;
move-object v1, p0
check-cast v1, Lkotlinx/coroutines/c/j;
check-cast v1, Lkotlinx/coroutines/b/j;
invoke-virtual {v0, p1, v1, p2}, Lkotlinx/coroutines/c/d;->b(Ljava/lang/Runnable;Lkotlinx/coroutines/c/j;Z)V
invoke-virtual {v0, p1, v1, p2}, Lkotlinx/coroutines/b/d;->b(Ljava/lang/Runnable;Lkotlinx/coroutines/b/j;Z)V
return-void
:cond_1
iget-object v0, p0, Lkotlinx/coroutines/c/f;->bjN:Ljava/util/concurrent/ConcurrentLinkedQueue;
iget-object v0, p0, Lkotlinx/coroutines/b/f;->bkj:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {v0, p1}, Ljava/util/concurrent/ConcurrentLinkedQueue;->add(Ljava/lang/Object;)Z
sget-object p1, Lkotlinx/coroutines/c/f;->bjO:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
sget-object p1, Lkotlinx/coroutines/b/f;->bkk:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
invoke-virtual {p1, p0}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->decrementAndGet(Ljava/lang/Object;)I
move-result p1
iget v0, p0, Lkotlinx/coroutines/c/f;->bjQ:I
iget v0, p0, Lkotlinx/coroutines/b/f;->bkm:I
if-lt p1, v0, :cond_2
return-void
:cond_2
iget-object p1, p0, Lkotlinx/coroutines/c/f;->bjN:Ljava/util/concurrent/ConcurrentLinkedQueue;
iget-object p1, p0, Lkotlinx/coroutines/b/f;->bkj:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {p1}, Ljava/util/concurrent/ConcurrentLinkedQueue;->poll()Ljava/lang/Object;
@ -137,10 +137,10 @@
# virtual methods
.method public final Bq()V
.method public final BC()V
.locals 4
iget-object v0, p0, Lkotlinx/coroutines/c/f;->bjN:Ljava/util/concurrent/ConcurrentLinkedQueue;
iget-object v0, p0, Lkotlinx/coroutines/b/f;->bkj:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->poll()Ljava/lang/Object;
@ -152,22 +152,22 @@
if-eqz v0, :cond_0
iget-object v2, p0, Lkotlinx/coroutines/c/f;->bjP:Lkotlinx/coroutines/c/d;
iget-object v2, p0, Lkotlinx/coroutines/b/f;->bkl:Lkotlinx/coroutines/b/d;
move-object v3, p0
check-cast v3, Lkotlinx/coroutines/c/j;
check-cast v3, Lkotlinx/coroutines/b/j;
invoke-virtual {v2, v0, v3, v1}, Lkotlinx/coroutines/c/d;->b(Ljava/lang/Runnable;Lkotlinx/coroutines/c/j;Z)V
invoke-virtual {v2, v0, v3, v1}, Lkotlinx/coroutines/b/d;->b(Ljava/lang/Runnable;Lkotlinx/coroutines/b/j;Z)V
return-void
:cond_0
sget-object v0, Lkotlinx/coroutines/c/f;->bjO:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
sget-object v0, Lkotlinx/coroutines/b/f;->bkk:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
invoke-virtual {v0, p0}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->decrementAndGet(Ljava/lang/Object;)I
iget-object v0, p0, Lkotlinx/coroutines/c/f;->bjN:Ljava/util/concurrent/ConcurrentLinkedQueue;
iget-object v0, p0, Lkotlinx/coroutines/b/f;->bkj:Ljava/util/concurrent/ConcurrentLinkedQueue;
invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->poll()Ljava/lang/Object;
@ -180,20 +180,20 @@
return-void
:cond_1
invoke-direct {p0, v0, v1}, Lkotlinx/coroutines/c/f;->a(Ljava/lang/Runnable;Z)V
invoke-direct {p0, v0, v1}, Lkotlinx/coroutines/b/f;->a(Ljava/lang/Runnable;Z)V
return-void
.end method
.method public final Br()Lkotlinx/coroutines/c/k;
.method public final BD()Lkotlinx/coroutines/b/l;
.locals 1
iget-object v0, p0, Lkotlinx/coroutines/c/f;->bjR:Lkotlinx/coroutines/c/k;
iget-object v0, p0, Lkotlinx/coroutines/b/f;->bkn:Lkotlinx/coroutines/b/l;
return-object v0
.end method
.method public final a(Lkotlin/c/e;Ljava/lang/Runnable;)V
.method public final a(Lkotlin/coroutines/CoroutineContext;Ljava/lang/Runnable;)V
.locals 1
const-string v0, "context"
@ -206,7 +206,7 @@
const/4 p1, 0x0
invoke-direct {p0, p2, p1}, Lkotlinx/coroutines/c/f;->a(Ljava/lang/Runnable;Z)V
invoke-direct {p0, p2, p1}, Lkotlinx/coroutines/b/f;->a(Ljava/lang/Runnable;Z)V
return-void
.end method
@ -238,7 +238,7 @@
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lkotlinx/coroutines/c/f;->a(Ljava/lang/Runnable;Z)V
invoke-direct {p0, p1, v0}, Lkotlinx/coroutines/b/f;->a(Ljava/lang/Runnable;Z)V
return-void
.end method
@ -250,7 +250,7 @@
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-super {p0}, Lkotlinx/coroutines/an;->toString()Ljava/lang/String;
invoke-super {p0}, Lkotlinx/coroutines/av;->toString()Ljava/lang/String;
move-result-object v1
@ -260,7 +260,7 @@
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lkotlinx/coroutines/c/f;->bjP:Lkotlinx/coroutines/c/d;
iget-object v1, p0, Lkotlinx/coroutines/b/f;->bkl:Lkotlinx/coroutines/b/d;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

View file

@ -1,21 +1,21 @@
.class public final Lkotlinx/coroutines/c/g;
.super Lkotlinx/coroutines/c/m;
.class public final Lkotlinx/coroutines/b/g;
.super Lkotlinx/coroutines/b/n;
.source "Tasks.kt"
# static fields
.field public static final bjS:Lkotlinx/coroutines/c/g;
.field public static final bko:Lkotlinx/coroutines/b/g;
# direct methods
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lkotlinx/coroutines/c/g;
new-instance v0, Lkotlinx/coroutines/b/g;
invoke-direct {v0}, Lkotlinx/coroutines/c/g;-><init>()V
invoke-direct {v0}, Lkotlinx/coroutines/b/g;-><init>()V
sput-object v0, Lkotlinx/coroutines/c/g;->bjS:Lkotlinx/coroutines/c/g;
sput-object v0, Lkotlinx/coroutines/b/g;->bko:Lkotlinx/coroutines/b/g;
return-void
.end method
@ -23,7 +23,7 @@
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Lkotlinx/coroutines/c/m;-><init>()V
invoke-direct {p0}, Lkotlinx/coroutines/b/n;-><init>()V
return-void
.end method

View file

@ -0,0 +1,54 @@
.class public final Lkotlinx/coroutines/b/h;
.super Ljava/lang/Object;
.source "Tasks.kt"
# interfaces
.implements Lkotlinx/coroutines/b/j;
# static fields
.field private static final bkn:Lkotlinx/coroutines/b/l;
.field public static final bkp:Lkotlinx/coroutines/b/h;
# direct methods
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lkotlinx/coroutines/b/h;
invoke-direct {v0}, Lkotlinx/coroutines/b/h;-><init>()V
sput-object v0, Lkotlinx/coroutines/b/h;->bkp:Lkotlinx/coroutines/b/h;
sget-object v0, Lkotlinx/coroutines/b/l;->bkt:Lkotlinx/coroutines/b/l;
sput-object v0, Lkotlinx/coroutines/b/h;->bkn:Lkotlinx/coroutines/b/l;
return-void
.end method
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final BC()V
.locals 0
return-void
.end method
.method public final BD()Lkotlinx/coroutines/b/l;
.locals 1
sget-object v0, Lkotlinx/coroutines/b/h;->bkn:Lkotlinx/coroutines/b/l;
return-object v0
.end method

View file

@ -0,0 +1,58 @@
.class public abstract Lkotlinx/coroutines/b/i;
.super Ljava/lang/Object;
.source "Tasks.kt"
# interfaces
.implements Ljava/lang/Runnable;
# instance fields
.field public bkq:J
.field public bkr:Lkotlinx/coroutines/b/j;
# direct methods
.method public constructor <init>()V
.locals 3
sget-object v0, Lkotlinx/coroutines/b/h;->bkp:Lkotlinx/coroutines/b/h;
check-cast v0, Lkotlinx/coroutines/b/j;
const-wide/16 v1, 0x0
invoke-direct {p0, v1, v2, v0}, Lkotlinx/coroutines/b/i;-><init>(JLkotlinx/coroutines/b/j;)V
return-void
.end method
.method public constructor <init>(JLkotlinx/coroutines/b/j;)V
.locals 1
const-string v0, "taskContext"
invoke-static {p3, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-wide p1, p0, Lkotlinx/coroutines/b/i;->bkq:J
iput-object p3, p0, Lkotlinx/coroutines/b/i;->bkr:Lkotlinx/coroutines/b/j;
return-void
.end method
# virtual methods
.method public final BE()Lkotlinx/coroutines/b/l;
.locals 1
iget-object v0, p0, Lkotlinx/coroutines/b/i;->bkr:Lkotlinx/coroutines/b/j;
invoke-interface {v0}, Lkotlinx/coroutines/b/j;->BD()Lkotlinx/coroutines/b/l;
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,11 @@
.class public interface abstract Lkotlinx/coroutines/b/j;
.super Ljava/lang/Object;
.source "Tasks.kt"
# virtual methods
.method public abstract BC()V
.end method
.method public abstract BD()Lkotlinx/coroutines/b/l;
.end method

View file

@ -1,32 +1,14 @@
.class public final Lkotlinx/coroutines/c/i;
.super Lkotlinx/coroutines/a/k;
.class public final Lkotlinx/coroutines/b/k;
.super Lkotlinx/coroutines/b/i;
.source "Tasks.kt"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/a/k<",
"Lkotlinx/coroutines/c/i;",
">;",
"Ljava/lang/Runnable;"
}
.end annotation
# instance fields
.field public final bjU:Ljava/lang/Runnable;
.field public final bjV:J
.field public final bjW:Lkotlinx/coroutines/c/j;
.field public final bks:Ljava/lang/Runnable;
# direct methods
.method public constructor <init>(Ljava/lang/Runnable;JLkotlinx/coroutines/c/j;)V
.method public constructor <init>(Ljava/lang/Runnable;JLkotlinx/coroutines/b/j;)V
.locals 1
const-string v0, "block"
@ -37,53 +19,37 @@
invoke-static {p4, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0}, Lkotlinx/coroutines/a/k;-><init>()V
invoke-direct {p0, p2, p3, p4}, Lkotlinx/coroutines/b/i;-><init>(JLkotlinx/coroutines/b/j;)V
iput-object p1, p0, Lkotlinx/coroutines/c/i;->bjU:Ljava/lang/Runnable;
iput-wide p2, p0, Lkotlinx/coroutines/c/i;->bjV:J
iput-object p4, p0, Lkotlinx/coroutines/c/i;->bjW:Lkotlinx/coroutines/c/j;
iput-object p1, p0, Lkotlinx/coroutines/b/k;->bks:Ljava/lang/Runnable;
return-void
.end method
# virtual methods
.method public final Bs()Lkotlinx/coroutines/c/k;
.locals 1
iget-object v0, p0, Lkotlinx/coroutines/c/i;->bjW:Lkotlinx/coroutines/c/j;
invoke-interface {v0}, Lkotlinx/coroutines/c/j;->Br()Lkotlinx/coroutines/c/k;
move-result-object v0
return-object v0
.end method
.method public final run()V
.locals 2
:try_start_0
iget-object v0, p0, Lkotlinx/coroutines/c/i;->bjU:Ljava/lang/Runnable;
iget-object v0, p0, Lkotlinx/coroutines/b/k;->bks:Ljava/lang/Runnable;
invoke-interface {v0}, Ljava/lang/Runnable;->run()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
iget-object v0, p0, Lkotlinx/coroutines/c/i;->bjW:Lkotlinx/coroutines/c/j;
iget-object v0, p0, Lkotlinx/coroutines/b/k;->bkr:Lkotlinx/coroutines/b/j;
invoke-interface {v0}, Lkotlinx/coroutines/c/j;->Bq()V
invoke-interface {v0}, Lkotlinx/coroutines/b/j;->BC()V
return-void
:catchall_0
move-exception v0
iget-object v1, p0, Lkotlinx/coroutines/c/i;->bjW:Lkotlinx/coroutines/c/j;
iget-object v1, p0, Lkotlinx/coroutines/b/k;->bkr:Lkotlinx/coroutines/b/j;
invoke-interface {v1}, Lkotlinx/coroutines/c/j;->Bq()V
invoke-interface {v1}, Lkotlinx/coroutines/b/j;->BC()V
throw v0
.end method
@ -97,9 +63,9 @@
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v1, p0, Lkotlinx/coroutines/c/i;->bjU:Ljava/lang/Runnable;
iget-object v1, p0, Lkotlinx/coroutines/b/k;->bks:Ljava/lang/Runnable;
invoke-static {v1}, Lkotlinx/coroutines/aa;->bh(Ljava/lang/Object;)Ljava/lang/String;
invoke-static {v1}, Lkotlinx/coroutines/ag;->bi(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
@ -109,9 +75,9 @@
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget-object v1, p0, Lkotlinx/coroutines/c/i;->bjU:Ljava/lang/Runnable;
iget-object v1, p0, Lkotlinx/coroutines/b/k;->bks:Ljava/lang/Runnable;
invoke-static {v1}, Lkotlinx/coroutines/aa;->bg(Ljava/lang/Object;)Ljava/lang/String;
invoke-static {v1}, Lkotlinx/coroutines/ag;->bh(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
@ -121,13 +87,13 @@
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-wide v2, p0, Lkotlinx/coroutines/c/i;->bjV:J
iget-wide v2, p0, Lkotlinx/coroutines/b/k;->bkq:J
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lkotlinx/coroutines/c/i;->bjW:Lkotlinx/coroutines/c/j;
iget-object v1, p0, Lkotlinx/coroutines/b/k;->bkr:Lkotlinx/coroutines/b/j;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

View file

@ -1,4 +1,4 @@
.class public final enum Lkotlinx/coroutines/c/k;
.class public final enum Lkotlinx/coroutines/b/l;
.super Ljava/lang/Enum;
.source "Tasks.kt"
@ -7,18 +7,18 @@
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lkotlinx/coroutines/c/k;",
"Lkotlinx/coroutines/b/l;",
">;"
}
.end annotation
# static fields
.field public static final enum bjX:Lkotlinx/coroutines/c/k;
.field public static final enum bkt:Lkotlinx/coroutines/b/l;
.field public static final enum bjY:Lkotlinx/coroutines/c/k;
.field public static final enum bku:Lkotlinx/coroutines/b/l;
.field private static final synthetic bjZ:[Lkotlinx/coroutines/c/k;
.field private static final synthetic bkv:[Lkotlinx/coroutines/b/l;
# direct methods
@ -27,33 +27,33 @@
const/4 v0, 0x2
new-array v0, v0, [Lkotlinx/coroutines/c/k;
new-array v0, v0, [Lkotlinx/coroutines/b/l;
new-instance v1, Lkotlinx/coroutines/c/k;
new-instance v1, Lkotlinx/coroutines/b/l;
const/4 v2, 0x0
const-string v3, "NON_BLOCKING"
invoke-direct {v1, v3, v2}, Lkotlinx/coroutines/c/k;-><init>(Ljava/lang/String;I)V
invoke-direct {v1, v3, v2}, Lkotlinx/coroutines/b/l;-><init>(Ljava/lang/String;I)V
sput-object v1, Lkotlinx/coroutines/c/k;->bjX:Lkotlinx/coroutines/c/k;
sput-object v1, Lkotlinx/coroutines/b/l;->bkt:Lkotlinx/coroutines/b/l;
aput-object v1, v0, v2
new-instance v1, Lkotlinx/coroutines/c/k;
new-instance v1, Lkotlinx/coroutines/b/l;
const/4 v2, 0x1
const-string v3, "PROBABLY_BLOCKING"
invoke-direct {v1, v3, v2}, Lkotlinx/coroutines/c/k;-><init>(Ljava/lang/String;I)V
invoke-direct {v1, v3, v2}, Lkotlinx/coroutines/b/l;-><init>(Ljava/lang/String;I)V
sput-object v1, Lkotlinx/coroutines/c/k;->bjY:Lkotlinx/coroutines/c/k;
sput-object v1, Lkotlinx/coroutines/b/l;->bku:Lkotlinx/coroutines/b/l;
aput-object v1, v0, v2
sput-object v0, Lkotlinx/coroutines/c/k;->bjZ:[Lkotlinx/coroutines/c/k;
sput-object v0, Lkotlinx/coroutines/b/l;->bkv:[Lkotlinx/coroutines/b/l;
return-void
.end method
@ -71,30 +71,30 @@
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lkotlinx/coroutines/c/k;
.method public static valueOf(Ljava/lang/String;)Lkotlinx/coroutines/b/l;
.locals 1
const-class v0, Lkotlinx/coroutines/c/k;
const-class v0, Lkotlinx/coroutines/b/l;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lkotlinx/coroutines/c/k;
check-cast p0, Lkotlinx/coroutines/b/l;
return-object p0
.end method
.method public static values()[Lkotlinx/coroutines/c/k;
.method public static values()[Lkotlinx/coroutines/b/l;
.locals 1
sget-object v0, Lkotlinx/coroutines/c/k;->bjZ:[Lkotlinx/coroutines/c/k;
sget-object v0, Lkotlinx/coroutines/b/l;->bkv:[Lkotlinx/coroutines/b/l;
invoke-virtual {v0}, [Lkotlinx/coroutines/c/k;->clone()Ljava/lang/Object;
invoke-virtual {v0}, [Lkotlinx/coroutines/b/l;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lkotlinx/coroutines/c/k;
check-cast v0, [Lkotlinx/coroutines/b/l;
return-object v0
.end method

View file

@ -0,0 +1,131 @@
.class public final Lkotlinx/coroutines/b/m;
.super Ljava/lang/Object;
.source "Tasks.kt"
# static fields
.field public static final CORE_POOL_SIZE:I
.field public static final bd:I
.field public static bkA:Lkotlinx/coroutines/b/n;
.field public static final bkw:J
.field public static final bkx:I
.field public static final bky:I
.field public static final bkz:J
# direct methods
.method static constructor <clinit>()V
.locals 7
const-string v0, "kotlinx.coroutines.scheduler.resolution.ns"
const-wide/32 v1, 0x186a0
invoke-static {v0, v1, v2}, Lkotlinx/coroutines/internal/v;->e(Ljava/lang/String;J)J
move-result-wide v0
sput-wide v0, Lkotlinx/coroutines/b/m;->bkw:J
const/4 v0, 0x4
const/16 v1, 0x80
const/4 v2, 0x0
const-string v3, "kotlinx.coroutines.scheduler.offload.threshold"
const/16 v4, 0x60
invoke-static {v3, v4, v2, v1, v0}, Lkotlinx/coroutines/internal/v;->a(Ljava/lang/String;IIII)I
move-result v3
sput v3, Lkotlinx/coroutines/b/m;->bkx:I
const-string v3, "kotlinx.coroutines.scheduler.blocking.parallelism"
const/16 v4, 0x10
const/16 v5, 0xc
invoke-static {v3, v4, v2, v2, v5}, Lkotlinx/coroutines/internal/v;->a(Ljava/lang/String;IIII)I
move-result v3
sput v3, Lkotlinx/coroutines/b/m;->bky:I
invoke-static {}, Lkotlinx/coroutines/internal/w;->Bf()I
move-result v3
const/4 v4, 0x2
invoke-static {v3, v4}, Lkotlin/ranges/b;->ab(II)I
move-result v3
const-string v4, "kotlinx.coroutines.scheduler.core.pool.size"
const/4 v5, 0x1
const/16 v6, 0x8
invoke-static {v4, v3, v5, v2, v6}, Lkotlinx/coroutines/internal/v;->a(Ljava/lang/String;IIII)I
move-result v3
sput v3, Lkotlinx/coroutines/b/m;->CORE_POOL_SIZE:I
invoke-static {}, Lkotlinx/coroutines/internal/w;->Bf()I
move-result v3
mul-int/lit16 v3, v3, 0x80
sget v1, Lkotlinx/coroutines/b/m;->CORE_POOL_SIZE:I
const v4, 0x1ffffe
invoke-static {v3, v1, v4}, Lkotlin/ranges/b;->m(III)I
move-result v1
const-string v3, "kotlinx.coroutines.scheduler.max.pool.size"
invoke-static {v3, v1, v2, v4, v0}, Lkotlinx/coroutines/internal/v;->a(Ljava/lang/String;IIII)I
move-result v0
sput v0, Lkotlinx/coroutines/b/m;->bd:I
sget-object v0, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
const-string v1, "kotlinx.coroutines.scheduler.keep.alive.sec"
const-wide/16 v2, 0x5
invoke-static {v1, v2, v3}, Lkotlinx/coroutines/internal/v;->e(Ljava/lang/String;J)J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/TimeUnit;->toNanos(J)J
move-result-wide v0
sput-wide v0, Lkotlinx/coroutines/b/m;->bkz:J
sget-object v0, Lkotlinx/coroutines/b/g;->bko:Lkotlinx/coroutines/b/g;
check-cast v0, Lkotlinx/coroutines/b/n;
sput-object v0, Lkotlinx/coroutines/b/m;->bkA:Lkotlinx/coroutines/b/n;
return-void
.end method

View file

@ -1,4 +1,4 @@
.class public abstract Lkotlinx/coroutines/c/m;
.class public abstract Lkotlinx/coroutines/b/n;
.super Ljava/lang/Object;
.source "Tasks.kt"

View file

@ -1,22 +1,22 @@
.class public final Lkotlinx/coroutines/c/n;
.class public final Lkotlinx/coroutines/b/o;
.super Ljava/lang/Object;
.source "WorkQueue.kt"
# static fields
.field private static final bki:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
.field private static final bkC:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
.field static final bkj:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
.field static final bkD:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
.field static final bkk:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
.field static final bkE:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
# instance fields
.field private final bkh:Ljava/util/concurrent/atomic/AtomicReferenceArray;
.field private final bkB:Ljava/util/concurrent/atomic/AtomicReferenceArray;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReferenceArray<",
"Lkotlinx/coroutines/c/i;",
"Lkotlinx/coroutines/b/i;",
">;"
}
.end annotation
@ -33,7 +33,7 @@
.method static constructor <clinit>()V
.locals 3
const-class v0, Lkotlinx/coroutines/c/n;
const-class v0, Lkotlinx/coroutines/b/o;
const-class v1, Ljava/lang/Object;
@ -43,9 +43,9 @@
move-result-object v0
sput-object v0, Lkotlinx/coroutines/c/n;->bki:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
sput-object v0, Lkotlinx/coroutines/b/o;->bkC:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
const-class v0, Lkotlinx/coroutines/c/n;
const-class v0, Lkotlinx/coroutines/b/o;
const-string v1, "producerIndex"
@ -53,9 +53,9 @@
move-result-object v0
sput-object v0, Lkotlinx/coroutines/c/n;->bkj:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
sput-object v0, Lkotlinx/coroutines/b/o;->bkD:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
const-class v0, Lkotlinx/coroutines/c/n;
const-class v0, Lkotlinx/coroutines/b/o;
const-string v1, "consumerIndex"
@ -63,7 +63,7 @@
move-result-object v0
sput-object v0, Lkotlinx/coroutines/c/n;->bkk:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
sput-object v0, Lkotlinx/coroutines/b/o;->bkE:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
return-void
.end method
@ -79,25 +79,25 @@
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicReferenceArray;-><init>(I)V
iput-object v0, p0, Lkotlinx/coroutines/c/n;->bkh:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iput-object v0, p0, Lkotlinx/coroutines/b/o;->bkB:Ljava/util/concurrent/atomic/AtomicReferenceArray;
const/4 v0, 0x0
iput-object v0, p0, Lkotlinx/coroutines/c/n;->lastScheduledTask:Ljava/lang/Object;
iput-object v0, p0, Lkotlinx/coroutines/b/o;->lastScheduledTask:Ljava/lang/Object;
const/4 v0, 0x0
iput v0, p0, Lkotlinx/coroutines/c/n;->producerIndex:I
iput v0, p0, Lkotlinx/coroutines/b/o;->producerIndex:I
iput v0, p0, Lkotlinx/coroutines/c/n;->consumerIndex:I
iput v0, p0, Lkotlinx/coroutines/b/o;->consumerIndex:I
return-void
.end method
.method private final a(Lkotlinx/coroutines/c/e;)V
.method private final a(Lkotlinx/coroutines/b/e;)V
.locals 7
invoke-virtual {p0}, Lkotlinx/coroutines/c/n;->Bu()I
invoke-virtual {p0}, Lkotlinx/coroutines/b/o;->BF()I
move-result v0
@ -115,9 +115,9 @@
if-ge v1, v0, :cond_3
:cond_0
iget v2, p0, Lkotlinx/coroutines/c/n;->consumerIndex:I
iget v2, p0, Lkotlinx/coroutines/b/o;->consumerIndex:I
iget v3, p0, Lkotlinx/coroutines/c/n;->producerIndex:I
iget v3, p0, Lkotlinx/coroutines/b/o;->producerIndex:I
sub-int v3, v2, v3
@ -130,17 +130,17 @@
:cond_1
and-int/lit8 v3, v2, 0x7f
iget-object v5, p0, Lkotlinx/coroutines/c/n;->bkh:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iget-object v5, p0, Lkotlinx/coroutines/b/o;->bkB:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v5, v3}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->get(I)Ljava/lang/Object;
move-result-object v5
check-cast v5, Lkotlinx/coroutines/c/i;
check-cast v5, Lkotlinx/coroutines/b/i;
if-eqz v5, :cond_0
sget-object v5, Lkotlinx/coroutines/c/n;->bkk:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
sget-object v5, Lkotlinx/coroutines/b/o;->bkE:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
add-int/lit8 v6, v2, 0x1
@ -150,7 +150,7 @@
if-eqz v2, :cond_0
iget-object v2, p0, Lkotlinx/coroutines/c/n;->bkh:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iget-object v2, p0, Lkotlinx/coroutines/b/o;->bkB:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v2, v3, v4}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->getAndSet(ILjava/lang/Object;)Ljava/lang/Object;
@ -158,7 +158,7 @@
move-object v4, v2
check-cast v4, Lkotlinx/coroutines/c/i;
check-cast v4, Lkotlinx/coroutines/b/i;
:goto_1
if-nez v4, :cond_2
@ -166,7 +166,7 @@
return-void
:cond_2
invoke-static {p1, v4}, Lkotlinx/coroutines/c/n;->a(Lkotlinx/coroutines/c/e;Lkotlinx/coroutines/c/i;)V
invoke-static {p1, v4}, Lkotlinx/coroutines/b/o;->a(Lkotlinx/coroutines/b/e;Lkotlinx/coroutines/b/i;)V
add-int/lit8 v1, v1, 0x1
@ -176,10 +176,10 @@
return-void
.end method
.method private static a(Lkotlinx/coroutines/c/e;Lkotlinx/coroutines/c/i;)V
.method private static a(Lkotlinx/coroutines/b/e;Lkotlinx/coroutines/b/i;)V
.locals 0
invoke-virtual {p0, p1}, Lkotlinx/coroutines/c/e;->c(Lkotlinx/coroutines/c/i;)Z
invoke-virtual {p0, p1}, Lkotlinx/coroutines/b/e;->bt(Ljava/lang/Object;)Z
move-result p0
@ -203,12 +203,12 @@
throw p0
.end method
.method private final a(JLkotlinx/coroutines/c/n;Lkotlinx/coroutines/c/e;)Z
.method private final a(JLkotlinx/coroutines/b/o;Lkotlinx/coroutines/b/e;)Z
.locals 5
iget-object v0, p3, Lkotlinx/coroutines/c/n;->lastScheduledTask:Ljava/lang/Object;
iget-object v0, p3, Lkotlinx/coroutines/b/o;->lastScheduledTask:Ljava/lang/Object;
check-cast v0, Lkotlinx/coroutines/c/i;
check-cast v0, Lkotlinx/coroutines/b/i;
const/4 v1, 0x0
@ -217,11 +217,11 @@
return v1
:cond_0
iget-wide v2, v0, Lkotlinx/coroutines/c/i;->bjV:J
iget-wide v2, v0, Lkotlinx/coroutines/b/i;->bkq:J
sub-long/2addr p1, v2
sget-wide v2, Lkotlinx/coroutines/c/l;->bka:J
sget-wide v2, Lkotlinx/coroutines/b/m;->bkw:J
cmp-long v4, p1, v2
@ -230,7 +230,7 @@
return v1
:cond_1
sget-object p1, Lkotlinx/coroutines/c/n;->bki:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
sget-object p1, Lkotlinx/coroutines/b/o;->bkC:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
const/4 p2, 0x0
@ -240,7 +240,7 @@
if-eqz p1, :cond_2
invoke-virtual {p0, v0, p4}, Lkotlinx/coroutines/c/n;->a(Lkotlinx/coroutines/c/i;Lkotlinx/coroutines/c/e;)Z
invoke-virtual {p0, v0, p4}, Lkotlinx/coroutines/b/o;->a(Lkotlinx/coroutines/b/i;Lkotlinx/coroutines/b/e;)Z
const/4 p1, 0x1
@ -250,10 +250,10 @@
return v1
.end method
.method private final d(Lkotlinx/coroutines/c/i;)Z
.method private final c(Lkotlinx/coroutines/b/i;)Z
.locals 3
invoke-virtual {p0}, Lkotlinx/coroutines/c/n;->Bu()I
invoke-virtual {p0}, Lkotlinx/coroutines/b/o;->BF()I
move-result v0
@ -266,11 +266,11 @@
return v1
:cond_0
iget v0, p0, Lkotlinx/coroutines/c/n;->producerIndex:I
iget v0, p0, Lkotlinx/coroutines/b/o;->producerIndex:I
and-int/2addr v0, v2
iget-object v2, p0, Lkotlinx/coroutines/c/n;->bkh:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iget-object v2, p0, Lkotlinx/coroutines/b/o;->bkB:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v2, v0}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->get(I)Ljava/lang/Object;
@ -281,11 +281,11 @@
return v1
:cond_1
iget-object v1, p0, Lkotlinx/coroutines/c/n;->bkh:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iget-object v1, p0, Lkotlinx/coroutines/b/o;->bkB:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v1, v0, p1}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->lazySet(ILjava/lang/Object;)V
sget-object p1, Lkotlinx/coroutines/c/n;->bkj:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
sget-object p1, Lkotlinx/coroutines/b/o;->bkD:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
invoke-virtual {p1, p0}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->incrementAndGet(Ljava/lang/Object;)I
@ -296,22 +296,22 @@
# virtual methods
.method public final Bu()I
.method public final BF()I
.locals 2
iget v0, p0, Lkotlinx/coroutines/c/n;->producerIndex:I
iget v0, p0, Lkotlinx/coroutines/b/o;->producerIndex:I
iget v1, p0, Lkotlinx/coroutines/c/n;->consumerIndex:I
iget v1, p0, Lkotlinx/coroutines/b/o;->consumerIndex:I
sub-int/2addr v0, v1
return v0
.end method
.method public final Bv()Lkotlinx/coroutines/c/i;
.method public final BG()Lkotlinx/coroutines/b/i;
.locals 5
sget-object v0, Lkotlinx/coroutines/c/n;->bki:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
sget-object v0, Lkotlinx/coroutines/b/o;->bkC:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
const/4 v1, 0x0
@ -319,14 +319,14 @@
move-result-object v0
check-cast v0, Lkotlinx/coroutines/c/i;
check-cast v0, Lkotlinx/coroutines/b/i;
if-nez v0, :cond_2
:cond_0
iget v0, p0, Lkotlinx/coroutines/c/n;->consumerIndex:I
iget v0, p0, Lkotlinx/coroutines/b/o;->consumerIndex:I
iget v2, p0, Lkotlinx/coroutines/c/n;->producerIndex:I
iget v2, p0, Lkotlinx/coroutines/b/o;->producerIndex:I
sub-int v2, v0, v2
@ -337,17 +337,17 @@
:cond_1
and-int/lit8 v2, v0, 0x7f
iget-object v3, p0, Lkotlinx/coroutines/c/n;->bkh:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iget-object v3, p0, Lkotlinx/coroutines/b/o;->bkB:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v3, v2}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lkotlinx/coroutines/c/i;
check-cast v3, Lkotlinx/coroutines/b/i;
if-eqz v3, :cond_0
sget-object v3, Lkotlinx/coroutines/c/n;->bkk:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
sget-object v3, Lkotlinx/coroutines/b/o;->bkE:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
add-int/lit8 v4, v0, 0x1
@ -357,19 +357,19 @@
if-eqz v0, :cond_0
iget-object v0, p0, Lkotlinx/coroutines/c/n;->bkh:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iget-object v0, p0, Lkotlinx/coroutines/b/o;->bkB:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v0, v2, v1}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->getAndSet(ILjava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lkotlinx/coroutines/c/i;
check-cast v0, Lkotlinx/coroutines/b/i;
:cond_2
return-object v0
.end method
.method public final a(Lkotlinx/coroutines/c/i;Lkotlinx/coroutines/c/e;)Z
.method public final a(Lkotlinx/coroutines/b/i;Lkotlinx/coroutines/b/e;)Z
.locals 1
const-string v0, "task"
@ -380,13 +380,13 @@
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
sget-object v0, Lkotlinx/coroutines/c/n;->bki:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
sget-object v0, Lkotlinx/coroutines/b/o;->bkC:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invoke-virtual {v0, p0, p1}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->getAndSet(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lkotlinx/coroutines/c/i;
check-cast p1, Lkotlinx/coroutines/b/i;
if-nez p1, :cond_0
@ -395,14 +395,14 @@
return p1
:cond_0
invoke-virtual {p0, p1, p2}, Lkotlinx/coroutines/c/n;->b(Lkotlinx/coroutines/c/i;Lkotlinx/coroutines/c/e;)Z
invoke-virtual {p0, p1, p2}, Lkotlinx/coroutines/b/o;->b(Lkotlinx/coroutines/b/i;Lkotlinx/coroutines/b/e;)Z
move-result p1
return p1
.end method
.method public final a(Lkotlinx/coroutines/c/n;Lkotlinx/coroutines/c/e;)Z
.method public final a(Lkotlinx/coroutines/b/o;Lkotlinx/coroutines/b/e;)Z
.locals 18
move-object/from16 v0, p0
@ -419,19 +419,19 @@
invoke-static {v2, v3}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
sget-object v3, Lkotlinx/coroutines/c/l;->bke:Lkotlinx/coroutines/c/m;
sget-object v3, Lkotlinx/coroutines/b/m;->bkA:Lkotlinx/coroutines/b/n;
invoke-virtual {v3}, Lkotlinx/coroutines/c/m;->nanoTime()J
invoke-virtual {v3}, Lkotlinx/coroutines/b/n;->nanoTime()J
move-result-wide v3
invoke-virtual/range {p1 .. p1}, Lkotlinx/coroutines/c/n;->Bu()I
invoke-virtual/range {p1 .. p1}, Lkotlinx/coroutines/b/o;->BF()I
move-result v5
if-nez v5, :cond_0
invoke-direct {v0, v3, v4, v1, v2}, Lkotlinx/coroutines/c/n;->a(JLkotlinx/coroutines/c/n;Lkotlinx/coroutines/c/e;)Z
invoke-direct {v0, v3, v4, v1, v2}, Lkotlinx/coroutines/b/o;->a(JLkotlinx/coroutines/b/o;Lkotlinx/coroutines/b/e;)Z
move-result v1
@ -457,9 +457,9 @@
:cond_1
:goto_1
iget v10, v1, Lkotlinx/coroutines/c/n;->consumerIndex:I
iget v10, v1, Lkotlinx/coroutines/b/o;->consumerIndex:I
iget v11, v1, Lkotlinx/coroutines/c/n;->producerIndex:I
iget v11, v1, Lkotlinx/coroutines/b/o;->producerIndex:I
sub-int v11, v10, v11
@ -472,34 +472,34 @@
:cond_2
and-int/lit8 v11, v10, 0x7f
iget-object v13, v1, Lkotlinx/coroutines/c/n;->bkh:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iget-object v13, v1, Lkotlinx/coroutines/b/o;->bkB:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v13, v11}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->get(I)Ljava/lang/Object;
move-result-object v13
check-cast v13, Lkotlinx/coroutines/c/i;
check-cast v13, Lkotlinx/coroutines/b/i;
if-nez v13, :cond_3
goto :goto_1
:cond_3
iget-wide v13, v13, Lkotlinx/coroutines/c/i;->bjV:J
iget-wide v13, v13, Lkotlinx/coroutines/b/i;->bkq:J
sub-long v13, v3, v13
sget-wide v15, Lkotlinx/coroutines/c/l;->bka:J
sget-wide v15, Lkotlinx/coroutines/b/m;->bkw:J
cmp-long v17, v13, v15
if-gez v17, :cond_5
invoke-virtual/range {p1 .. p1}, Lkotlinx/coroutines/c/n;->Bu()I
invoke-virtual/range {p1 .. p1}, Lkotlinx/coroutines/b/o;->BF()I
move-result v13
sget v14, Lkotlinx/coroutines/c/l;->bkb:I
sget v14, Lkotlinx/coroutines/b/m;->bkx:I
if-le v13, v14, :cond_4
@ -520,7 +520,7 @@
goto :goto_4
:cond_6
sget-object v13, Lkotlinx/coroutines/c/n;->bkk:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
sget-object v13, Lkotlinx/coroutines/b/o;->bkE:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
add-int/lit8 v14, v10, 0x1
@ -530,7 +530,7 @@
if-eqz v10, :cond_1
iget-object v10, v1, Lkotlinx/coroutines/c/n;->bkh:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iget-object v10, v1, Lkotlinx/coroutines/b/o;->bkB:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v10, v11, v12}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->getAndSet(ILjava/lang/Object;)Ljava/lang/Object;
@ -538,7 +538,7 @@
move-object v12, v10
check-cast v12, Lkotlinx/coroutines/c/i;
check-cast v12, Lkotlinx/coroutines/b/i;
:goto_4
if-nez v12, :cond_7
@ -546,7 +546,7 @@
return v9
:cond_7
invoke-virtual {v0, v12, v2}, Lkotlinx/coroutines/c/n;->a(Lkotlinx/coroutines/c/i;Lkotlinx/coroutines/c/e;)Z
invoke-virtual {v0, v12, v2}, Lkotlinx/coroutines/b/o;->a(Lkotlinx/coroutines/b/i;Lkotlinx/coroutines/b/e;)Z
add-int/lit8 v8, v8, 0x1
@ -558,14 +558,14 @@
return v9
.end method
.method public final b(Lkotlinx/coroutines/c/e;)V
.method public final b(Lkotlinx/coroutines/b/e;)V
.locals 5
const-string v0, "globalQueue"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
sget-object v0, Lkotlinx/coroutines/c/n;->bki:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
sget-object v0, Lkotlinx/coroutines/b/o;->bkC:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
const/4 v1, 0x0
@ -573,17 +573,17 @@
move-result-object v0
check-cast v0, Lkotlinx/coroutines/c/i;
check-cast v0, Lkotlinx/coroutines/b/i;
if-eqz v0, :cond_0
invoke-static {p1, v0}, Lkotlinx/coroutines/c/n;->a(Lkotlinx/coroutines/c/e;Lkotlinx/coroutines/c/i;)V
invoke-static {p1, v0}, Lkotlinx/coroutines/b/o;->a(Lkotlinx/coroutines/b/e;Lkotlinx/coroutines/b/i;)V
:cond_0
:goto_0
iget v0, p0, Lkotlinx/coroutines/c/n;->consumerIndex:I
iget v0, p0, Lkotlinx/coroutines/b/o;->consumerIndex:I
iget v2, p0, Lkotlinx/coroutines/c/n;->producerIndex:I
iget v2, p0, Lkotlinx/coroutines/b/o;->producerIndex:I
sub-int v2, v0, v2
@ -596,17 +596,17 @@
:cond_1
and-int/lit8 v2, v0, 0x7f
iget-object v3, p0, Lkotlinx/coroutines/c/n;->bkh:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iget-object v3, p0, Lkotlinx/coroutines/b/o;->bkB:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v3, v2}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lkotlinx/coroutines/c/i;
check-cast v3, Lkotlinx/coroutines/b/i;
if-eqz v3, :cond_0
sget-object v3, Lkotlinx/coroutines/c/n;->bkk:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
sget-object v3, Lkotlinx/coroutines/b/o;->bkE:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
add-int/lit8 v4, v0, 0x1
@ -616,13 +616,13 @@
if-eqz v0, :cond_0
iget-object v0, p0, Lkotlinx/coroutines/c/n;->bkh:Ljava/util/concurrent/atomic/AtomicReferenceArray;
iget-object v0, p0, Lkotlinx/coroutines/b/o;->bkB:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v0, v2, v1}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->getAndSet(ILjava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lkotlinx/coroutines/c/i;
check-cast v0, Lkotlinx/coroutines/b/i;
:goto_1
if-nez v0, :cond_2
@ -630,12 +630,12 @@
return-void
:cond_2
invoke-static {p1, v0}, Lkotlinx/coroutines/c/n;->a(Lkotlinx/coroutines/c/e;Lkotlinx/coroutines/c/i;)V
invoke-static {p1, v0}, Lkotlinx/coroutines/b/o;->a(Lkotlinx/coroutines/b/e;Lkotlinx/coroutines/b/i;)V
goto :goto_0
.end method
.method public final b(Lkotlinx/coroutines/c/i;Lkotlinx/coroutines/c/e;)Z
.method public final b(Lkotlinx/coroutines/b/i;Lkotlinx/coroutines/b/e;)Z
.locals 2
const-string v0, "task"
@ -649,13 +649,13 @@
const/4 v0, 0x1
:goto_0
invoke-direct {p0, p1}, Lkotlinx/coroutines/c/n;->d(Lkotlinx/coroutines/c/i;)Z
invoke-direct {p0, p1}, Lkotlinx/coroutines/b/o;->c(Lkotlinx/coroutines/b/i;)Z
move-result v1
if-nez v1, :cond_0
invoke-direct {p0, p2}, Lkotlinx/coroutines/c/n;->a(Lkotlinx/coroutines/c/e;)V
invoke-direct {p0, p2}, Lkotlinx/coroutines/b/o;->a(Lkotlinx/coroutines/b/e;)V
const/4 v0, 0x0

View file

@ -1,19 +1,15 @@
.class public final Lkotlinx/coroutines/ba;
.super Lkotlinx/coroutines/bh;
.source "Builders.common.kt"
.class final Lkotlinx/coroutines/ba;
.super Lkotlinx/coroutines/f;
.source "CancellableContinuationImpl.kt"
# instance fields
.field private final bij:Lkotlin/jvm/functions/Function2;
.field private final bik:Lkotlin/jvm/functions/Function1;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/functions/Function2<",
"Lkotlinx/coroutines/x;",
"Lkotlin/c/c<",
"-",
"Lkotlin/jvm/functions/Function1<",
"Ljava/lang/Throwable;",
"Lkotlin/Unit;",
">;",
"Ljava/lang/Object;",
">;"
}
.end annotation
@ -21,54 +17,88 @@
# direct methods
.method public constructor <init>(Lkotlin/c/e;Lkotlin/jvm/functions/Function2;)V
.method public constructor <init>(Lkotlin/jvm/functions/Function1;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlin/c/e;",
"Lkotlin/jvm/functions/Function2<",
"-",
"Lkotlinx/coroutines/x;",
"-",
"Lkotlin/c/c<",
"Lkotlin/jvm/functions/Function1<",
"-",
"Ljava/lang/Throwable;",
"Lkotlin/Unit;",
">;+",
"Ljava/lang/Object;",
">;)V"
}
.end annotation
const-string v0, "parentContext"
const-string v0, "handler"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "block"
invoke-direct {p0}, Lkotlinx/coroutines/f;-><init>()V
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lkotlinx/coroutines/bh;-><init>(Lkotlin/c/e;Z)V
iput-object p2, p0, Lkotlinx/coroutines/ba;->bij:Lkotlin/jvm/functions/Function2;
iput-object p1, p0, Lkotlinx/coroutines/ba;->bik:Lkotlin/jvm/functions/Function1;
return-void
.end method
# virtual methods
.method protected final onStart()V
.locals 2
.method public final bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
iget-object v0, p0, Lkotlinx/coroutines/ba;->bij:Lkotlin/jvm/functions/Function2;
check-cast p1, Ljava/lang/Throwable;
move-object v1, p0
invoke-virtual {p0, p1}, Lkotlinx/coroutines/ba;->invoke(Ljava/lang/Throwable;)V
check-cast v1, Lkotlin/c/c;
sget-object p1, Lkotlin/Unit;->beH:Lkotlin/Unit;
invoke-static {v0, p0, v1}, Lkotlinx/coroutines/b/a;->b(Lkotlin/jvm/functions/Function2;Ljava/lang/Object;Lkotlin/c/c;)V
return-object p1
.end method
.method public final invoke(Ljava/lang/Throwable;)V
.locals 1
iget-object v0, p0, Lkotlinx/coroutines/ba;->bik:Lkotlin/jvm/functions/Function1;
invoke-interface {v0, p1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method
.method public final toString()Ljava/lang/String;
.locals 2
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "InvokeOnCancel["
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v1, p0, Lkotlinx/coroutines/ba;->bik:Lkotlin/jvm/functions/Function1;
invoke-static {v1}, Lkotlinx/coroutines/ag;->bi(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x40
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-static {p0}, Lkotlinx/coroutines/ag;->bh(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x5d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -1,13 +1,156 @@
.class public abstract Lkotlinx/coroutines/bb;
.super Lkotlinx/coroutines/s;
.source "MainCoroutineDispatcher.kt"
.class final Lkotlinx/coroutines/bb;
.super Lkotlinx/coroutines/be;
.source "JobSupport.kt"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/be<",
"Lkotlinx/coroutines/Job;",
">;"
}
.end annotation
# static fields
.field private static final bil:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
# instance fields
.field private volatile _invoked:I
.field private final bik:Lkotlin/jvm/functions/Function1;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/functions/Function1<",
"Ljava/lang/Throwable;",
"Lkotlin/Unit;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 0
.method static constructor <clinit>()V
.locals 2
invoke-direct {p0}, Lkotlinx/coroutines/s;-><init>()V
const-class v0, Lkotlinx/coroutines/bb;
const-string v1, "_invoked"
invoke-static {v0, v1}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
move-result-object v0
sput-object v0, Lkotlinx/coroutines/bb;->bil:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
return-void
.end method
.method public constructor <init>(Lkotlinx/coroutines/Job;Lkotlin/jvm/functions/Function1;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlinx/coroutines/Job;",
"Lkotlin/jvm/functions/Function1<",
"-",
"Ljava/lang/Throwable;",
"Lkotlin/Unit;",
">;)V"
}
.end annotation
const-string v0, "job"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "handler"
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0, p1}, Lkotlinx/coroutines/be;-><init>(Lkotlinx/coroutines/Job;)V
iput-object p2, p0, Lkotlinx/coroutines/bb;->bik:Lkotlin/jvm/functions/Function1;
const/4 p1, 0x0
iput p1, p0, Lkotlinx/coroutines/bb;->_invoked:I
return-void
.end method
# virtual methods
.method public final bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
check-cast p1, Ljava/lang/Throwable;
invoke-virtual {p0, p1}, Lkotlinx/coroutines/bb;->invoke(Ljava/lang/Throwable;)V
sget-object p1, Lkotlin/Unit;->beH:Lkotlin/Unit;
return-object p1
.end method
.method public final invoke(Ljava/lang/Throwable;)V
.locals 3
sget-object v0, Lkotlinx/coroutines/bb;->bil:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
const/4 v1, 0x0
const/4 v2, 0x1
invoke-virtual {v0, p0, v1, v2}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->compareAndSet(Ljava/lang/Object;II)Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lkotlinx/coroutines/bb;->bik:Lkotlin/jvm/functions/Function1;
invoke-interface {v0, p1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
:cond_0
return-void
.end method
.method public final toString()Ljava/lang/String;
.locals 2
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "InvokeOnCancelling["
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {p0}, Lkotlinx/coroutines/ag;->bi(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x40
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-static {p0}, Lkotlinx/coroutines/ag;->bh(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x5d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -1,144 +1,115 @@
.class public final Lkotlinx/coroutines/bc;
.super Lkotlinx/coroutines/a/g;
.class final Lkotlinx/coroutines/bc;
.super Lkotlinx/coroutines/bh;
.source "JobSupport.kt"
# interfaces
.implements Lkotlinx/coroutines/ap;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/bh<",
"Lkotlinx/coroutines/Job;",
">;"
}
.end annotation
# instance fields
.field private final bik:Lkotlin/jvm/functions/Function1;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/functions/Function1<",
"Ljava/lang/Throwable;",
"Lkotlin/Unit;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 0
.method public constructor <init>(Lkotlinx/coroutines/Job;Lkotlin/jvm/functions/Function1;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlinx/coroutines/Job;",
"Lkotlin/jvm/functions/Function1<",
"-",
"Ljava/lang/Throwable;",
"Lkotlin/Unit;",
">;)V"
}
.end annotation
invoke-direct {p0}, Lkotlinx/coroutines/a/g;-><init>()V
const-string v0, "job"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "handler"
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0, p1}, Lkotlinx/coroutines/bh;-><init>(Lkotlinx/coroutines/Job;)V
iput-object p2, p0, Lkotlinx/coroutines/bc;->bik:Lkotlin/jvm/functions/Function1;
return-void
.end method
# virtual methods
.method public final Ap()Lkotlinx/coroutines/bc;
.method public final bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
return-object p0
.end method
check-cast p1, Ljava/lang/Throwable;
.method public final getString(Ljava/lang/String;)Ljava/lang/String;
.locals 5
invoke-virtual {p0, p1}, Lkotlinx/coroutines/bc;->invoke(Ljava/lang/Throwable;)V
const-string v0, "state"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "List{"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, "}["
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lkotlinx/coroutines/a/g;->AO()Ljava/lang/Object;
move-result-object p1
if-eqz p1, :cond_3
check-cast p1, Lkotlinx/coroutines/a/i;
const/4 v1, 0x1
const/4 v2, 0x1
:goto_0
move-object v3, p0
check-cast v3, Lkotlinx/coroutines/a/g;
invoke-static {p1, v3}, Lkotlin/jvm/internal/j;->n(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v3
xor-int/2addr v3, v1
if-eqz v3, :cond_2
instance-of v3, p1, Lkotlinx/coroutines/ax;
if-eqz v3, :cond_1
move-object v3, p1
check-cast v3, Lkotlinx/coroutines/ax;
if-eqz v2, :cond_0
const/4 v2, 0x0
goto :goto_1
:cond_0
const-string v4, ", "
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:goto_1
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
:cond_1
invoke-virtual {p1}, Lkotlinx/coroutines/a/i;->AP()Lkotlinx/coroutines/a/i;
move-result-object p1
goto :goto_0
:cond_2
const-string p1, "]"
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v0, "StringBuilder().apply(builderAction).toString()"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
sget-object p1, Lkotlin/Unit;->beH:Lkotlin/Unit;
return-object p1
.end method
:cond_3
new-instance p1, Lkotlin/r;
.method public final invoke(Ljava/lang/Throwable;)V
.locals 1
const-string v0, "null cannot be cast to non-null type kotlinx.coroutines.internal.Node /* = kotlinx.coroutines.internal.LockFreeLinkedListNode */"
iget-object v0, p0, Lkotlinx/coroutines/bc;->bik:Lkotlin/jvm/functions/Function1;
invoke-direct {p1, v0}, Lkotlin/r;-><init>(Ljava/lang/String;)V
throw p1
invoke-interface {v0, p1}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method
.method public final isActive()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 1
.locals 2
const-string v0, "Active"
new-instance v0, Ljava/lang/StringBuilder;
invoke-virtual {p0, v0}, Lkotlinx/coroutines/bc;->getString(Ljava/lang/String;)Ljava/lang/String;
const-string v1, "InvokeOnCompletion["
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {p0}, Lkotlinx/coroutines/ag;->bi(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x40
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-static {p0}, Lkotlinx/coroutines/ag;->bh(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x5d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0

View file

@ -1,61 +1,254 @@
.class public final Lkotlinx/coroutines/bd;
.super Ljava/lang/Object;
.source "Job.kt"
.super Ljava/util/concurrent/CancellationException;
.source "Exceptions.kt"
# interfaces
.implements Lkotlinx/coroutines/ai;
.implements Lkotlinx/coroutines/i;
.implements Lkotlinx/coroutines/w;
# static fields
.field public static final bik:Lkotlinx/coroutines/bd;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/CancellationException;",
"Lkotlinx/coroutines/w<",
"Lkotlinx/coroutines/bd;",
">;"
}
.end annotation
# instance fields
.field public final job:Lkotlinx/coroutines/Job;
# direct methods
.method static constructor <clinit>()V
.method public constructor <init>(Ljava/lang/String;Ljava/lang/Throwable;Lkotlinx/coroutines/Job;)V
.locals 1
new-instance v0, Lkotlinx/coroutines/bd;
const-string v0, "message"
invoke-direct {v0}, Lkotlinx/coroutines/bd;-><init>()V
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/bd;->bik:Lkotlinx/coroutines/bd;
const-string v0, "job"
return-void
.end method
invoke-static {p3, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
.method private constructor <init>()V
.locals 0
invoke-direct {p0, p1}, Ljava/util/concurrent/CancellationException;-><init>(Ljava/lang/String;)V
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p3, p0, Lkotlinx/coroutines/bd;->job:Lkotlinx/coroutines/Job;
if-eqz p2, :cond_0
invoke-virtual {p0, p2}, Lkotlinx/coroutines/bd;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
:cond_0
return-void
.end method
# virtual methods
.method public final dispose()V
.locals 0
.method public final synthetic Ag()Ljava/lang/Throwable;
.locals 4
return-void
sget-boolean v0, Lkotlinx/coroutines/ag;->DEBUG:Z
if-eqz v0, :cond_1
new-instance v0, Lkotlinx/coroutines/bd;
invoke-virtual {p0}, Lkotlinx/coroutines/bd;->getMessage()Ljava/lang/String;
move-result-object v1
if-nez v1, :cond_0
invoke-static {}, Lkotlin/jvm/internal/j;->zH()V
:cond_0
move-object v2, p0
check-cast v2, Ljava/lang/Throwable;
iget-object v3, p0, Lkotlinx/coroutines/bd;->job:Lkotlinx/coroutines/Job;
invoke-direct {v0, v1, v2, v3}, Lkotlinx/coroutines/bd;-><init>(Ljava/lang/String;Ljava/lang/Throwable;Lkotlinx/coroutines/Job;)V
goto :goto_0
:cond_1
const/4 v0, 0x0
:goto_0
check-cast v0, Ljava/lang/Throwable;
return-object v0
.end method
.method public final s(Ljava/lang/Throwable;)Z
.locals 1
.method public final equals(Ljava/lang/Object;)Z
.locals 2
const-string v0, "cause"
move-object v0, p0
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
check-cast v0, Lkotlinx/coroutines/bd;
if-eq p1, v0, :cond_1
instance-of v0, p1, Lkotlinx/coroutines/bd;
if-eqz v0, :cond_0
check-cast p1, Lkotlinx/coroutines/bd;
invoke-virtual {p1}, Lkotlinx/coroutines/bd;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0}, Lkotlinx/coroutines/bd;->getMessage()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lkotlin/jvm/internal/j;->n(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p1, Lkotlinx/coroutines/bd;->job:Lkotlinx/coroutines/Job;
iget-object v1, p0, Lkotlinx/coroutines/bd;->job:Lkotlinx/coroutines/Job;
invoke-static {v0, v1}, Lkotlin/jvm/internal/j;->n(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
invoke-virtual {p1}, Lkotlinx/coroutines/bd;->getCause()Ljava/lang/Throwable;
move-result-object p1
invoke-virtual {p0}, Lkotlinx/coroutines/bd;->getCause()Ljava/lang/Throwable;
move-result-object v0
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->n(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
goto :goto_0
:cond_0
const/4 p1, 0x0
return p1
:cond_1
:goto_0
const/4 p1, 0x1
return p1
.end method
.method public final toString()Ljava/lang/String;
.locals 1
.method public final fillInStackTrace()Ljava/lang/Throwable;
.locals 2
const-string v0, "NonDisposableHandle"
sget-boolean v0, Lkotlinx/coroutines/ag;->DEBUG:Z
if-eqz v0, :cond_0
invoke-super {p0}, Ljava/util/concurrent/CancellationException;->fillInStackTrace()Ljava/lang/Throwable;
move-result-object v0
const-string v1, "super.fillInStackTrace()"
invoke-static {v0, v1}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
return-object v0
:cond_0
move-object v0, p0
check-cast v0, Ljava/lang/Throwable;
return-object v0
.end method
.method public final hashCode()I
.locals 2
invoke-virtual {p0}, Lkotlinx/coroutines/bd;->getMessage()Ljava/lang/String;
move-result-object v0
if-nez v0, :cond_0
invoke-static {}, Lkotlin/jvm/internal/j;->zH()V
:cond_0
invoke-virtual {v0}, Ljava/lang/String;->hashCode()I
move-result v0
mul-int/lit8 v0, v0, 0x1f
iget-object v1, p0, Lkotlinx/coroutines/bd;->job:Lkotlinx/coroutines/Job;
invoke-virtual {v1}, Ljava/lang/Object;->hashCode()I
move-result v1
add-int/2addr v0, v1
mul-int/lit8 v0, v0, 0x1f
invoke-virtual {p0}, Lkotlinx/coroutines/bd;->getCause()Ljava/lang/Throwable;
move-result-object v1
if-eqz v1, :cond_1
invoke-virtual {v1}, Ljava/lang/Throwable;->hashCode()I
move-result v1
goto :goto_0
:cond_1
const/4 v1, 0x0
:goto_0
add-int/2addr v0, v1
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-super {p0}, Ljava/util/concurrent/CancellationException;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "; job="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lkotlinx/coroutines/bd;->job:Lkotlinx/coroutines/Job;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -1,3 +1,34 @@
.class public interface abstract Lkotlinx/coroutines/be;
.super Ljava/lang/Object;
.source "AbstractContinuation.kt"
.class public abstract Lkotlinx/coroutines/be;
.super Lkotlinx/coroutines/bh;
.source "JobSupport.kt"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<J::",
"Lkotlinx/coroutines/Job;",
">",
"Lkotlinx/coroutines/bh<",
"TJ;>;"
}
.end annotation
# 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}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0, p1}, Lkotlinx/coroutines/bh;-><init>(Lkotlinx/coroutines/Job;)V
return-void
.end method

View file

@ -1,11 +1,38 @@
.class public interface abstract Lkotlinx/coroutines/bf;
.super Ljava/lang/Object;
.source "Job.kt"
.class public final Lkotlinx/coroutines/bf;
.super Lkotlinx/coroutines/bi;
.source "JobSupport.kt"
# interfaces
.implements Lkotlinx/coroutines/as;
.implements Lkotlinx/coroutines/p;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/Job;)V
.locals 1
const/4 v0, 0x1
invoke-direct {p0, v0}, Lkotlinx/coroutines/bi;-><init>(Z)V
invoke-virtual {p0, p1}, Lkotlinx/coroutines/bf;->c(Lkotlinx/coroutines/Job;)V
return-void
.end method
# virtual methods
.method public abstract AA()Ljava/lang/Throwable;
.method public final AD()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method protected final AE()Z
.locals 1
const/4 v0, 0x0
return v0
.end method

View file

@ -1,274 +1,19 @@
.class public final Lkotlinx/coroutines/bg;
.class public final synthetic Lkotlinx/coroutines/bg;
.super Ljava/lang/Object;
.source "ResumeMode.kt"
.source "Job.kt"
# direct methods
.method public static final a(Lkotlin/c/c;Ljava/lang/Object;I)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlin/c/c<",
"-TT;>;TT;I)V"
}
.end annotation
const-string v0, "receiver$0"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
if-eqz p2, :cond_4
const/4 v0, 0x1
if-eq p2, v0, :cond_3
const/4 v0, 0x2
if-eq p2, v0, :cond_2
const/4 v0, 0x3
if-eq p2, v0, :cond_1
const/4 p0, 0x4
if-ne p2, p0, :cond_0
return-void
:cond_0
invoke-static {p2}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p0
const-string p1, "Invalid mode "
invoke-virtual {p1, p0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
new-instance p1, Ljava/lang/IllegalStateException;
invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
check-cast p1, Ljava/lang/Throwable;
throw p1
:cond_1
check-cast p0, Lkotlinx/coroutines/ae;
invoke-virtual {p0}, Lkotlinx/coroutines/ae;->getContext()Lkotlin/c/e;
move-result-object p2
iget-object v0, p0, Lkotlinx/coroutines/ae;->bhH:Ljava/lang/Object;
invoke-static {p2, v0}, Lkotlinx/coroutines/a/q;->b(Lkotlin/c/e;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_start_0
iget-object p0, p0, Lkotlinx/coroutines/ae;->bhJ:Lkotlin/c/c;
sget-object v1, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
sget-object p0, Lkotlin/Unit;->beH:Lkotlin/Unit;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-static {p2, v0}, Lkotlinx/coroutines/a/q;->a(Lkotlin/c/e;Ljava/lang/Object;)V
return-void
:catchall_0
move-exception p0
invoke-static {p2, v0}, Lkotlinx/coroutines/a/q;->a(Lkotlin/c/e;Ljava/lang/Object;)V
throw p0
:cond_2
invoke-static {p0, p1}, Lkotlinx/coroutines/af;->b(Lkotlin/c/c;Ljava/lang/Object;)V
return-void
:cond_3
invoke-static {p0, p1}, Lkotlinx/coroutines/af;->a(Lkotlin/c/c;Ljava/lang/Object;)V
return-void
:cond_4
sget-object p2, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
return-void
.end method
.method public static final a(Lkotlin/c/c;Ljava/lang/Throwable;I)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlin/c/c<",
"-TT;>;",
"Ljava/lang/Throwable;",
"I)V"
}
.end annotation
const-string v0, "receiver$0"
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "exception"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
if-eqz p2, :cond_4
const/4 v0, 0x1
if-eq p2, v0, :cond_3
const/4 v0, 0x2
if-eq p2, v0, :cond_2
const/4 v0, 0x3
if-eq p2, v0, :cond_1
const/4 p0, 0x4
if-ne p2, p0, :cond_0
return-void
:cond_0
invoke-static {p2}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p0
const-string p1, "Invalid mode "
invoke-virtual {p1, p0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
new-instance p1, Ljava/lang/IllegalStateException;
invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
check-cast p1, Ljava/lang/Throwable;
throw p1
:cond_1
check-cast p0, Lkotlinx/coroutines/ae;
invoke-virtual {p0}, Lkotlinx/coroutines/ae;->getContext()Lkotlin/c/e;
move-result-object p2
iget-object v0, p0, Lkotlinx/coroutines/ae;->bhH:Ljava/lang/Object;
invoke-static {p2, v0}, Lkotlinx/coroutines/a/q;->b(Lkotlin/c/e;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_start_0
iget-object p0, p0, Lkotlinx/coroutines/ae;->bhJ:Lkotlin/c/c;
sget-object v1, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object p1
invoke-static {p1}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
sget-object p0, Lkotlin/Unit;->beH:Lkotlin/Unit;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-static {p2, v0}, Lkotlinx/coroutines/a/q;->a(Lkotlin/c/e;Ljava/lang/Object;)V
return-void
:catchall_0
move-exception p0
invoke-static {p2, v0}, Lkotlinx/coroutines/a/q;->a(Lkotlin/c/e;Ljava/lang/Object;)V
throw p0
:cond_2
invoke-static {p0, p1}, Lkotlinx/coroutines/af;->b(Lkotlin/c/c;Ljava/lang/Throwable;)V
return-void
:cond_3
invoke-static {p0, p1}, Lkotlinx/coroutines/af;->a(Lkotlin/c/c;Ljava/lang/Throwable;)V
return-void
:cond_4
sget-object p2, Lkotlin/m;->beE:Lkotlin/m$a;
invoke-static {p1}, Lkotlin/n;->n(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object p1
invoke-static {p1}, Lkotlin/m;->aT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-interface {p0, p1}, Lkotlin/c/c;->resumeWith(Ljava/lang/Object;)V
return-void
.end method
.method public static final cZ(I)Z
.method public static final b(Lkotlinx/coroutines/Job;)Lkotlinx/coroutines/p;
.locals 1
const/4 v0, 0x1
new-instance p0, Lkotlinx/coroutines/bf;
if-ne p0, v0, :cond_0
const/4 v0, 0x0
return v0
invoke-direct {p0, v0}, Lkotlinx/coroutines/bf;-><init>(Lkotlinx/coroutines/Job;)V
:cond_0
const/4 p0, 0x0
check-cast p0, Lkotlinx/coroutines/p;
return p0
return-object p0
.end method

View file

@ -1,51 +1,138 @@
.class public Lkotlinx/coroutines/bh;
.super Lkotlinx/coroutines/c;
.source "Builders.common.kt"
.class public abstract Lkotlinx/coroutines/bh;
.super Lkotlinx/coroutines/u;
.source "JobSupport.kt"
# interfaces
.implements Lkotlinx/coroutines/ap;
.implements Lkotlinx/coroutines/ay;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/c<",
"Lkotlin/Unit;",
">;"
"<J::",
"Lkotlinx/coroutines/Job;",
">",
"Lkotlinx/coroutines/u;",
"Lkotlinx/coroutines/ap;",
"Lkotlinx/coroutines/ay;"
}
.end annotation
# direct methods
.method public constructor <init>(Lkotlin/c/e;Z)V
.locals 1
# instance fields
.field public final job:Lkotlinx/coroutines/Job;
.annotation system Ldalvik/annotation/Signature;
value = {
"TJ;"
}
.end annotation
.end field
const-string v0, "parentContext"
# 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}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0, p1, p2}, Lkotlinx/coroutines/c;-><init>(Lkotlin/c/e;Z)V
invoke-direct {p0}, Lkotlinx/coroutines/u;-><init>()V
iput-object p1, p0, Lkotlinx/coroutines/bh;->job:Lkotlinx/coroutines/Job;
return-void
.end method
# virtual methods
.method protected final Av()Z
.method public final Aq()Lkotlinx/coroutines/bm;
.locals 1
const/4 v0, 0x0
return-object v0
.end method
.method public final dispose()V
.locals 4
iget-object v0, p0, Lkotlinx/coroutines/bh;->job:Lkotlinx/coroutines/Job;
if-eqz v0, :cond_4
check-cast v0, Lkotlinx/coroutines/bi;
const-string v1, "node"
invoke-static {p0, v1}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
:cond_0
invoke-virtual {v0}, Lkotlinx/coroutines/bi;->AF()Ljava/lang/Object;
move-result-object v1
instance-of v2, v1, Lkotlinx/coroutines/bh;
if-eqz v2, :cond_2
if-ne v1, p0, :cond_1
sget-object v2, Lkotlinx/coroutines/bi;->bhi:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invoke-static {}, Lkotlinx/coroutines/bj;->AL()Lkotlinx/coroutines/ar;
move-result-object v3
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
:cond_1
return-void
:cond_2
instance-of v0, v1, Lkotlinx/coroutines/ay;
if-eqz v0, :cond_3
check-cast v1, Lkotlinx/coroutines/ay;
invoke-interface {v1}, Lkotlinx/coroutines/ay;->Aq()Lkotlinx/coroutines/bm;
move-result-object v0
if-eqz v0, :cond_3
invoke-virtual {p0}, Lkotlinx/coroutines/bh;->AT()Z
:cond_3
return-void
:cond_4
new-instance v0, Lkotlin/r;
const-string v1, "null cannot be cast to non-null type kotlinx.coroutines.JobSupport"
invoke-direct {v0, v1}, Lkotlin/r;-><init>(Ljava/lang/String;)V
throw v0
return-void
.end method
.method public final isActive()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method protected final t(Ljava/lang/Throwable;)V
.locals 1
const-string v0, "exception"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
iget-object v0, p0, Lkotlinx/coroutines/bh;->bhk:Lkotlin/c/e;
invoke-static {v0, p1}, Lkotlinx/coroutines/u;->b(Lkotlin/c/e;Ljava/lang/Throwable;)V
return-void
.end method

View file

@ -1,11 +1,11 @@
.class final Lkotlinx/coroutines/ay$a;
.super Lkotlinx/coroutines/ax;
.class final Lkotlinx/coroutines/bi$a;
.super Lkotlinx/coroutines/bh;
.source "JobSupport.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/ay;
value = Lkotlinx/coroutines/bi;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
@ -15,25 +15,25 @@
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/ax<",
"Lkotlinx/coroutines/as;",
"Lkotlinx/coroutines/bh<",
"Lkotlinx/coroutines/Job;",
">;"
}
.end annotation
# instance fields
.field private final bhZ:Lkotlinx/coroutines/ay;
.field private final bio:Lkotlinx/coroutines/bi;
.field private final bia:Lkotlinx/coroutines/ay$b;
.field private final bip:Lkotlinx/coroutines/bi$b;
.field private final bib:Lkotlinx/coroutines/j;
.field private final biq:Lkotlinx/coroutines/m;
.field private final bic:Ljava/lang/Object;
.field private final bir:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/ay;Lkotlinx/coroutines/ay$b;Lkotlinx/coroutines/j;Ljava/lang/Object;)V
.method public constructor <init>(Lkotlinx/coroutines/bi;Lkotlinx/coroutines/bi$b;Lkotlinx/coroutines/m;Ljava/lang/Object;)V
.locals 1
const-string v0, "parent"
@ -48,19 +48,19 @@
invoke-static {p3, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
iget-object v0, p3, Lkotlinx/coroutines/j;->bhm:Lkotlinx/coroutines/k;
iget-object v0, p3, Lkotlinx/coroutines/m;->bhm:Lkotlinx/coroutines/n;
check-cast v0, Lkotlinx/coroutines/as;
check-cast v0, Lkotlinx/coroutines/Job;
invoke-direct {p0, v0}, Lkotlinx/coroutines/ax;-><init>(Lkotlinx/coroutines/as;)V
invoke-direct {p0, v0}, Lkotlinx/coroutines/bh;-><init>(Lkotlinx/coroutines/Job;)V
iput-object p1, p0, Lkotlinx/coroutines/ay$a;->bhZ:Lkotlinx/coroutines/ay;
iput-object p1, p0, Lkotlinx/coroutines/bi$a;->bio:Lkotlinx/coroutines/bi;
iput-object p2, p0, Lkotlinx/coroutines/ay$a;->bia:Lkotlinx/coroutines/ay$b;
iput-object p2, p0, Lkotlinx/coroutines/bi$a;->bip:Lkotlinx/coroutines/bi$b;
iput-object p3, p0, Lkotlinx/coroutines/ay$a;->bib:Lkotlinx/coroutines/j;
iput-object p3, p0, Lkotlinx/coroutines/bi$a;->biq:Lkotlinx/coroutines/m;
iput-object p4, p0, Lkotlinx/coroutines/ay$a;->bic:Ljava/lang/Object;
iput-object p4, p0, Lkotlinx/coroutines/bi$a;->bir:Ljava/lang/Object;
return-void
.end method
@ -72,7 +72,7 @@
check-cast p1, Ljava/lang/Throwable;
invoke-virtual {p0, p1}, Lkotlinx/coroutines/ay$a;->invoke(Ljava/lang/Throwable;)V
invoke-virtual {p0, p1}, Lkotlinx/coroutines/bi$a;->invoke(Ljava/lang/Throwable;)V
sget-object p1, Lkotlin/Unit;->beH:Lkotlin/Unit;
@ -82,15 +82,15 @@
.method public final invoke(Ljava/lang/Throwable;)V
.locals 3
iget-object p1, p0, Lkotlinx/coroutines/ay$a;->bhZ:Lkotlinx/coroutines/ay;
iget-object p1, p0, Lkotlinx/coroutines/bi$a;->bio:Lkotlinx/coroutines/bi;
iget-object v0, p0, Lkotlinx/coroutines/ay$a;->bia:Lkotlinx/coroutines/ay$b;
iget-object v0, p0, Lkotlinx/coroutines/bi$a;->bip:Lkotlinx/coroutines/bi$b;
iget-object v1, p0, Lkotlinx/coroutines/ay$a;->bib:Lkotlinx/coroutines/j;
iget-object v1, p0, Lkotlinx/coroutines/bi$a;->biq:Lkotlinx/coroutines/m;
iget-object v2, p0, Lkotlinx/coroutines/ay$a;->bic:Ljava/lang/Object;
iget-object v2, p0, Lkotlinx/coroutines/bi$a;->bir:Ljava/lang/Object;
invoke-static {p1, v0, v1, v2}, Lkotlinx/coroutines/ay;->a(Lkotlinx/coroutines/ay;Lkotlinx/coroutines/ay$b;Lkotlinx/coroutines/j;Ljava/lang/Object;)V
invoke-static {p1, v0, v1, v2}, Lkotlinx/coroutines/bi;->a(Lkotlinx/coroutines/bi;Lkotlinx/coroutines/bi$b;Lkotlinx/coroutines/m;Ljava/lang/Object;)V
return-void
.end method
@ -104,7 +104,7 @@
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v1, p0, Lkotlinx/coroutines/ay$a;->bib:Lkotlinx/coroutines/j;
iget-object v1, p0, Lkotlinx/coroutines/bi$a;->biq:Lkotlinx/coroutines/m;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
@ -112,7 +112,7 @@
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lkotlinx/coroutines/ay$a;->bic:Ljava/lang/Object;
iget-object v1, p0, Lkotlinx/coroutines/bi$a;->bir:Ljava/lang/Object;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

View file

@ -1,14 +1,14 @@
.class final Lkotlinx/coroutines/ay$b;
.class final Lkotlinx/coroutines/bi$b;
.super Ljava/lang/Object;
.source "JobSupport.kt"
# interfaces
.implements Lkotlinx/coroutines/ap;
.implements Lkotlinx/coroutines/ay;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/ay;
value = Lkotlinx/coroutines/bi;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
@ -20,7 +20,7 @@
# instance fields
.field volatile _exceptionsHolder:Ljava/lang/Object;
.field final bhU:Lkotlinx/coroutines/bc;
.field final bii:Lkotlinx/coroutines/bm;
.field public volatile isCompleting:Z
@ -28,7 +28,7 @@
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/bc;Ljava/lang/Throwable;)V
.method public constructor <init>(Lkotlinx/coroutines/bm;Ljava/lang/Throwable;)V
.locals 1
const-string v0, "list"
@ -37,18 +37,18 @@
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lkotlinx/coroutines/ay$b;->bhU:Lkotlinx/coroutines/bc;
iput-object p1, p0, Lkotlinx/coroutines/bi$b;->bii:Lkotlinx/coroutines/bm;
const/4 p1, 0x0
iput-boolean p1, p0, Lkotlinx/coroutines/ay$b;->isCompleting:Z
iput-boolean p1, p0, Lkotlinx/coroutines/bi$b;->isCompleting:Z
iput-object p2, p0, Lkotlinx/coroutines/ay$b;->rootCause:Ljava/lang/Throwable;
iput-object p2, p0, Lkotlinx/coroutines/bi$b;->rootCause:Ljava/lang/Throwable;
return-void
.end method
.method static AC()Ljava/util/ArrayList;
.method static AJ()Ljava/util/ArrayList;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
@ -70,10 +70,10 @@
# virtual methods
.method public final AB()Z
.method public final AI()Z
.locals 1
iget-object v0, p0, Lkotlinx/coroutines/ay$b;->rootCause:Ljava/lang/Throwable;
iget-object v0, p0, Lkotlinx/coroutines/bi$b;->rootCause:Ljava/lang/Throwable;
if-eqz v0, :cond_0
@ -87,10 +87,10 @@
return v0
.end method
.method public final Ap()Lkotlinx/coroutines/bc;
.method public final Aq()Lkotlinx/coroutines/bm;
.locals 1
iget-object v0, p0, Lkotlinx/coroutines/ay$b;->bhU:Lkotlinx/coroutines/bc;
iget-object v0, p0, Lkotlinx/coroutines/bi$b;->bii:Lkotlinx/coroutines/bm;
return-object v0
.end method
@ -98,7 +98,7 @@
.method public final isActive()Z
.locals 1
iget-object v0, p0, Lkotlinx/coroutines/ay$b;->rootCause:Ljava/lang/Throwable;
iget-object v0, p0, Lkotlinx/coroutines/bi$b;->rootCause:Ljava/lang/Throwable;
if-nez v0, :cond_0
@ -115,9 +115,9 @@
.method public final isSealed()Z
.locals 2
iget-object v0, p0, Lkotlinx/coroutines/ay$b;->_exceptionsHolder:Ljava/lang/Object;
iget-object v0, p0, Lkotlinx/coroutines/bi$b;->_exceptionsHolder:Ljava/lang/Object;
invoke-static {}, Lkotlinx/coroutines/az;->AD()Lkotlinx/coroutines/a/o;
invoke-static {}, Lkotlinx/coroutines/bj;->AK()Lkotlinx/coroutines/internal/u;
move-result-object v1
@ -142,7 +142,7 @@
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Lkotlinx/coroutines/ay$b;->AB()Z
invoke-virtual {p0}, Lkotlinx/coroutines/bi$b;->AI()Z
move-result v1
@ -152,7 +152,7 @@
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-boolean v1, p0, Lkotlinx/coroutines/ay$b;->isCompleting:Z
iget-boolean v1, p0, Lkotlinx/coroutines/bi$b;->isCompleting:Z
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
@ -160,7 +160,7 @@
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lkotlinx/coroutines/ay$b;->rootCause:Ljava/lang/Throwable;
iget-object v1, p0, Lkotlinx/coroutines/bi$b;->rootCause:Ljava/lang/Throwable;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
@ -168,7 +168,7 @@
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lkotlinx/coroutines/ay$b;->_exceptionsHolder:Ljava/lang/Object;
iget-object v1, p0, Lkotlinx/coroutines/bi$b;->_exceptionsHolder:Ljava/lang/Object;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
@ -176,7 +176,7 @@
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lkotlinx/coroutines/ay$b;->bhU:Lkotlinx/coroutines/bc;
iget-object v1, p0, Lkotlinx/coroutines/bi$b;->bii:Lkotlinx/coroutines/bm;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
@ -191,18 +191,18 @@
return-object v0
.end method
.method public final v(Ljava/lang/Throwable;)V
.method public final u(Ljava/lang/Throwable;)V
.locals 2
const-string v0, "exception"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
iget-object v0, p0, Lkotlinx/coroutines/ay$b;->rootCause:Ljava/lang/Throwable;
iget-object v0, p0, Lkotlinx/coroutines/bi$b;->rootCause:Ljava/lang/Throwable;
if-nez v0, :cond_0
iput-object p1, p0, Lkotlinx/coroutines/ay$b;->rootCause:Ljava/lang/Throwable;
iput-object p1, p0, Lkotlinx/coroutines/bi$b;->rootCause:Ljava/lang/Throwable;
return-void
@ -212,11 +212,11 @@
return-void
:cond_1
iget-object v0, p0, Lkotlinx/coroutines/ay$b;->_exceptionsHolder:Ljava/lang/Object;
iget-object v0, p0, Lkotlinx/coroutines/bi$b;->_exceptionsHolder:Ljava/lang/Object;
if-nez v0, :cond_2
iput-object p1, p0, Lkotlinx/coroutines/ay$b;->_exceptionsHolder:Ljava/lang/Object;
iput-object p1, p0, Lkotlinx/coroutines/bi$b;->_exceptionsHolder:Ljava/lang/Object;
return-void
@ -230,7 +230,7 @@
return-void
:cond_3
invoke-static {}, Lkotlinx/coroutines/ay$b;->AC()Ljava/util/ArrayList;
invoke-static {}, Lkotlinx/coroutines/bi$b;->AJ()Ljava/util/ArrayList;
move-result-object v1
@ -238,16 +238,14 @@
invoke-virtual {v1, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
iput-object v1, p0, Lkotlinx/coroutines/ay$b;->_exceptionsHolder:Ljava/lang/Object;
iput-object v1, p0, Lkotlinx/coroutines/bi$b;->_exceptionsHolder:Ljava/lang/Object;
return-void
:cond_4
instance-of v1, v0, Ljava/util/ArrayList;
if-eqz v1, :cond_6
if-eqz v0, :cond_5
if-eqz v1, :cond_5
check-cast v0, Ljava/util/ArrayList;
@ -256,15 +254,6 @@
return-void
:cond_5
new-instance p1, Lkotlin/r;
const-string v0, "null cannot be cast to non-null type kotlin.collections.ArrayList<kotlin.Throwable> /* = java.util.ArrayList<kotlin.Throwable> */"
invoke-direct {p1, v0}, Lkotlin/r;-><init>(Ljava/lang/String;)V
throw p1
:cond_6
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1

View file

@ -0,0 +1,81 @@
.class public final Lkotlinx/coroutines/bi$c;
.super Lkotlinx/coroutines/internal/k$a;
.source "LockFreeLinkedList.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lkotlinx/coroutines/bi;->a(Ljava/lang/Object;Lkotlinx/coroutines/bm;Lkotlinx/coroutines/bh;)Z
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
# instance fields
.field final synthetic bis:Lkotlinx/coroutines/internal/k;
.field final synthetic bit:Lkotlinx/coroutines/bi;
.field final synthetic biu:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/internal/k;Lkotlinx/coroutines/internal/k;Lkotlinx/coroutines/bi;Ljava/lang/Object;)V
.locals 0
iput-object p1, p0, Lkotlinx/coroutines/bi$c;->bis:Lkotlinx/coroutines/internal/k;
iput-object p3, p0, Lkotlinx/coroutines/bi$c;->bit:Lkotlinx/coroutines/bi;
iput-object p4, p0, Lkotlinx/coroutines/bi$c;->biu:Ljava/lang/Object;
invoke-direct {p0, p2}, Lkotlinx/coroutines/internal/k$a;-><init>(Lkotlinx/coroutines/internal/k;)V
return-void
.end method
# virtual methods
.method public final synthetic bp(Ljava/lang/Object;)Ljava/lang/Object;
.locals 1
check-cast p1, Lkotlinx/coroutines/internal/k;
const-string v0, "affected"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
iget-object p1, p0, Lkotlinx/coroutines/bi$c;->bit:Lkotlinx/coroutines/bi;
invoke-virtual {p1}, Lkotlinx/coroutines/bi;->AF()Ljava/lang/Object;
move-result-object p1
iget-object v0, p0, Lkotlinx/coroutines/bi$c;->biu:Ljava/lang/Object;
if-ne p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
if-eqz p1, :cond_1
const/4 p1, 0x0
return-object p1
:cond_1
invoke-static {}, Lkotlinx/coroutines/internal/j;->AU()Ljava/lang/Object;
move-result-object p1
return-object p1
.end method

File diff suppressed because it is too large Load diff

View file

@ -1,17 +1,86 @@
.class public interface abstract Lkotlinx/coroutines/bj;
.class public final Lkotlinx/coroutines/bj;
.super Ljava/lang/Object;
.source "TimeSource.kt"
.source "JobSupport.kt"
# virtual methods
.method public abstract l(Ljava/lang/Runnable;)Ljava/lang/Runnable;
# static fields
.field private static final biv:Lkotlinx/coroutines/internal/u;
.field private static final biw:Lkotlinx/coroutines/ar;
.field private static final bix:Lkotlinx/coroutines/ar;
# direct methods
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lkotlinx/coroutines/internal/u;
const-string v1, "SEALED"
invoke-direct {v0, v1}, Lkotlinx/coroutines/internal/u;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/bj;->biv:Lkotlinx/coroutines/internal/u;
new-instance v0, Lkotlinx/coroutines/ar;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lkotlinx/coroutines/ar;-><init>(Z)V
sput-object v0, Lkotlinx/coroutines/bj;->biw:Lkotlinx/coroutines/ar;
new-instance v0, Lkotlinx/coroutines/ar;
const/4 v1, 0x1
invoke-direct {v0, v1}, Lkotlinx/coroutines/ar;-><init>(Z)V
sput-object v0, Lkotlinx/coroutines/bj;->bix:Lkotlinx/coroutines/ar;
return-void
.end method
.method public abstract nanoTime()J
.method public static final synthetic AK()Lkotlinx/coroutines/internal/u;
.locals 1
sget-object v0, Lkotlinx/coroutines/bj;->biv:Lkotlinx/coroutines/internal/u;
return-object v0
.end method
.method public abstract parkNanos(Ljava/lang/Object;J)V
.method public static final synthetic AL()Lkotlinx/coroutines/ar;
.locals 1
sget-object v0, Lkotlinx/coroutines/bj;->bix:Lkotlinx/coroutines/ar;
return-object v0
.end method
.method public abstract unpark(Ljava/lang/Thread;)V
.method public static final synthetic AM()Lkotlinx/coroutines/ar;
.locals 1
sget-object v0, Lkotlinx/coroutines/bj;->biw:Lkotlinx/coroutines/ar;
return-object v0
.end method
.method public static final synthetic bq(Ljava/lang/Object;)Ljava/lang/Object;
.locals 1
instance-of v0, p0, Lkotlinx/coroutines/ay;
if-eqz v0, :cond_0
new-instance v0, Lkotlinx/coroutines/az;
check-cast p0, Lkotlinx/coroutines/ay;
invoke-direct {v0, p0}, Lkotlinx/coroutines/az;-><init>(Lkotlinx/coroutines/ay;)V
return-object v0
:cond_0
return-object p0
.end method

View file

@ -1,29 +1,97 @@
.class public final Lkotlinx/coroutines/bk;
.super Ljava/lang/Object;
.source "TimeSource.kt"
.class final Lkotlinx/coroutines/bk;
.super Lkotlinx/coroutines/br;
.source "Builders.common.kt"
# static fields
.field private static bil:Lkotlinx/coroutines/bj;
# instance fields
.field private biy:Lkotlin/jvm/functions/Function2;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/functions/Function2<",
"-",
"Lkotlinx/coroutines/CoroutineScope;",
"-",
"Lkotlin/coroutines/Continuation<",
"-",
"Lkotlin/Unit;",
">;+",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.method public constructor <init>(Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlin/coroutines/CoroutineContext;",
"Lkotlin/jvm/functions/Function2<",
"-",
"Lkotlinx/coroutines/CoroutineScope;",
"-",
"Lkotlin/coroutines/Continuation<",
"-",
"Lkotlin/Unit;",
">;+",
"Ljava/lang/Object;",
">;)V"
}
.end annotation
sget-object v0, Lkotlinx/coroutines/ac;->bhG:Lkotlinx/coroutines/ac;
const-string v0, "parentContext"
check-cast v0, Lkotlinx/coroutines/bj;
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/bk;->bil:Lkotlinx/coroutines/bj;
const-string v0, "block"
invoke-static {p2, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lkotlinx/coroutines/br;-><init>(Lkotlin/coroutines/CoroutineContext;Z)V
iput-object p2, p0, Lkotlinx/coroutines/bk;->biy:Lkotlin/jvm/functions/Function2;
return-void
.end method
.method public static final AG()Lkotlinx/coroutines/bj;
.locals 1
sget-object v0, Lkotlinx/coroutines/bk;->bil:Lkotlinx/coroutines/bj;
# virtual methods
.method protected final onStart()V
.locals 2
return-object v0
iget-object v0, p0, Lkotlinx/coroutines/bk;->biy:Lkotlin/jvm/functions/Function2;
if-eqz v0, :cond_0
const/4 v1, 0x0
iput-object v1, p0, Lkotlinx/coroutines/bk;->biy:Lkotlin/jvm/functions/Function2;
move-object v1, p0
check-cast v1, Lkotlin/coroutines/Continuation;
invoke-static {v0, p0, v1}, Lkotlinx/coroutines/a/a;->b(Lkotlin/jvm/functions/Function2;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)V
return-void
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Already started"
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
check-cast v0, Ljava/lang/Throwable;
throw v0
.end method

View file

@ -1,71 +1,13 @@
.class public final Lkotlinx/coroutines/bl;
.super Lkotlinx/coroutines/s;
.source "Unconfined.kt"
# static fields
.field public static final bim:Lkotlinx/coroutines/bl;
.class public abstract Lkotlinx/coroutines/bl;
.super Lkotlinx/coroutines/y;
.source "MainCoroutineDispatcher.kt"
# direct methods
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lkotlinx/coroutines/bl;
invoke-direct {v0}, Lkotlinx/coroutines/bl;-><init>()V
sput-object v0, Lkotlinx/coroutines/bl;->bim:Lkotlinx/coroutines/bl;
return-void
.end method
.method private constructor <init>()V
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Lkotlinx/coroutines/s;-><init>()V
invoke-direct {p0}, Lkotlinx/coroutines/y;-><init>()V
return-void
.end method
# virtual methods
.method public final a(Lkotlin/c/e;Ljava/lang/Runnable;)V
.locals 1
const-string v0, "context"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const-string p1, "block"
invoke-static {p2, p1}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
new-instance p1, Ljava/lang/UnsupportedOperationException;
invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
check-cast p1, Ljava/lang/Throwable;
throw p1
.end method
.method public final b(Lkotlin/c/e;)Z
.locals 1
const-string v0, "context"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const/4 p1, 0x0
return p1
.end method
.method public final toString()Ljava/lang/String;
.locals 1
const-string v0, "Unconfined"
return-object v0
.end method

View file

@ -1,186 +0,0 @@
.class public final Lkotlinx/coroutines/bm$a;
.super Ljava/lang/Object;
.source "Dispatched.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/bm;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "a"
.end annotation
# instance fields
.field public bhP:Z
.field public final bip:Lkotlinx/coroutines/a/b;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/a/b<",
"Ljava/lang/Runnable;",
">;"
}
.end annotation
.end field
# direct methods
.method public synthetic constructor <init>()V
.locals 2
new-instance v0, Lkotlinx/coroutines/a/b;
invoke-direct {v0}, Lkotlinx/coroutines/a/b;-><init>()V
const/4 v1, 0x0
invoke-direct {p0, v1, v0}, Lkotlinx/coroutines/bm$a;-><init>(ZLkotlinx/coroutines/a/b;)V
return-void
.end method
.method private constructor <init>(ZLkotlinx/coroutines/a/b;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(Z",
"Lkotlinx/coroutines/a/b<",
"Ljava/lang/Runnable;",
">;)V"
}
.end annotation
const-string p1, "queue"
invoke-static {p2, p1}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 p1, 0x0
iput-boolean p1, p0, Lkotlinx/coroutines/bm$a;->bhP:Z
iput-object p2, p0, Lkotlinx/coroutines/bm$a;->bip:Lkotlinx/coroutines/a/b;
return-void
.end method
# virtual methods
.method public final equals(Ljava/lang/Object;)Z
.locals 4
const/4 v0, 0x1
if-eq p0, p1, :cond_2
instance-of v1, p1, Lkotlinx/coroutines/bm$a;
const/4 v2, 0x0
if-eqz v1, :cond_1
check-cast p1, Lkotlinx/coroutines/bm$a;
iget-boolean v1, p0, Lkotlinx/coroutines/bm$a;->bhP:Z
iget-boolean v3, p1, Lkotlinx/coroutines/bm$a;->bhP:Z
if-ne v1, v3, :cond_0
const/4 v1, 0x1
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
if-eqz v1, :cond_1
iget-object v1, p0, Lkotlinx/coroutines/bm$a;->bip:Lkotlinx/coroutines/a/b;
iget-object p1, p1, Lkotlinx/coroutines/bm$a;->bip:Lkotlinx/coroutines/a/b;
invoke-static {v1, p1}, Lkotlin/jvm/internal/j;->n(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
goto :goto_1
:cond_1
return v2
:cond_2
:goto_1
return v0
.end method
.method public final hashCode()I
.locals 2
iget-boolean v0, p0, Lkotlinx/coroutines/bm$a;->bhP:Z
if-eqz v0, :cond_0
const/4 v0, 0x1
:cond_0
mul-int/lit8 v0, v0, 0x1f
iget-object v1, p0, Lkotlinx/coroutines/bm$a;->bip:Lkotlinx/coroutines/a/b;
if-eqz v1, :cond_1
invoke-virtual {v1}, Ljava/lang/Object;->hashCode()I
move-result v1
goto :goto_0
:cond_1
const/4 v1, 0x0
:goto_0
add-int/2addr v0, v1
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 2
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "EventLoop(isActive="
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-boolean v1, p0, Lkotlinx/coroutines/bm$a;->bhP:Z
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v1, ", queue="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lkotlinx/coroutines/bm$a;->bip:Lkotlinx/coroutines/a/b;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, ")"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -1,66 +0,0 @@
.class final Lkotlinx/coroutines/bm$b;
.super Lkotlin/jvm/internal/k;
.source "Dispatched.kt"
# interfaces
.implements Lkotlin/jvm/functions/Function0;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/bm;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x18
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/internal/k;",
"Lkotlin/jvm/functions/Function0<",
"Lkotlinx/coroutines/bm$a;",
">;"
}
.end annotation
# static fields
.field public static final biq:Lkotlinx/coroutines/bm$b;
# direct methods
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lkotlinx/coroutines/bm$b;
invoke-direct {v0}, Lkotlinx/coroutines/bm$b;-><init>()V
sput-object v0, Lkotlinx/coroutines/bm$b;->biq:Lkotlinx/coroutines/bm$b;
return-void
.end method
.method constructor <init>()V
.locals 1
const/4 v0, 0x0
invoke-direct {p0, v0}, Lkotlin/jvm/internal/k;-><init>(I)V
return-void
.end method
# virtual methods
.method public final synthetic invoke()Ljava/lang/Object;
.locals 1
new-instance v0, Lkotlinx/coroutines/bm$a;
invoke-direct {v0}, Lkotlinx/coroutines/bm$a;-><init>()V
return-object v0
.end method

View file

@ -1,169 +1,146 @@
.class public final Lkotlinx/coroutines/bm;
.super Ljava/lang/Object;
.source "Dispatched.kt"
.super Lkotlinx/coroutines/internal/i;
.source "JobSupport.kt"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlinx/coroutines/bm$a;
}
.end annotation
# static fields
.field public static final bin:Lkotlinx/coroutines/a/r;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/a/r<",
"Lkotlinx/coroutines/bm$a;",
">;"
}
.end annotation
.end field
.field public static final bio:Lkotlinx/coroutines/bm;
# interfaces
.implements Lkotlinx/coroutines/ay;
# direct methods
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lkotlinx/coroutines/bm;
invoke-direct {v0}, Lkotlinx/coroutines/bm;-><init>()V
sput-object v0, Lkotlinx/coroutines/bm;->bio:Lkotlinx/coroutines/bm;
new-instance v0, Lkotlinx/coroutines/a/r;
sget-object v1, Lkotlinx/coroutines/bm$b;->biq:Lkotlinx/coroutines/bm$b;
check-cast v1, Lkotlin/jvm/functions/Function0;
invoke-direct {v0, v1}, Lkotlinx/coroutines/a/r;-><init>(Lkotlin/jvm/functions/Function0;)V
sput-object v0, Lkotlinx/coroutines/bm;->bin:Lkotlinx/coroutines/a/r;
return-void
.end method
.method private constructor <init>()V
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-direct {p0}, Lkotlinx/coroutines/internal/i;-><init>()V
return-void
.end method
.method public static b(Lkotlinx/coroutines/ag;)Z
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlinx/coroutines/ag<",
"*>;)Z"
}
.end annotation
const-string v0, "task"
# virtual methods
.method public final Aq()Lkotlinx/coroutines/bm;
.locals 0
invoke-static {p0, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
return-object p0
.end method
sget-object v0, Lkotlinx/coroutines/bm;->bin:Lkotlinx/coroutines/a/r;
.method public final getString(Ljava/lang/String;)Ljava/lang/String;
.locals 5
invoke-virtual {v0}, Lkotlinx/coroutines/a/r;->get()Ljava/lang/Object;
const-string v0, "state"
move-result-object v0
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
check-cast v0, Lkotlinx/coroutines/bm$a;
new-instance v0, Ljava/lang/StringBuilder;
iget-boolean v1, v0, Lkotlinx/coroutines/bm$a;->bhP:Z
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "List{"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, "}["
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lkotlinx/coroutines/internal/i;->AW()Ljava/lang/Object;
move-result-object p1
if-eqz p1, :cond_3
check-cast p1, Lkotlinx/coroutines/internal/k;
const/4 v1, 0x1
const/4 v2, 0x1
if-eqz v1, :cond_0
iget-object v0, v0, Lkotlinx/coroutines/bm$a;->bip:Lkotlinx/coroutines/a/b;
invoke-virtual {v0, p0}, Lkotlinx/coroutines/a/b;->addLast(Ljava/lang/Object;)V
return v2
:cond_0
const-string v1, "eventLoop"
invoke-static {v0, v1}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
const/4 v1, 0x0
:try_start_0
iput-boolean v2, v0, Lkotlinx/coroutines/bm$a;->bhP:Z
invoke-interface {p0}, Lkotlinx/coroutines/ag;->zV()Lkotlin/c/c;
move-result-object v2
const/4 v3, 0x3
invoke-static {p0, v2, v3}, Lkotlinx/coroutines/af;->a(Lkotlinx/coroutines/ag;Lkotlin/c/c;I)V
:goto_0
iget-object p0, v0, Lkotlinx/coroutines/bm$a;->bip:Lkotlinx/coroutines/a/b;
move-object v3, p0
invoke-virtual {p0}, Lkotlinx/coroutines/a/b;->AI()Ljava/lang/Object;
check-cast v3, Lkotlinx/coroutines/internal/i;
move-result-object p0
invoke-static {p1, v3}, Lkotlin/jvm/internal/j;->n(Ljava/lang/Object;Ljava/lang/Object;)Z
check-cast p0, Ljava/lang/Runnable;
:try_end_0
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
move-result v3
if-nez p0, :cond_1
xor-int/2addr v3, v1
iput-boolean v1, v0, Lkotlinx/coroutines/bm$a;->bhP:Z
if-eqz v3, :cond_2
return v1
instance-of v3, p1, Lkotlinx/coroutines/bh;
:cond_1
:try_start_1
invoke-interface {p0}, Ljava/lang/Runnable;->run()V
:try_end_1
.catch Ljava/lang/Throwable; {:try_start_1 .. :try_end_1} :catch_0
.catchall {:try_start_1 .. :try_end_1} :catchall_0
if-eqz v3, :cond_1
goto :goto_0
move-object v3, p1
:catchall_0
move-exception p0
check-cast v3, Lkotlinx/coroutines/bh;
if-eqz v2, :cond_0
const/4 v2, 0x0
goto :goto_1
:catch_0
move-exception p0
:cond_0
const-string v4, ", "
:try_start_2
iget-object v2, v0, Lkotlinx/coroutines/bm$a;->bip:Lkotlinx/coroutines/a/b;
invoke-virtual {v2}, Lkotlinx/coroutines/a/b;->clear()V
new-instance v2, Lkotlinx/coroutines/ad;
const-string v3, "Unexpected exception in undispatched event loop, clearing pending tasks"
invoke-direct {v2, v3, p0}, Lkotlinx/coroutines/ad;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
check-cast v2, Ljava/lang/Throwable;
throw v2
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:goto_1
iput-boolean v1, v0, Lkotlinx/coroutines/bm$a;->bhP:Z
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
throw p0
:cond_1
invoke-virtual {p1}, Lkotlinx/coroutines/internal/k;->AX()Lkotlinx/coroutines/internal/k;
move-result-object p1
goto :goto_0
:cond_2
const-string p1, "]"
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v0, "StringBuilder().apply(builderAction).toString()"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->g(Ljava/lang/Object;Ljava/lang/String;)V
return-object p1
:cond_3
new-instance p1, Lkotlin/r;
const-string v0, "null cannot be cast to non-null type kotlinx.coroutines.internal.Node /* = kotlinx.coroutines.internal.LockFreeLinkedListNode */"
invoke-direct {p1, v0}, Lkotlin/r;-><init>(Ljava/lang/String;)V
throw p1
return-void
.end method
.method public final isActive()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 1
const-string v0, "Active"
invoke-virtual {p0, v0}, Lkotlinx/coroutines/bm;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,61 @@
.class public final Lkotlinx/coroutines/bn;
.super Ljava/lang/Object;
.source "Job.kt"
# interfaces
.implements Lkotlinx/coroutines/ap;
.implements Lkotlinx/coroutines/l;
# static fields
.field public static final biz:Lkotlinx/coroutines/bn;
# direct methods
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lkotlinx/coroutines/bn;
invoke-direct {v0}, Lkotlinx/coroutines/bn;-><init>()V
sput-object v0, Lkotlinx/coroutines/bn;->biz:Lkotlinx/coroutines/bn;
return-void
.end method
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final dispose()V
.locals 0
return-void
.end method
.method public final r(Ljava/lang/Throwable;)Z
.locals 1
const-string v0, "cause"
invoke-static {p1, v0}, Lkotlin/jvm/internal/j;->h(Ljava/lang/Object;Ljava/lang/String;)V
const/4 p1, 0x0
return p1
.end method
.method public final toString()Ljava/lang/String;
.locals 1
const-string v0, "NonDisposableHandle"
return-object v0
.end method

View file

@ -0,0 +1,3 @@
.class public interface abstract Lkotlinx/coroutines/bo;
.super Ljava/lang/Object;
.source "CancellableContinuationImpl.kt"

Some files were not shown because too many files have changed in this diff Show more