This commit is contained in:
2022-06-10 21:38:30 +09:00
commit 27f5152838
51323 changed files with 12934539 additions and 0 deletions
@@ -0,0 +1,100 @@
.class final Lkotlinx/coroutines/sync/MutexImpl$LockCont$tryResumeLockWaiter$1;
.super Lkotlin/jvm/internal/Lambda;
.source "Mutex.kt"
# interfaces
.implements Lej/l;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lkotlinx/coroutines/sync/MutexImpl$LockCont;->h0()Ljava/lang/Object;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/internal/Lambda;",
"Lej/l<",
"Ljava/lang/Throwable;",
"Lkotlin/d1;",
">;"
}
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u000e\n\u0002\u0010\u0003\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0003\u0010\u0005\u001a\u00020\u00022\u0006\u0010\u0001\u001a\u00020\u0000H\n\u00a2\u0006\u0004\u0008\u0003\u0010\u0004"
}
d2 = {
"",
"it",
"Lkotlin/d1;",
"invoke",
"(Ljava/lang/Throwable;)V",
"<anonymous>"
}
k = 0x3
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final synthetic this$0:Lkotlinx/coroutines/sync/MutexImpl$LockCont;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/sync/MutexImpl$LockCont;)V
.locals 0
iput-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$LockCont$tryResumeLockWaiter$1;->this$0:Lkotlinx/coroutines/sync/MutexImpl$LockCont;
const/4 p1, 0x1
invoke-direct {p0, p1}, Lkotlin/jvm/internal/Lambda;-><init>(I)V
return-void
.end method
# virtual methods
.method public bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/lang/Throwable;
invoke-virtual {p0, p1}, Lkotlinx/coroutines/sync/MutexImpl$LockCont$tryResumeLockWaiter$1;->invoke(Ljava/lang/Throwable;)V
sget-object p1, Lkotlin/d1;->a:Lkotlin/d1;
return-object p1
.end method
.method public final invoke(Ljava/lang/Throwable;)V
.locals 1
.param p1 # Ljava/lang/Throwable;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 2
iget-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$LockCont$tryResumeLockWaiter$1;->this$0:Lkotlinx/coroutines/sync/MutexImpl$LockCont;
iget-object v0, p1, Lkotlinx/coroutines/sync/MutexImpl$LockCont;->g:Lkotlinx/coroutines/sync/MutexImpl;
iget-object p1, p1, Lkotlinx/coroutines/sync/MutexImpl$a;->d:Ljava/lang/Object;
invoke-virtual {v0, p1}, Lkotlinx/coroutines/sync/MutexImpl;->d(Ljava/lang/Object;)V
return-void
.end method
@@ -0,0 +1,180 @@
.class public final Lkotlinx/coroutines/sync/MutexImpl$LockCont;
.super Lkotlinx/coroutines/sync/MutexImpl$a;
.source "Mutex.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/sync/MutexImpl;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "LockCont"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000(\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0007\u0008\u0082\u0004\u0018\u00002\u00060\u0001R\u00020\u0002B\u001f\u0012\u0008\u0010\u000e\u001a\u0004\u0018\u00010\u0003\u0012\u000c\u0010\r\u001a\u0008\u0012\u0004\u0012\u00020\u00060\n\u00a2\u0006\u0004\u0008\u000f\u0010\u0010J\n\u0010\u0004\u001a\u0004\u0018\u00010\u0003H\u0016J\u0010\u0010\u0007\u001a\u00020\u00062\u0006\u0010\u0005\u001a\u00020\u0003H\u0016J\u0008\u0010\t\u001a\u00020\u0008H\u0016R\u001a\u0010\r\u001a\u0008\u0012\u0004\u0012\u00020\u00060\n8\u0006X\u0087\u0004\u00a2\u0006\u0006\n\u0004\u0008\u000b\u0010\u000c\u00a8\u0006\u0011"
}
d2 = {
"Lkotlinx/coroutines/sync/MutexImpl$LockCont;",
"Lkotlinx/coroutines/sync/MutexImpl$a;",
"Lkotlinx/coroutines/sync/MutexImpl;",
"",
"h0",
"token",
"Lkotlin/d1;",
"g0",
"",
"toString",
"Lkotlinx/coroutines/n;",
"f",
"Lkotlinx/coroutines/n;",
"cont",
"owner",
"<init>",
"(Lkotlinx/coroutines/sync/MutexImpl;Ljava/lang/Object;Lkotlinx/coroutines/n;)V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final f:Lkotlinx/coroutines/n;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/n<",
"Lkotlin/d1;",
">;"
}
.end annotation
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
.field public final synthetic g:Lkotlinx/coroutines/sync/MutexImpl;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/sync/MutexImpl;Ljava/lang/Object;Lkotlinx/coroutines/n;)V
.locals 0
.param p1 # Lkotlinx/coroutines/sync/MutexImpl;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.param p2 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
"Lkotlinx/coroutines/n<",
"-",
"Lkotlin/d1;",
">;)V"
}
.end annotation
.line 1
iput-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$LockCont;->g:Lkotlinx/coroutines/sync/MutexImpl;
.line 2
invoke-direct {p0, p1, p2}, Lkotlinx/coroutines/sync/MutexImpl$a;-><init>(Lkotlinx/coroutines/sync/MutexImpl;Ljava/lang/Object;)V
iput-object p3, p0, Lkotlinx/coroutines/sync/MutexImpl$LockCont;->f:Lkotlinx/coroutines/n;
return-void
.end method
# virtual methods
.method public g0(Ljava/lang/Object;)V
.locals 1
.param p1 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 1
iget-object v0, p0, Lkotlinx/coroutines/sync/MutexImpl$LockCont;->f:Lkotlinx/coroutines/n;
invoke-interface {v0, p1}, Lkotlinx/coroutines/n;->I(Ljava/lang/Object;)V
return-void
.end method
.method public h0()Ljava/lang/Object;
.locals 4
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.line 1
iget-object v0, p0, Lkotlinx/coroutines/sync/MutexImpl$LockCont;->f:Lkotlinx/coroutines/n;
sget-object v1, Lkotlin/d1;->a:Lkotlin/d1;
new-instance v2, Lkotlinx/coroutines/sync/MutexImpl$LockCont$tryResumeLockWaiter$1;
invoke-direct {v2, p0}, Lkotlinx/coroutines/sync/MutexImpl$LockCont$tryResumeLockWaiter$1;-><init>(Lkotlinx/coroutines/sync/MutexImpl$LockCont;)V
const/4 v3, 0x0
invoke-interface {v0, v1, v3, v2}, Lkotlinx/coroutines/n;->p(Ljava/lang/Object;Ljava/lang/Object;Lej/l;)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 2
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
const-string v0, "LockCont["
.line 1
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lkotlinx/coroutines/sync/MutexImpl$a;->d:Ljava/lang/Object;
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/sync/MutexImpl$LockCont;->f:Lkotlinx/coroutines/n;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "] for "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lkotlinx/coroutines/sync/MutexImpl$LockCont;->g:Lkotlinx/coroutines/sync/MutexImpl;
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
@@ -0,0 +1,101 @@
.class final Lkotlinx/coroutines/sync/MutexImpl$LockSelect$completeResumeLockWaiter$2;
.super Lkotlin/jvm/internal/Lambda;
.source "Mutex.kt"
# interfaces
.implements Lej/l;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lkotlinx/coroutines/sync/MutexImpl$LockSelect;->g0(Ljava/lang/Object;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/internal/Lambda;",
"Lej/l<",
"Ljava/lang/Throwable;",
"Lkotlin/d1;",
">;"
}
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u0010\n\u0000\n\u0002\u0010\u0003\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0003\u0010\u0006\u001a\u00020\u0003\"\u0004\u0008\u0000\u0010\u00002\u0006\u0010\u0002\u001a\u00020\u0001H\n\u00a2\u0006\u0004\u0008\u0004\u0010\u0005"
}
d2 = {
"R",
"",
"it",
"Lkotlin/d1;",
"invoke",
"(Ljava/lang/Throwable;)V",
"<anonymous>"
}
k = 0x3
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final synthetic this$0:Lkotlinx/coroutines/sync/MutexImpl$LockSelect;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/sync/MutexImpl$LockSelect;)V
.locals 0
iput-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$LockSelect$completeResumeLockWaiter$2;->this$0:Lkotlinx/coroutines/sync/MutexImpl$LockSelect;
const/4 p1, 0x1
invoke-direct {p0, p1}, Lkotlin/jvm/internal/Lambda;-><init>(I)V
return-void
.end method
# virtual methods
.method public bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/lang/Throwable;
invoke-virtual {p0, p1}, Lkotlinx/coroutines/sync/MutexImpl$LockSelect$completeResumeLockWaiter$2;->invoke(Ljava/lang/Throwable;)V
sget-object p1, Lkotlin/d1;->a:Lkotlin/d1;
return-object p1
.end method
.method public final invoke(Ljava/lang/Throwable;)V
.locals 1
.param p1 # Ljava/lang/Throwable;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 2
iget-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$LockSelect$completeResumeLockWaiter$2;->this$0:Lkotlinx/coroutines/sync/MutexImpl$LockSelect;
iget-object v0, p1, Lkotlinx/coroutines/sync/MutexImpl$LockSelect;->h:Lkotlinx/coroutines/sync/MutexImpl;
iget-object p1, p1, Lkotlinx/coroutines/sync/MutexImpl$a;->d:Ljava/lang/Object;
invoke-virtual {v0, p1}, Lkotlinx/coroutines/sync/MutexImpl;->d(Ljava/lang/Object;)V
return-void
.end method
@@ -0,0 +1,244 @@
.class public final Lkotlinx/coroutines/sync/MutexImpl$LockSelect;
.super Lkotlinx/coroutines/sync/MutexImpl$a;
.source "Mutex.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/sync/MutexImpl;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "LockSelect"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<R:",
"Ljava/lang/Object;",
">",
"Lkotlinx/coroutines/sync/MutexImpl$a;"
}
.end annotation
.annotation system Ldalvik/annotation/SourceDebugExtension;
value = "SMAP\nMutex.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Mutex.kt\nkotlinx/coroutines/sync/MutexImpl$LockSelect\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,400:1\n1#2:401\n*E\n"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000:\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0004\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0004\u0008\u0082\u0004\u0018\u0000*\u0004\u0008\u0000\u0010\u00012\u00060\u0002R\u00020\u0003BF\u0012\u0008\u0010\u000f\u001a\u0004\u0018\u00010\u0004\u0012\u000c\u0010\u000e\u001a\u0008\u0012\u0004\u0012\u00028\u00000\u000b\u0012\"\u0010\u0013\u001a\u001e\u0008\u0001\u0012\u0004\u0012\u00020\u0011\u0012\n\u0012\u0008\u0012\u0004\u0012\u00028\u00000\u0012\u0012\u0006\u0012\u0004\u0018\u00010\u00040\u0010\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u0014\u0010\u0015J\n\u0010\u0005\u001a\u0004\u0018\u00010\u0004H\u0016J\u0010\u0010\u0008\u001a\u00020\u00072\u0006\u0010\u0006\u001a\u00020\u0004H\u0016J\u0008\u0010\n\u001a\u00020\tH\u0016R\u001a\u0010\u000e\u001a\u0008\u0012\u0004\u0012\u00028\u00000\u000b8\u0006X\u0087\u0004\u00a2\u0006\u0006\n\u0004\u0008\u000c\u0010\r\u0082\u0002\u0004\n\u0002\u0008\u0019\u00a8\u0006\u0016"
}
d2 = {
"Lkotlinx/coroutines/sync/MutexImpl$LockSelect;",
"R",
"Lkotlinx/coroutines/sync/MutexImpl$a;",
"Lkotlinx/coroutines/sync/MutexImpl;",
"",
"h0",
"token",
"Lkotlin/d1;",
"g0",
"",
"toString",
"Lkotlinx/coroutines/selects/f;",
"f",
"Lkotlinx/coroutines/selects/f;",
"select",
"owner",
"Lkotlin/Function2;",
"Lkotlinx/coroutines/sync/c;",
"Lkotlin/coroutines/c;",
"block",
"<init>",
"(Lkotlinx/coroutines/sync/MutexImpl;Ljava/lang/Object;Lkotlinx/coroutines/selects/f;Lej/p;)V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final f:Lkotlinx/coroutines/selects/f;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/selects/f<",
"TR;>;"
}
.end annotation
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
.field public final g:Lej/p;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lej/p<",
"Lkotlinx/coroutines/sync/c;",
"Lkotlin/coroutines/c<",
"-TR;>;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
.field public final synthetic h:Lkotlinx/coroutines/sync/MutexImpl;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/sync/MutexImpl;Ljava/lang/Object;Lkotlinx/coroutines/selects/f;Lej/p;)V
.locals 0
.param p1 # Lkotlinx/coroutines/sync/MutexImpl;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.param p2 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p3 # Lkotlinx/coroutines/selects/f;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
"Lkotlinx/coroutines/selects/f<",
"-TR;>;",
"Lej/p<",
"-",
"Lkotlinx/coroutines/sync/c;",
"-",
"Lkotlin/coroutines/c<",
"-TR;>;+",
"Ljava/lang/Object;",
">;)V"
}
.end annotation
.line 1
iput-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$LockSelect;->h:Lkotlinx/coroutines/sync/MutexImpl;
.line 2
invoke-direct {p0, p1, p2}, Lkotlinx/coroutines/sync/MutexImpl$a;-><init>(Lkotlinx/coroutines/sync/MutexImpl;Ljava/lang/Object;)V
iput-object p3, p0, Lkotlinx/coroutines/sync/MutexImpl$LockSelect;->f:Lkotlinx/coroutines/selects/f;
iput-object p4, p0, Lkotlinx/coroutines/sync/MutexImpl$LockSelect;->g:Lej/p;
return-void
.end method
# virtual methods
.method public g0(Ljava/lang/Object;)V
.locals 3
.param p1 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 1
iget-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$LockSelect;->g:Lej/p;
iget-object v0, p0, Lkotlinx/coroutines/sync/MutexImpl$LockSelect;->h:Lkotlinx/coroutines/sync/MutexImpl;
iget-object v1, p0, Lkotlinx/coroutines/sync/MutexImpl$LockSelect;->f:Lkotlinx/coroutines/selects/f;
invoke-interface {v1}, Lkotlinx/coroutines/selects/f;->u()Lkotlin/coroutines/c;
move-result-object v1
new-instance v2, Lkotlinx/coroutines/sync/MutexImpl$LockSelect$completeResumeLockWaiter$2;
invoke-direct {v2, p0}, Lkotlinx/coroutines/sync/MutexImpl$LockSelect$completeResumeLockWaiter$2;-><init>(Lkotlinx/coroutines/sync/MutexImpl$LockSelect;)V
invoke-static {p1, v0, v1, v2}, Ltj/a;->c(Lej/p;Ljava/lang/Object;Lkotlin/coroutines/c;Lej/l;)V
return-void
.end method
.method public h0()Ljava/lang/Object;
.locals 1
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.line 1
iget-object v0, p0, Lkotlinx/coroutines/sync/MutexImpl$LockSelect;->f:Lkotlinx/coroutines/selects/f;
invoke-interface {v0}, Lkotlinx/coroutines/selects/f;->t()Z
move-result v0
if-eqz v0, :cond_0
invoke-static {}, Lkotlinx/coroutines/sync/MutexKt;->g()Lkotlinx/coroutines/internal/i0;
move-result-object v0
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 2
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
const-string v0, "LockSelect["
.line 1
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lkotlinx/coroutines/sync/MutexImpl$a;->d:Ljava/lang/Object;
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/sync/MutexImpl$LockSelect;->f:Lkotlinx/coroutines/selects/f;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "] for "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lkotlinx/coroutines/sync/MutexImpl$LockSelect;->h:Lkotlinx/coroutines/sync/MutexImpl;
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
@@ -0,0 +1,109 @@
.class public abstract Lkotlinx/coroutines/sync/MutexImpl$a;
.super Lkotlinx/coroutines/internal/s;
.source "Mutex.kt"
# interfaces
.implements Lkotlinx/coroutines/e1;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/sync/MutexImpl;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x401
name = "a"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0002\u0008\t\u0008\u00a2\u0004\u0018\u00002\u00020\u00012\u00020\u0002B\u0011\u0012\u0008\u0010\u000b\u001a\u0004\u0018\u00010\u0005\u00a2\u0006\u0004\u0008\u000c\u0010\rJ\u0006\u0010\u0004\u001a\u00020\u0003J\n\u0010\u0006\u001a\u0004\u0018\u00010\u0005H&J\u0010\u0010\u0008\u001a\u00020\u00032\u0006\u0010\u0007\u001a\u00020\u0005H&R\u0016\u0010\u000b\u001a\u0004\u0018\u00010\u00058\u0006X\u0087\u0004\u00a2\u0006\u0006\n\u0004\u0008\t\u0010\n\u00a8\u0006\u000e"
}
d2 = {
"Lkotlinx/coroutines/sync/MutexImpl$a;",
"Lkotlinx/coroutines/internal/s;",
"Lkotlinx/coroutines/e1;",
"Lkotlin/d1;",
"dispose",
"",
"h0",
"token",
"g0",
"d",
"Ljava/lang/Object;",
"owner",
"<init>",
"(Lkotlinx/coroutines/sync/MutexImpl;Ljava/lang/Object;)V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final d:Ljava/lang/Object;
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end field
.field public final synthetic e:Lkotlinx/coroutines/sync/MutexImpl;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/sync/MutexImpl;Ljava/lang/Object;)V
.locals 0
.param p1 # Lkotlinx/coroutines/sync/MutexImpl;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
")V"
}
.end annotation
.line 1
iput-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$a;->e:Lkotlinx/coroutines/sync/MutexImpl;
.line 2
invoke-direct {p0}, Lkotlinx/coroutines/internal/s;-><init>()V
iput-object p2, p0, Lkotlinx/coroutines/sync/MutexImpl$a;->d:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public final dispose()V
.locals 0
.line 1
invoke-virtual {p0}, Lkotlinx/coroutines/internal/s;->Z()Z
return-void
.end method
.method public abstract g0(Ljava/lang/Object;)V
.param p1 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.end method
.method public abstract h0()Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end method
@@ -0,0 +1,96 @@
.class public final Lkotlinx/coroutines/sync/MutexImpl$b;
.super Lkotlinx/coroutines/internal/q;
.source "Mutex.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/sync/MutexImpl;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "b"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u0016\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0000\n\u0002\u0008\u0006\u0008\u0002\u0018\u00002\u00020\u0001B\u000f\u0012\u0006\u0010\u0007\u001a\u00020\u0004\u00a2\u0006\u0004\u0008\u0008\u0010\tJ\u0008\u0010\u0003\u001a\u00020\u0002H\u0016R\u0016\u0010\u0007\u001a\u00020\u00048\u0006@\u0006X\u0087\u000e\u00a2\u0006\u0006\n\u0004\u0008\u0005\u0010\u0006\u00a8\u0006\n"
}
d2 = {
"Lkotlinx/coroutines/sync/MutexImpl$b;",
"Lkotlinx/coroutines/internal/q;",
"",
"toString",
"",
"d",
"Ljava/lang/Object;",
"owner",
"<init>",
"(Ljava/lang/Object;)V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public d:Ljava/lang/Object;
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/lang/Object;)V
.locals 0
.param p1 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 1
invoke-direct {p0}, Lkotlinx/coroutines/internal/q;-><init>()V
iput-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$b;->d:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public toString()Ljava/lang/String;
.locals 2
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
const-string v0, "LockedQueue["
.line 1
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lkotlinx/coroutines/sync/MutexImpl$b;->d:Ljava/lang/Object;
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
@@ -0,0 +1,153 @@
.class public final Lkotlinx/coroutines/sync/MutexImpl$c$a;
.super Lkotlinx/coroutines/internal/b0;
.source "Mutex.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/sync/MutexImpl$c;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "a"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u0018\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0007\u0008\u0082\u0004\u0018\u00002\u00020\u0001B\u0013\u0012\n\u0010\t\u001a\u0006\u0012\u0002\u0008\u00030\u0005\u00a2\u0006\u0004\u0008\n\u0010\u000bJ\u0014\u0010\u0004\u001a\u0004\u0018\u00010\u00022\u0008\u0010\u0003\u001a\u0004\u0018\u00010\u0002H\u0016R\u001e\u0010\t\u001a\u0006\u0012\u0002\u0008\u00030\u00058\u0016X\u0096\u0004\u00a2\u0006\u000c\n\u0004\u0008\u0006\u0010\u0007\u001a\u0004\u0008\u0006\u0010\u0008\u00a8\u0006\u000c"
}
d2 = {
"Lkotlinx/coroutines/sync/MutexImpl$c$a;",
"Lkotlinx/coroutines/internal/b0;",
"",
"affected",
"c",
"Lkotlinx/coroutines/internal/d;",
"a",
"Lkotlinx/coroutines/internal/d;",
"()Lkotlinx/coroutines/internal/d;",
"atomicOp",
"<init>",
"(Lkotlinx/coroutines/sync/MutexImpl$c;Lkotlinx/coroutines/internal/d;)V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final a:Lkotlinx/coroutines/internal/d;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/internal/d<",
"*>;"
}
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
.field public final synthetic b:Lkotlinx/coroutines/sync/MutexImpl$c;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/sync/MutexImpl$c;Lkotlinx/coroutines/internal/d;)V
.locals 0
.param p1 # Lkotlinx/coroutines/sync/MutexImpl$c;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlinx/coroutines/internal/d<",
"*>;)V"
}
.end annotation
.line 1
iput-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$c$a;->b:Lkotlinx/coroutines/sync/MutexImpl$c;
invoke-direct {p0}, Lkotlinx/coroutines/internal/b0;-><init>()V
iput-object p2, p0, Lkotlinx/coroutines/sync/MutexImpl$c$a;->a:Lkotlinx/coroutines/internal/d;
return-void
.end method
# virtual methods
.method public a()Lkotlinx/coroutines/internal/d;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lkotlinx/coroutines/internal/d<",
"*>;"
}
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
iget-object v0, p0, Lkotlinx/coroutines/sync/MutexImpl$c$a;->a:Lkotlinx/coroutines/internal/d;
return-object v0
.end method
.method public c(Ljava/lang/Object;)Ljava/lang/Object;
.locals 2
.param p1 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.line 1
invoke-virtual {p0}, Lkotlinx/coroutines/sync/MutexImpl$c$a;->a()Lkotlinx/coroutines/internal/d;
move-result-object v0
invoke-virtual {v0}, Lkotlinx/coroutines/internal/d;->h()Z
move-result v0
if-eqz v0, :cond_0
invoke-static {}, Lkotlinx/coroutines/sync/MutexKt;->d()Lkotlinx/coroutines/sync/b;
move-result-object v0
goto :goto_0
:cond_0
invoke-virtual {p0}, Lkotlinx/coroutines/sync/MutexImpl$c$a;->a()Lkotlinx/coroutines/internal/d;
move-result-object v0
:goto_0
const-string v1, "null cannot be cast to non-null type kotlinx.coroutines.sync.MutexImpl"
.line 2
invoke-static {p1, v1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
check-cast p1, Lkotlinx/coroutines/sync/MutexImpl;
sget-object v1, Lkotlinx/coroutines/sync/MutexImpl;->a:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invoke-virtual {v1, p1, p0, v0}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
const/4 p1, 0x0
return-object p1
.end method
@@ -0,0 +1,210 @@
.class public final Lkotlinx/coroutines/sync/MutexImpl$c;
.super Lkotlinx/coroutines/internal/b;
.source "Mutex.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/sync/MutexImpl;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "c"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlinx/coroutines/sync/MutexImpl$c$a;
}
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000$\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0008\u0008\u0002\u0018\u00002\u00020\u0001:\u0001\u0008B\u0019\u0012\u0006\u0010\u000c\u001a\u00020\t\u0012\u0008\u0010\u000e\u001a\u0004\u0018\u00010\u0004\u00a2\u0006\u0004\u0008\u000f\u0010\u0010J\u0016\u0010\u0005\u001a\u0004\u0018\u00010\u00042\n\u0010\u0003\u001a\u0006\u0012\u0002\u0008\u00030\u0002H\u0016J\u001e\u0010\u0008\u001a\u00020\u00072\n\u0010\u0003\u001a\u0006\u0012\u0002\u0008\u00030\u00022\u0008\u0010\u0006\u001a\u0004\u0018\u00010\u0004H\u0016R\u0014\u0010\u000c\u001a\u00020\t8\u0006X\u0087\u0004\u00a2\u0006\u0006\n\u0004\u0008\n\u0010\u000bR\u0016\u0010\u000e\u001a\u0004\u0018\u00010\u00048\u0006X\u0087\u0004\u00a2\u0006\u0006\n\u0004\u0008\u0005\u0010\r\u00a8\u0006\u0011"
}
d2 = {
"Lkotlinx/coroutines/sync/MutexImpl$c;",
"Lkotlinx/coroutines/internal/b;",
"Lkotlinx/coroutines/internal/d;",
"op",
"",
"c",
"failure",
"Lkotlin/d1;",
"a",
"Lkotlinx/coroutines/sync/MutexImpl;",
"b",
"Lkotlinx/coroutines/sync/MutexImpl;",
"mutex",
"Ljava/lang/Object;",
"owner",
"<init>",
"(Lkotlinx/coroutines/sync/MutexImpl;Ljava/lang/Object;)V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final b:Lkotlinx/coroutines/sync/MutexImpl;
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
.field public final c:Ljava/lang/Object;
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end field
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/sync/MutexImpl;Ljava/lang/Object;)V
.locals 0
.param p1 # Lkotlinx/coroutines/sync/MutexImpl;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p2 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.line 1
invoke-direct {p0}, Lkotlinx/coroutines/internal/b;-><init>()V
iput-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$c;->b:Lkotlinx/coroutines/sync/MutexImpl;
iput-object p2, p0, Lkotlinx/coroutines/sync/MutexImpl$c;->c:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public a(Lkotlinx/coroutines/internal/d;Ljava/lang/Object;)V
.locals 2
.param p1 # Lkotlinx/coroutines/internal/d;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p2 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlinx/coroutines/internal/d<",
"*>;",
"Ljava/lang/Object;",
")V"
}
.end annotation
if-eqz p2, :cond_0
.line 1
invoke-static {}, Lkotlinx/coroutines/sync/MutexKt;->d()Lkotlinx/coroutines/sync/b;
move-result-object p2
goto :goto_0
.line 2
:cond_0
iget-object p2, p0, Lkotlinx/coroutines/sync/MutexImpl$c;->c:Ljava/lang/Object;
if-nez p2, :cond_1
invoke-static {}, Lkotlinx/coroutines/sync/MutexKt;->c()Lkotlinx/coroutines/sync/b;
move-result-object p2
goto :goto_0
:cond_1
new-instance v0, Lkotlinx/coroutines/sync/b;
invoke-direct {v0, p2}, Lkotlinx/coroutines/sync/b;-><init>(Ljava/lang/Object;)V
move-object p2, v0
.line 3
:goto_0
iget-object v0, p0, Lkotlinx/coroutines/sync/MutexImpl$c;->b:Lkotlinx/coroutines/sync/MutexImpl;
sget-object v1, Lkotlinx/coroutines/sync/MutexImpl;->a:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invoke-virtual {v1, v0, p1, p2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
return-void
.end method
.method public c(Lkotlinx/coroutines/internal/d;)Ljava/lang/Object;
.locals 3
.param p1 # Lkotlinx/coroutines/internal/d;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlinx/coroutines/internal/d<",
"*>;)",
"Ljava/lang/Object;"
}
.end annotation
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.line 1
new-instance v0, Lkotlinx/coroutines/sync/MutexImpl$c$a;
invoke-direct {v0, p0, p1}, Lkotlinx/coroutines/sync/MutexImpl$c$a;-><init>(Lkotlinx/coroutines/sync/MutexImpl$c;Lkotlinx/coroutines/internal/d;)V
.line 2
iget-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$c;->b:Lkotlinx/coroutines/sync/MutexImpl;
sget-object v1, Lkotlinx/coroutines/sync/MutexImpl;->a:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invoke-static {}, Lkotlinx/coroutines/sync/MutexKt;->d()Lkotlinx/coroutines/sync/b;
move-result-object v2
invoke-virtual {v1, p1, v2, v0}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_0
invoke-static {}, Lkotlinx/coroutines/sync/MutexKt;->f()Lkotlinx/coroutines/internal/i0;
move-result-object p1
return-object p1
.line 3
:cond_0
iget-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$c;->b:Lkotlinx/coroutines/sync/MutexImpl;
invoke-virtual {v0, p1}, Lkotlinx/coroutines/sync/MutexImpl$c$a;->c(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,169 @@
.class public final Lkotlinx/coroutines/sync/MutexImpl$d;
.super Lkotlinx/coroutines/internal/d;
.source "Mutex.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/sync/MutexImpl;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "d"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/internal/d<",
"Lkotlinx/coroutines/sync/MutexImpl;",
">;"
}
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000$\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0006\u0008\u0002\u0018\u00002\u0008\u0012\u0004\u0012\u00020\u00020\u0001B\u000f\u0012\u0006\u0010\u000c\u001a\u00020\t\u00a2\u0006\u0004\u0008\r\u0010\u000eJ\u0012\u0010\u0005\u001a\u0004\u0018\u00010\u00042\u0006\u0010\u0003\u001a\u00020\u0002H\u0016J\u001a\u0010\u0008\u001a\u00020\u00072\u0006\u0010\u0003\u001a\u00020\u00022\u0008\u0010\u0006\u001a\u0004\u0018\u00010\u0004H\u0016R\u0014\u0010\u000c\u001a\u00020\t8\u0006X\u0087\u0004\u00a2\u0006\u0006\n\u0004\u0008\n\u0010\u000b\u00a8\u0006\u000f"
}
d2 = {
"Lkotlinx/coroutines/sync/MutexImpl$d;",
"Lkotlinx/coroutines/internal/d;",
"Lkotlinx/coroutines/sync/MutexImpl;",
"affected",
"",
"k",
"failure",
"Lkotlin/d1;",
"j",
"Lkotlinx/coroutines/sync/MutexImpl$b;",
"b",
"Lkotlinx/coroutines/sync/MutexImpl$b;",
"queue",
"<init>",
"(Lkotlinx/coroutines/sync/MutexImpl$b;)V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final b:Lkotlinx/coroutines/sync/MutexImpl$b;
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/sync/MutexImpl$b;)V
.locals 0
.param p1 # Lkotlinx/coroutines/sync/MutexImpl$b;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 1
invoke-direct {p0}, Lkotlinx/coroutines/internal/d;-><init>()V
iput-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$d;->b:Lkotlinx/coroutines/sync/MutexImpl$b;
return-void
.end method
# virtual methods
.method public bridge synthetic d(Ljava/lang/Object;Ljava/lang/Object;)V
.locals 0
.line 1
check-cast p1, Lkotlinx/coroutines/sync/MutexImpl;
invoke-virtual {p0, p1, p2}, Lkotlinx/coroutines/sync/MutexImpl$d;->j(Lkotlinx/coroutines/sync/MutexImpl;Ljava/lang/Object;)V
return-void
.end method
.method public bridge synthetic i(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Lkotlinx/coroutines/sync/MutexImpl;
invoke-virtual {p0, p1}, Lkotlinx/coroutines/sync/MutexImpl$d;->k(Lkotlinx/coroutines/sync/MutexImpl;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public j(Lkotlinx/coroutines/sync/MutexImpl;Ljava/lang/Object;)V
.locals 1
.param p1 # Lkotlinx/coroutines/sync/MutexImpl;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p2 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
if-nez p2, :cond_0
.line 1
invoke-static {}, Lkotlinx/coroutines/sync/MutexKt;->d()Lkotlinx/coroutines/sync/b;
move-result-object p2
goto :goto_0
:cond_0
iget-object p2, p0, Lkotlinx/coroutines/sync/MutexImpl$d;->b:Lkotlinx/coroutines/sync/MutexImpl$b;
.line 2
:goto_0
sget-object v0, Lkotlinx/coroutines/sync/MutexImpl;->a:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invoke-virtual {v0, p1, p0, p2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
return-void
.end method
.method public k(Lkotlinx/coroutines/sync/MutexImpl;)Ljava/lang/Object;
.locals 0
.param p1 # Lkotlinx/coroutines/sync/MutexImpl;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.line 1
iget-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$d;->b:Lkotlinx/coroutines/sync/MutexImpl$b;
invoke-virtual {p1}, Lkotlinx/coroutines/internal/q;->h0()Z
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
invoke-static {}, Lkotlinx/coroutines/sync/MutexKt;->i()Lkotlinx/coroutines/internal/i0;
move-result-object p1
:goto_0
return-object p1
.end method
@@ -0,0 +1,135 @@
.class public final Lkotlinx/coroutines/sync/MutexImpl$e;
.super Lkotlinx/coroutines/internal/s$c;
.source "LockFreeLinkedList.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lkotlinx/coroutines/sync/MutexImpl;->i(Ljava/lang/Object;Lkotlin/coroutines/c;)Ljava/lang/Object;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
.annotation system Ldalvik/annotation/SourceDebugExtension;
value = "SMAP\nLockFreeLinkedList.kt\nKotlin\n*S Kotlin\n*F\n+ 1 LockFreeLinkedList.kt\nkotlinx/coroutines/internal/LockFreeLinkedListNode$makeCondAddOp$1\n+ 2 Mutex.kt\nkotlinx/coroutines/sync/MutexImpl\n*L\n1#1,667:1\n212#2:668\n*E\n"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u001b\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0002\u0008\u0003*\u0001\u0000\u0008\n\u0018\u00002\u00020\u0001J\u0016\u0010\u0006\u001a\u0004\u0018\u00010\u00052\n\u0010\u0004\u001a\u00060\u0002j\u0002`\u0003H\u0016\u00a8\u0006\u0007\u00b8\u0006\u0008"
}
d2 = {
"kotlinx/coroutines/internal/LockFreeLinkedListNode$makeCondAddOp$1",
"Lkotlinx/coroutines/internal/s$c;",
"Lkotlinx/coroutines/internal/s;",
"Lkotlinx/coroutines/internal/Node;",
"affected",
"",
"k",
"kotlinx-coroutines-core",
"kotlinx/coroutines/sync/MutexImpl$$special$$inlined$loop$lambda$1"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final synthetic d:Lkotlinx/coroutines/internal/s;
.field public final synthetic e:Ljava/lang/Object;
.field public final synthetic f:Lkotlinx/coroutines/n;
.field public final synthetic g:Lkotlinx/coroutines/sync/MutexImpl$LockCont;
.field public final synthetic h:Lkotlinx/coroutines/sync/MutexImpl;
.field public final synthetic i:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/internal/s;Lkotlinx/coroutines/internal/s;Ljava/lang/Object;Lkotlinx/coroutines/n;Lkotlinx/coroutines/sync/MutexImpl$LockCont;Lkotlinx/coroutines/sync/MutexImpl;Ljava/lang/Object;)V
.locals 0
iput-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$e;->d:Lkotlinx/coroutines/internal/s;
iput-object p3, p0, Lkotlinx/coroutines/sync/MutexImpl$e;->e:Ljava/lang/Object;
iput-object p4, p0, Lkotlinx/coroutines/sync/MutexImpl$e;->f:Lkotlinx/coroutines/n;
iput-object p5, p0, Lkotlinx/coroutines/sync/MutexImpl$e;->g:Lkotlinx/coroutines/sync/MutexImpl$LockCont;
iput-object p6, p0, Lkotlinx/coroutines/sync/MutexImpl$e;->h:Lkotlinx/coroutines/sync/MutexImpl;
iput-object p7, p0, Lkotlinx/coroutines/sync/MutexImpl$e;->i:Ljava/lang/Object;
.line 1
invoke-direct {p0, p2}, Lkotlinx/coroutines/internal/s$c;-><init>(Lkotlinx/coroutines/internal/s;)V
return-void
.end method
# virtual methods
.method public bridge synthetic i(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Lkotlinx/coroutines/internal/s;
invoke-virtual {p0, p1}, Lkotlinx/coroutines/sync/MutexImpl$e;->k(Lkotlinx/coroutines/internal/s;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public k(Lkotlinx/coroutines/internal/s;)Ljava/lang/Object;
.locals 1
.param p1 # Lkotlinx/coroutines/internal/s;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.line 1
iget-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$e;->h:Lkotlinx/coroutines/sync/MutexImpl;
iget-object p1, p1, Lkotlinx/coroutines/sync/MutexImpl;->_state:Ljava/lang/Object;
iget-object v0, p0, Lkotlinx/coroutines/sync/MutexImpl$e;->e: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
goto :goto_1
:cond_1
invoke-static {}, Lkotlinx/coroutines/internal/r;->a()Ljava/lang/Object;
move-result-object p1
:goto_1
return-object p1
.end method
@@ -0,0 +1,122 @@
.class public final Lkotlinx/coroutines/sync/MutexImpl$f;
.super Lkotlinx/coroutines/internal/s$c;
.source "LockFreeLinkedList.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lkotlinx/coroutines/sync/MutexImpl;->e(Lkotlinx/coroutines/selects/f;Ljava/lang/Object;Lej/p;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
.annotation system Ldalvik/annotation/SourceDebugExtension;
value = "SMAP\nLockFreeLinkedList.kt\nKotlin\n*S Kotlin\n*F\n+ 1 LockFreeLinkedList.kt\nkotlinx/coroutines/internal/LockFreeLinkedListNode$makeCondAddOp$1\n+ 2 Mutex.kt\nkotlinx/coroutines/sync/MutexImpl\n*L\n1#1,667:1\n254#2:668\n*E\n"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u001b\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0002\u0008\u0002*\u0001\u0000\u0008\n\u0018\u00002\u00020\u0001J\u0016\u0010\u0006\u001a\u0004\u0018\u00010\u00052\n\u0010\u0004\u001a\u00060\u0002j\u0002`\u0003H\u0016\u00a8\u0006\u0007\u00b8\u0006\u0000"
}
d2 = {
"kotlinx/coroutines/internal/s$f",
"Lkotlinx/coroutines/internal/s$c;",
"Lkotlinx/coroutines/internal/s;",
"Lkotlinx/coroutines/internal/Node;",
"affected",
"",
"k",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final synthetic d:Lkotlinx/coroutines/internal/s;
.field public final synthetic e:Lkotlinx/coroutines/sync/MutexImpl;
.field public final synthetic f:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/internal/s;Lkotlinx/coroutines/internal/s;Lkotlinx/coroutines/sync/MutexImpl;Ljava/lang/Object;)V
.locals 0
iput-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$f;->d:Lkotlinx/coroutines/internal/s;
iput-object p3, p0, Lkotlinx/coroutines/sync/MutexImpl$f;->e:Lkotlinx/coroutines/sync/MutexImpl;
iput-object p4, p0, Lkotlinx/coroutines/sync/MutexImpl$f;->f:Ljava/lang/Object;
.line 1
invoke-direct {p0, p2}, Lkotlinx/coroutines/internal/s$c;-><init>(Lkotlinx/coroutines/internal/s;)V
return-void
.end method
# virtual methods
.method public bridge synthetic i(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Lkotlinx/coroutines/internal/s;
invoke-virtual {p0, p1}, Lkotlinx/coroutines/sync/MutexImpl$f;->k(Lkotlinx/coroutines/internal/s;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public k(Lkotlinx/coroutines/internal/s;)Ljava/lang/Object;
.locals 1
.param p1 # Lkotlinx/coroutines/internal/s;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.line 1
iget-object p1, p0, Lkotlinx/coroutines/sync/MutexImpl$f;->e:Lkotlinx/coroutines/sync/MutexImpl;
iget-object p1, p1, Lkotlinx/coroutines/sync/MutexImpl;->_state:Ljava/lang/Object;
iget-object v0, p0, Lkotlinx/coroutines/sync/MutexImpl$f;->f: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
goto :goto_1
:cond_1
invoke-static {}, Lkotlinx/coroutines/internal/r;->a()Ljava/lang/Object;
move-result-object p1
:goto_1
return-object p1
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,118 @@
.class public final Lkotlinx/coroutines/sync/MutexKt$withLock$1;
.super Lkotlin/coroutines/jvm/internal/ContinuationImpl;
.source "Mutex.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lkotlinx/coroutines/sync/MutexKt;->q(Lkotlinx/coroutines/sync/c;Ljava/lang/Object;Lej/a;Lkotlin/coroutines/c;)Ljava/lang/Object;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
.annotation system Ldalvik/annotation/SourceDebugExtension;
value = "SMAP\nMutex.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Mutex.kt\nkotlinx/coroutines/sync/MutexKt\n*L\n1#1,400:1\n*E\n"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u001a\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\u0010\u0008\u001a\u0004\u0018\u00010\u0002\"\u0004\u0008\u0000\u0010\u0000*\u00020\u00012\n\u0008\u0002\u0010\u0003\u001a\u0004\u0018\u00010\u00022\u000c\u0010\u0005\u001a\u0008\u0012\u0004\u0012\u00028\u00000\u00042\u000c\u0010\u0007\u001a\u0008\u0012\u0004\u0012\u00028\u00000\u0006H\u0086H\u0082\u0002\n\n\u0008\u0008\u0001\u0012\u0002\u0010\u0002 \u0001"
}
d2 = {
"T",
"Lkotlinx/coroutines/sync/c;",
"",
"owner",
"Lkotlin/Function0;",
"action",
"Lkotlin/coroutines/c;",
"continuation",
"withLock"
}
k = 0x3
mv = {
0x1,
0x4,
0x0
}
.end annotation
.annotation runtime Lkotlin/coroutines/jvm/internal/DebugMetadata;
c = "kotlinx.coroutines.sync.MutexKt"
f = "Mutex.kt"
i = {
0x0,
0x0,
0x0
}
l = {
0x72
}
m = "withLock"
n = {
"$this$withLock",
"owner",
"action"
}
s = {
"L$0",
"L$1",
"L$2"
}
.end annotation
# instance fields
.field public L$0:Ljava/lang/Object;
.field public L$1:Ljava/lang/Object;
.field public L$2:Ljava/lang/Object;
.field public label:I
.field public synthetic result:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Lkotlin/coroutines/c;)V
.locals 0
invoke-direct {p0, p1}, Lkotlin/coroutines/jvm/internal/ContinuationImpl;-><init>(Lkotlin/coroutines/c;)V
return-void
.end method
# virtual methods
.method public final invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
.locals 1
.param p1 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
iput-object p1, p0, Lkotlinx/coroutines/sync/MutexKt$withLock$1;->result:Ljava/lang/Object;
iget p1, p0, Lkotlinx/coroutines/sync/MutexKt$withLock$1;->label:I
const/high16 v0, -0x80000000
or-int/2addr p1, v0
iput p1, p0, Lkotlinx/coroutines/sync/MutexKt$withLock$1;->label:I
const/4 p1, 0x0
invoke-static {p1, p1, p1, p0}, Lkotlinx/coroutines/sync/MutexKt;->q(Lkotlinx/coroutines/sync/c;Ljava/lang/Object;Lej/a;Lkotlin/coroutines/c;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,558 @@
.class public final Lkotlinx/coroutines/sync/MutexKt;
.super Ljava/lang/Object;
.source "Mutex.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000,\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0002\u0008\u0010\n\u0002\u0018\u0002\n\u0002\u0008\u0008\u001a\u0010\u0010\u0003\u001a\u00020\u00022\u0008\u0008\u0002\u0010\u0001\u001a\u00020\u0000\u001aD\u0010\t\u001a\u00028\u0000\"\u0004\u0008\u0000\u0010\u0004*\u00020\u00022\n\u0008\u0002\u0010\u0006\u001a\u0004\u0018\u00010\u00052\u000c\u0010\u0008\u001a\u0008\u0012\u0004\u0012\u00028\u00000\u0007H\u0086H\u00f8\u0001\u0000\u0082\u0002\n\n\u0008\u0008\u0001\u0012\u0002\u0010\u0002 \u0001\u00a2\u0006\u0004\u0008\t\u0010\n\"\u001a\u0010\u000f\u001a\u00020\u000b8\u0002X\u0083\u0004\u00a2\u0006\u000c\n\u0004\u0008\u0003\u0010\u000c\u0012\u0004\u0008\r\u0010\u000e\"\u001a\u0010\u0012\u001a\u00020\u000b8\u0002X\u0083\u0004\u00a2\u0006\u000c\n\u0004\u0008\u0010\u0010\u000c\u0012\u0004\u0008\u0011\u0010\u000e\"\u001a\u0010\u0015\u001a\u00020\u000b8\u0002X\u0083\u0004\u00a2\u0006\u000c\n\u0004\u0008\u0013\u0010\u000c\u0012\u0004\u0008\u0014\u0010\u000e\"\u001a\u0010\u0018\u001a\u00020\u000b8\u0002X\u0083\u0004\u00a2\u0006\u000c\n\u0004\u0008\u0016\u0010\u000c\u0012\u0004\u0008\u0017\u0010\u000e\"\u001a\u0010\u001b\u001a\u00020\u000b8\u0002X\u0083\u0004\u00a2\u0006\u000c\n\u0004\u0008\u0019\u0010\u000c\u0012\u0004\u0008\u001a\u0010\u000e\"\u001a\u0010 \u001a\u00020\u001c8\u0002X\u0083\u0004\u00a2\u0006\u000c\n\u0004\u0008\u001d\u0010\u001e\u0012\u0004\u0008\u001f\u0010\u000e\"\u001a\u0010#\u001a\u00020\u001c8\u0002X\u0083\u0004\u00a2\u0006\u000c\n\u0004\u0008!\u0010\u001e\u0012\u0004\u0008\"\u0010\u000e\u0082\u0002\u0004\n\u0002\u0008\u0019\u00a8\u0006$"
}
d2 = {
"",
"locked",
"Lkotlinx/coroutines/sync/c;",
"a",
"T",
"",
"owner",
"Lkotlin/Function0;",
"action",
"q",
"(Lkotlinx/coroutines/sync/c;Ljava/lang/Object;Lej/a;Lkotlin/coroutines/c;)Ljava/lang/Object;",
"Lkotlinx/coroutines/internal/i0;",
"Lkotlinx/coroutines/internal/i0;",
"getLOCK_FAIL$annotations",
"()V",
"LOCK_FAIL",
"b",
"getUNLOCK_FAIL$annotations",
"UNLOCK_FAIL",
"c",
"getSELECT_SUCCESS$annotations",
"SELECT_SUCCESS",
"d",
"getLOCKED$annotations",
"LOCKED",
"e",
"getUNLOCKED$annotations",
"UNLOCKED",
"Lkotlinx/coroutines/sync/b;",
"f",
"Lkotlinx/coroutines/sync/b;",
"getEMPTY_LOCKED$annotations",
"EMPTY_LOCKED",
"g",
"getEMPTY_UNLOCKED$annotations",
"EMPTY_UNLOCKED",
"kotlinx-coroutines-core"
}
k = 0x2
mv = {
0x1,
0x4,
0x0
}
.end annotation
# static fields
.field public static final a:Lkotlinx/coroutines/internal/i0;
.field public static final b:Lkotlinx/coroutines/internal/i0;
.field public static final c:Lkotlinx/coroutines/internal/i0;
.field public static final d:Lkotlinx/coroutines/internal/i0;
.field public static final e:Lkotlinx/coroutines/internal/i0;
.field public static final f:Lkotlinx/coroutines/sync/b;
.field public static final g:Lkotlinx/coroutines/sync/b;
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lkotlinx/coroutines/internal/i0;
const-string v1, "LOCK_FAIL"
invoke-direct {v0, v1}, Lkotlinx/coroutines/internal/i0;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/sync/MutexKt;->a:Lkotlinx/coroutines/internal/i0;
.line 2
new-instance v0, Lkotlinx/coroutines/internal/i0;
const-string v1, "UNLOCK_FAIL"
invoke-direct {v0, v1}, Lkotlinx/coroutines/internal/i0;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/sync/MutexKt;->b:Lkotlinx/coroutines/internal/i0;
.line 3
new-instance v0, Lkotlinx/coroutines/internal/i0;
const-string v1, "SELECT_SUCCESS"
invoke-direct {v0, v1}, Lkotlinx/coroutines/internal/i0;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/sync/MutexKt;->c:Lkotlinx/coroutines/internal/i0;
.line 4
new-instance v0, Lkotlinx/coroutines/internal/i0;
const-string v1, "LOCKED"
invoke-direct {v0, v1}, Lkotlinx/coroutines/internal/i0;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/sync/MutexKt;->d:Lkotlinx/coroutines/internal/i0;
.line 5
new-instance v1, Lkotlinx/coroutines/internal/i0;
const-string v2, "UNLOCKED"
invoke-direct {v1, v2}, Lkotlinx/coroutines/internal/i0;-><init>(Ljava/lang/String;)V
sput-object v1, Lkotlinx/coroutines/sync/MutexKt;->e:Lkotlinx/coroutines/internal/i0;
.line 6
new-instance v2, Lkotlinx/coroutines/sync/b;
invoke-direct {v2, v0}, Lkotlinx/coroutines/sync/b;-><init>(Ljava/lang/Object;)V
sput-object v2, Lkotlinx/coroutines/sync/MutexKt;->f:Lkotlinx/coroutines/sync/b;
.line 7
new-instance v0, Lkotlinx/coroutines/sync/b;
invoke-direct {v0, v1}, Lkotlinx/coroutines/sync/b;-><init>(Ljava/lang/Object;)V
sput-object v0, Lkotlinx/coroutines/sync/MutexKt;->g:Lkotlinx/coroutines/sync/b;
return-void
.end method
.method public static final a(Z)Lkotlinx/coroutines/sync/c;
.locals 1
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
new-instance v0, Lkotlinx/coroutines/sync/MutexImpl;
invoke-direct {v0, p0}, Lkotlinx/coroutines/sync/MutexImpl;-><init>(Z)V
return-object v0
.end method
.method public static synthetic b(ZILjava/lang/Object;)Lkotlinx/coroutines/sync/c;
.locals 0
and-int/lit8 p1, p1, 0x1
if-eqz p1, :cond_0
const/4 p0, 0x0
.line 1
:cond_0
invoke-static {p0}, Lkotlinx/coroutines/sync/MutexKt;->a(Z)Lkotlinx/coroutines/sync/c;
move-result-object p0
return-object p0
.end method
.method public static final synthetic c()Lkotlinx/coroutines/sync/b;
.locals 1
.line 1
sget-object v0, Lkotlinx/coroutines/sync/MutexKt;->f:Lkotlinx/coroutines/sync/b;
return-object v0
.end method
.method public static final synthetic d()Lkotlinx/coroutines/sync/b;
.locals 1
.line 1
sget-object v0, Lkotlinx/coroutines/sync/MutexKt;->g:Lkotlinx/coroutines/sync/b;
return-object v0
.end method
.method public static final synthetic e()Lkotlinx/coroutines/internal/i0;
.locals 1
.line 1
sget-object v0, Lkotlinx/coroutines/sync/MutexKt;->d:Lkotlinx/coroutines/internal/i0;
return-object v0
.end method
.method public static final synthetic f()Lkotlinx/coroutines/internal/i0;
.locals 1
.line 1
sget-object v0, Lkotlinx/coroutines/sync/MutexKt;->a:Lkotlinx/coroutines/internal/i0;
return-object v0
.end method
.method public static final synthetic g()Lkotlinx/coroutines/internal/i0;
.locals 1
.line 1
sget-object v0, Lkotlinx/coroutines/sync/MutexKt;->c:Lkotlinx/coroutines/internal/i0;
return-object v0
.end method
.method public static final synthetic h()Lkotlinx/coroutines/internal/i0;
.locals 1
.line 1
sget-object v0, Lkotlinx/coroutines/sync/MutexKt;->e:Lkotlinx/coroutines/internal/i0;
return-object v0
.end method
.method public static final synthetic i()Lkotlinx/coroutines/internal/i0;
.locals 1
.line 1
sget-object v0, Lkotlinx/coroutines/sync/MutexKt;->b:Lkotlinx/coroutines/internal/i0;
return-object v0
.end method
.method public static synthetic j()V
.locals 0
return-void
.end method
.method public static synthetic k()V
.locals 0
return-void
.end method
.method public static synthetic l()V
.locals 0
return-void
.end method
.method public static synthetic m()V
.locals 0
return-void
.end method
.method public static synthetic n()V
.locals 0
return-void
.end method
.method public static synthetic o()V
.locals 0
return-void
.end method
.method public static synthetic p()V
.locals 0
return-void
.end method
.method public static final q(Lkotlinx/coroutines/sync/c;Ljava/lang/Object;Lej/a;Lkotlin/coroutines/c;)Ljava/lang/Object;
.locals 4
.param p0 # Lkotlinx/coroutines/sync/c;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p1 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.param p2 # Lej/a;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p3 # Lkotlin/coroutines/c;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlinx/coroutines/sync/c;",
"Ljava/lang/Object;",
"Lej/a<",
"+TT;>;",
"Lkotlin/coroutines/c<",
"-TT;>;)",
"Ljava/lang/Object;"
}
.end annotation
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
instance-of v0, p3, Lkotlinx/coroutines/sync/MutexKt$withLock$1;
if-eqz v0, :cond_0
move-object v0, p3
check-cast v0, Lkotlinx/coroutines/sync/MutexKt$withLock$1;
iget v1, v0, Lkotlinx/coroutines/sync/MutexKt$withLock$1;->label:I
const/high16 v2, -0x80000000
and-int v3, v1, v2
if-eqz v3, :cond_0
sub-int/2addr v1, v2
iput v1, v0, Lkotlinx/coroutines/sync/MutexKt$withLock$1;->label:I
goto :goto_0
:cond_0
new-instance v0, Lkotlinx/coroutines/sync/MutexKt$withLock$1;
invoke-direct {v0, p3}, Lkotlinx/coroutines/sync/MutexKt$withLock$1;-><init>(Lkotlin/coroutines/c;)V
:goto_0
iget-object p3, v0, Lkotlinx/coroutines/sync/MutexKt$withLock$1;->result:Ljava/lang/Object;
invoke-static {}, Lvi/b;->h()Ljava/lang/Object;
move-result-object v1
.line 1
iget v2, v0, Lkotlinx/coroutines/sync/MutexKt$withLock$1;->label:I
const/4 v3, 0x1
if-eqz v2, :cond_2
if-ne v2, v3, :cond_1
iget-object p0, v0, Lkotlinx/coroutines/sync/MutexKt$withLock$1;->L$2:Ljava/lang/Object;
move-object p2, p0
check-cast p2, Lej/a;
iget-object p1, v0, Lkotlinx/coroutines/sync/MutexKt$withLock$1;->L$1:Ljava/lang/Object;
iget-object p0, v0, Lkotlinx/coroutines/sync/MutexKt$withLock$1;->L$0:Ljava/lang/Object;
check-cast p0, Lkotlinx/coroutines/sync/c;
invoke-static {p3}, Lkotlin/d0;->n(Ljava/lang/Object;)V
goto :goto_1
.line 2
:cond_1
new-instance p0, Ljava/lang/IllegalStateException;
const-string p1, "call to \'resume\' before \'invoke\' with coroutine"
invoke-direct {p0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p0
.line 3
:cond_2
invoke-static {p3}, Lkotlin/d0;->n(Ljava/lang/Object;)V
.line 4
iput-object p0, v0, Lkotlinx/coroutines/sync/MutexKt$withLock$1;->L$0:Ljava/lang/Object;
iput-object p1, v0, Lkotlinx/coroutines/sync/MutexKt$withLock$1;->L$1:Ljava/lang/Object;
iput-object p2, v0, Lkotlinx/coroutines/sync/MutexKt$withLock$1;->L$2:Ljava/lang/Object;
iput v3, v0, Lkotlinx/coroutines/sync/MutexKt$withLock$1;->label:I
invoke-interface {p0, p1, v0}, Lkotlinx/coroutines/sync/c;->c(Ljava/lang/Object;Lkotlin/coroutines/c;)Ljava/lang/Object;
move-result-object p3
if-ne p3, v1, :cond_3
return-object v1
.line 5
:cond_3
:goto_1
:try_start_0
invoke-interface {p2}, Lej/a;->invoke()Ljava/lang/Object;
move-result-object p2
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-static {v3}, Lkotlin/jvm/internal/c0;->d(I)V
.line 6
invoke-interface {p0, p1}, Lkotlinx/coroutines/sync/c;->d(Ljava/lang/Object;)V
invoke-static {v3}, Lkotlin/jvm/internal/c0;->c(I)V
return-object p2
:catchall_0
move-exception p2
.line 7
invoke-static {v3}, Lkotlin/jvm/internal/c0;->d(I)V
.line 8
invoke-interface {p0, p1}, Lkotlinx/coroutines/sync/c;->d(Ljava/lang/Object;)V
invoke-static {v3}, Lkotlin/jvm/internal/c0;->c(I)V
throw p2
.end method
.method public static final r(Lkotlinx/coroutines/sync/c;Ljava/lang/Object;Lej/a;Lkotlin/coroutines/c;)Ljava/lang/Object;
.locals 1
.param p0 # Lkotlinx/coroutines/sync/c;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p1 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.param p2 # Lej/a;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p3 # Lkotlin/coroutines/c;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
const/4 v0, 0x0
.line 1
invoke-static {v0}, Lkotlin/jvm/internal/c0;->e(I)V
invoke-interface {p0, p1, p3}, Lkotlinx/coroutines/sync/c;->c(Ljava/lang/Object;Lkotlin/coroutines/c;)Ljava/lang/Object;
const/4 p3, 0x2
invoke-static {p3}, Lkotlin/jvm/internal/c0;->e(I)V
const/4 p3, 0x1
invoke-static {p3}, Lkotlin/jvm/internal/c0;->e(I)V
.line 2
:try_start_0
invoke-interface {p2}, Lej/a;->invoke()Ljava/lang/Object;
move-result-object p2
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-static {p3}, Lkotlin/jvm/internal/c0;->d(I)V
.line 3
invoke-interface {p0, p1}, Lkotlinx/coroutines/sync/c;->d(Ljava/lang/Object;)V
invoke-static {p3}, Lkotlin/jvm/internal/c0;->c(I)V
return-object p2
:catchall_0
move-exception p2
.line 4
invoke-static {p3}, Lkotlin/jvm/internal/c0;->d(I)V
.line 5
invoke-interface {p0, p1}, Lkotlinx/coroutines/sync/c;->d(Ljava/lang/Object;)V
invoke-static {p3}, Lkotlin/jvm/internal/c0;->c(I)V
throw p2
.end method
.method public static synthetic s(Lkotlinx/coroutines/sync/c;Ljava/lang/Object;Lej/a;Lkotlin/coroutines/c;ILjava/lang/Object;)Ljava/lang/Object;
.locals 0
const/4 p5, 0x1
and-int/2addr p4, p5
if-eqz p4, :cond_0
const/4 p1, 0x0
:cond_0
const/4 p4, 0x0
.line 1
invoke-static {p4}, Lkotlin/jvm/internal/c0;->e(I)V
invoke-interface {p0, p1, p3}, Lkotlinx/coroutines/sync/c;->c(Ljava/lang/Object;Lkotlin/coroutines/c;)Ljava/lang/Object;
const/4 p3, 0x2
invoke-static {p3}, Lkotlin/jvm/internal/c0;->e(I)V
invoke-static {p5}, Lkotlin/jvm/internal/c0;->e(I)V
.line 2
:try_start_0
invoke-interface {p2}, Lej/a;->invoke()Ljava/lang/Object;
move-result-object p2
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-static {p5}, Lkotlin/jvm/internal/c0;->d(I)V
.line 3
invoke-interface {p0, p1}, Lkotlinx/coroutines/sync/c;->d(Ljava/lang/Object;)V
invoke-static {p5}, Lkotlin/jvm/internal/c0;->c(I)V
return-object p2
:catchall_0
move-exception p2
.line 4
invoke-static {p5}, Lkotlin/jvm/internal/c0;->d(I)V
.line 5
invoke-interface {p0, p1}, Lkotlinx/coroutines/sync/c;->d(Ljava/lang/Object;)V
invoke-static {p5}, Lkotlin/jvm/internal/c0;->c(I)V
throw p2
.end method
@@ -0,0 +1,96 @@
.class final Lkotlinx/coroutines/sync/SemaphoreImpl$onCancellationRelease$1;
.super Lkotlin/jvm/internal/Lambda;
.source "Semaphore.kt"
# interfaces
.implements Lej/l;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lkotlinx/coroutines/sync/SemaphoreImpl;-><init>(II)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/jvm/internal/Lambda;",
"Lej/l<",
"Ljava/lang/Throwable;",
"Lkotlin/d1;",
">;"
}
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u000e\n\u0002\u0010\u0003\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0003\u0010\u0005\u001a\u00020\u00022\u0006\u0010\u0001\u001a\u00020\u0000H\n\u00a2\u0006\u0004\u0008\u0003\u0010\u0004"
}
d2 = {
"",
"<anonymous parameter 0>",
"Lkotlin/d1;",
"invoke",
"(Ljava/lang/Throwable;)V",
"<anonymous>"
}
k = 0x3
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final synthetic this$0:Lkotlinx/coroutines/sync/SemaphoreImpl;
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/sync/SemaphoreImpl;)V
.locals 0
iput-object p1, p0, Lkotlinx/coroutines/sync/SemaphoreImpl$onCancellationRelease$1;->this$0:Lkotlinx/coroutines/sync/SemaphoreImpl;
const/4 p1, 0x1
invoke-direct {p0, p1}, Lkotlin/jvm/internal/Lambda;-><init>(I)V
return-void
.end method
# virtual methods
.method public bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/lang/Throwable;
invoke-virtual {p0, p1}, Lkotlinx/coroutines/sync/SemaphoreImpl$onCancellationRelease$1;->invoke(Ljava/lang/Throwable;)V
sget-object p1, Lkotlin/d1;->a:Lkotlin/d1;
return-object p1
.end method
.method public final invoke(Ljava/lang/Throwable;)V
.locals 0
.param p1 # Ljava/lang/Throwable;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 2
iget-object p1, p0, Lkotlinx/coroutines/sync/SemaphoreImpl$onCancellationRelease$1;->this$0:Lkotlinx/coroutines/sync/SemaphoreImpl;
invoke-virtual {p1}, Lkotlinx/coroutines/sync/SemaphoreImpl;->release()V
return-void
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,112 @@
.class public final Lkotlinx/coroutines/sync/SemaphoreKt$withPermit$1;
.super Lkotlin/coroutines/jvm/internal/ContinuationImpl;
.source "Semaphore.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lkotlinx/coroutines/sync/SemaphoreKt;->q(Lkotlinx/coroutines/sync/d;Lej/a;Lkotlin/coroutines/c;)Ljava/lang/Object;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
.annotation system Ldalvik/annotation/SourceDebugExtension;
value = "SMAP\nSemaphore.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Semaphore.kt\nkotlinx/coroutines/sync/SemaphoreKt\n*L\n1#1,305:1\n*E\n"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u0018\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0000\u0010\u0007\u001a\u0004\u0018\u00010\u0006\"\u0004\u0008\u0000\u0010\u0000*\u00020\u00012\u000c\u0010\u0003\u001a\u0008\u0012\u0004\u0012\u00028\u00000\u00022\u000c\u0010\u0005\u001a\u0008\u0012\u0004\u0012\u00028\u00000\u0004H\u0086H\u0082\u0002\n\n\u0008\u0008\u0001\u0012\u0002\u0010\u0001 \u0001"
}
d2 = {
"T",
"Lkotlinx/coroutines/sync/d;",
"Lkotlin/Function0;",
"action",
"Lkotlin/coroutines/c;",
"continuation",
"",
"withPermit"
}
k = 0x3
mv = {
0x1,
0x4,
0x0
}
.end annotation
.annotation runtime Lkotlin/coroutines/jvm/internal/DebugMetadata;
c = "kotlinx.coroutines.sync.SemaphoreKt"
f = "Semaphore.kt"
i = {
0x0,
0x0
}
l = {
0x55
}
m = "withPermit"
n = {
"$this$withPermit",
"action"
}
s = {
"L$0",
"L$1"
}
.end annotation
# instance fields
.field public L$0:Ljava/lang/Object;
.field public L$1:Ljava/lang/Object;
.field public label:I
.field public synthetic result:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Lkotlin/coroutines/c;)V
.locals 0
invoke-direct {p0, p1}, Lkotlin/coroutines/jvm/internal/ContinuationImpl;-><init>(Lkotlin/coroutines/c;)V
return-void
.end method
# virtual methods
.method public final invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
.locals 1
.param p1 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
iput-object p1, p0, Lkotlinx/coroutines/sync/SemaphoreKt$withPermit$1;->result:Ljava/lang/Object;
iget p1, p0, Lkotlinx/coroutines/sync/SemaphoreKt$withPermit$1;->label:I
const/high16 v0, -0x80000000
or-int/2addr p1, v0
iput p1, p0, Lkotlinx/coroutines/sync/SemaphoreKt$withPermit$1;->label:I
const/4 p1, 0x0
invoke-static {p1, p1, p0}, Lkotlinx/coroutines/sync/SemaphoreKt;->q(Lkotlinx/coroutines/sync/d;Lej/a;Lkotlin/coroutines/c;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,511 @@
.class public final Lkotlinx/coroutines/sync/SemaphoreKt;
.super Ljava/lang/Object;
.source "Semaphore.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000.\n\u0002\u0010\u0008\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0010\t\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0006\n\u0002\u0018\u0002\n\u0002\u0008\u0011\u001a\u0018\u0010\u0004\u001a\u00020\u00032\u0006\u0010\u0001\u001a\u00020\u00002\u0008\u0008\u0002\u0010\u0002\u001a\u00020\u0000\u001a8\u0010\u0008\u001a\u00028\u0000\"\u0004\u0008\u0000\u0010\u0005*\u00020\u00032\u000c\u0010\u0007\u001a\u0008\u0012\u0004\u0012\u00028\u00000\u0006H\u0086H\u00f8\u0001\u0000\u0082\u0002\n\n\u0008\u0008\u0001\u0012\u0002\u0010\u0001 \u0001\u00a2\u0006\u0004\u0008\u0008\u0010\t\u001a\u001a\u0010\u000e\u001a\u00020\u000c2\u0006\u0010\u000b\u001a\u00020\n2\u0008\u0010\r\u001a\u0004\u0018\u00010\u000cH\u0002\"\u001a\u0010\u0012\u001a\u00020\u00008\u0002X\u0083\u0004\u00a2\u0006\u000c\n\u0004\u0008\u0004\u0010\u000f\u0012\u0004\u0008\u0010\u0010\u0011\"\u001a\u0010\u0017\u001a\u00020\u00138\u0002X\u0083\u0004\u00a2\u0006\u000c\n\u0004\u0008\u0014\u0010\u0015\u0012\u0004\u0008\u0016\u0010\u0011\"\u001a\u0010\u001a\u001a\u00020\u00138\u0002X\u0083\u0004\u00a2\u0006\u000c\n\u0004\u0008\u0018\u0010\u0015\u0012\u0004\u0008\u0019\u0010\u0011\"\u001a\u0010\u001d\u001a\u00020\u00138\u0002X\u0083\u0004\u00a2\u0006\u000c\n\u0004\u0008\u001b\u0010\u0015\u0012\u0004\u0008\u001c\u0010\u0011\"\u001a\u0010 \u001a\u00020\u00138\u0002X\u0083\u0004\u00a2\u0006\u000c\n\u0004\u0008\u001e\u0010\u0015\u0012\u0004\u0008\u001f\u0010\u0011\"\u001a\u0010#\u001a\u00020\u00008\u0002X\u0083\u0004\u00a2\u0006\u000c\n\u0004\u0008!\u0010\u000f\u0012\u0004\u0008\"\u0010\u0011\u0082\u0002\u0004\n\u0002\u0008\u0019\u00a8\u0006$"
}
d2 = {
"",
"permits",
"acquiredPermits",
"Lkotlinx/coroutines/sync/d;",
"a",
"T",
"Lkotlin/Function0;",
"action",
"q",
"(Lkotlinx/coroutines/sync/d;Lej/a;Lkotlin/coroutines/c;)Ljava/lang/Object;",
"",
"id",
"Lkotlinx/coroutines/sync/e;",
"prev",
"j",
"I",
"getMAX_SPIN_CYCLES$annotations",
"()V",
"MAX_SPIN_CYCLES",
"Lkotlinx/coroutines/internal/i0;",
"b",
"Lkotlinx/coroutines/internal/i0;",
"getPERMIT$annotations",
"PERMIT",
"c",
"getTAKEN$annotations",
"TAKEN",
"d",
"getBROKEN$annotations",
"BROKEN",
"e",
"getCANCELLED$annotations",
"CANCELLED",
"f",
"getSEGMENT_SIZE$annotations",
"SEGMENT_SIZE",
"kotlinx-coroutines-core"
}
k = 0x2
mv = {
0x1,
0x4,
0x0
}
.end annotation
# static fields
.field public static final a:I
.field public static final b:Lkotlinx/coroutines/internal/i0;
.field public static final c:Lkotlinx/coroutines/internal/i0;
.field public static final d:Lkotlinx/coroutines/internal/i0;
.field public static final e:Lkotlinx/coroutines/internal/i0;
.field public static final f:I
# direct methods
.method public static constructor <clinit>()V
.locals 8
const-string v0, "kotlinx.coroutines.semaphore.maxSpinCycles"
const/16 v1, 0x64
const/4 v2, 0x0
const/4 v3, 0x0
const/16 v4, 0xc
const/4 v5, 0x0
.line 1
invoke-static/range {v0 .. v5}, Lkotlinx/coroutines/internal/k0;->f(Ljava/lang/String;IIIILjava/lang/Object;)I
move-result v0
sput v0, Lkotlinx/coroutines/sync/SemaphoreKt;->a:I
.line 2
new-instance v0, Lkotlinx/coroutines/internal/i0;
const-string v1, "PERMIT"
invoke-direct {v0, v1}, Lkotlinx/coroutines/internal/i0;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/sync/SemaphoreKt;->b:Lkotlinx/coroutines/internal/i0;
.line 3
new-instance v0, Lkotlinx/coroutines/internal/i0;
const-string v1, "TAKEN"
invoke-direct {v0, v1}, Lkotlinx/coroutines/internal/i0;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/sync/SemaphoreKt;->c:Lkotlinx/coroutines/internal/i0;
.line 4
new-instance v0, Lkotlinx/coroutines/internal/i0;
const-string v1, "BROKEN"
invoke-direct {v0, v1}, Lkotlinx/coroutines/internal/i0;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/sync/SemaphoreKt;->d:Lkotlinx/coroutines/internal/i0;
.line 5
new-instance v0, Lkotlinx/coroutines/internal/i0;
const-string v1, "CANCELLED"
invoke-direct {v0, v1}, Lkotlinx/coroutines/internal/i0;-><init>(Ljava/lang/String;)V
sput-object v0, Lkotlinx/coroutines/sync/SemaphoreKt;->e:Lkotlinx/coroutines/internal/i0;
const-string v2, "kotlinx.coroutines.semaphore.segmentSize"
const/16 v3, 0x10
const/4 v4, 0x0
const/4 v5, 0x0
const/16 v6, 0xc
const/4 v7, 0x0
.line 6
invoke-static/range {v2 .. v7}, Lkotlinx/coroutines/internal/k0;->f(Ljava/lang/String;IIIILjava/lang/Object;)I
move-result v0
sput v0, Lkotlinx/coroutines/sync/SemaphoreKt;->f:I
return-void
.end method
.method public static final a(II)Lkotlinx/coroutines/sync/d;
.locals 1
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.line 1
new-instance v0, Lkotlinx/coroutines/sync/SemaphoreImpl;
invoke-direct {v0, p0, p1}, Lkotlinx/coroutines/sync/SemaphoreImpl;-><init>(II)V
return-object v0
.end method
.method public static synthetic b(IIILjava/lang/Object;)Lkotlinx/coroutines/sync/d;
.locals 0
and-int/lit8 p2, p2, 0x2
if-eqz p2, :cond_0
const/4 p1, 0x0
.line 1
:cond_0
invoke-static {p0, p1}, Lkotlinx/coroutines/sync/SemaphoreKt;->a(II)Lkotlinx/coroutines/sync/d;
move-result-object p0
return-object p0
.end method
.method public static final synthetic c(JLkotlinx/coroutines/sync/e;)Lkotlinx/coroutines/sync/e;
.locals 0
.line 1
invoke-static {p0, p1, p2}, Lkotlinx/coroutines/sync/SemaphoreKt;->j(JLkotlinx/coroutines/sync/e;)Lkotlinx/coroutines/sync/e;
move-result-object p0
return-object p0
.end method
.method public static final synthetic d()Lkotlinx/coroutines/internal/i0;
.locals 1
.line 1
sget-object v0, Lkotlinx/coroutines/sync/SemaphoreKt;->d:Lkotlinx/coroutines/internal/i0;
return-object v0
.end method
.method public static final synthetic e()Lkotlinx/coroutines/internal/i0;
.locals 1
.line 1
sget-object v0, Lkotlinx/coroutines/sync/SemaphoreKt;->e:Lkotlinx/coroutines/internal/i0;
return-object v0
.end method
.method public static final synthetic f()I
.locals 1
.line 1
sget v0, Lkotlinx/coroutines/sync/SemaphoreKt;->a:I
return v0
.end method
.method public static final synthetic g()Lkotlinx/coroutines/internal/i0;
.locals 1
.line 1
sget-object v0, Lkotlinx/coroutines/sync/SemaphoreKt;->b:Lkotlinx/coroutines/internal/i0;
return-object v0
.end method
.method public static final synthetic h()I
.locals 1
.line 1
sget v0, Lkotlinx/coroutines/sync/SemaphoreKt;->f:I
return v0
.end method
.method public static final synthetic i()Lkotlinx/coroutines/internal/i0;
.locals 1
.line 1
sget-object v0, Lkotlinx/coroutines/sync/SemaphoreKt;->c:Lkotlinx/coroutines/internal/i0;
return-object v0
.end method
.method public static final j(JLkotlinx/coroutines/sync/e;)Lkotlinx/coroutines/sync/e;
.locals 2
.line 1
new-instance v0, Lkotlinx/coroutines/sync/e;
const/4 v1, 0x0
invoke-direct {v0, p0, p1, p2, v1}, Lkotlinx/coroutines/sync/e;-><init>(JLkotlinx/coroutines/sync/e;I)V
return-object v0
.end method
.method public static synthetic k()V
.locals 0
return-void
.end method
.method public static synthetic l()V
.locals 0
return-void
.end method
.method public static synthetic m()V
.locals 0
return-void
.end method
.method public static synthetic n()V
.locals 0
return-void
.end method
.method public static synthetic o()V
.locals 0
return-void
.end method
.method public static synthetic p()V
.locals 0
return-void
.end method
.method public static final q(Lkotlinx/coroutines/sync/d;Lej/a;Lkotlin/coroutines/c;)Ljava/lang/Object;
.locals 4
.param p0 # Lkotlinx/coroutines/sync/d;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p1 # Lej/a;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p2 # Lkotlin/coroutines/c;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lkotlinx/coroutines/sync/d;",
"Lej/a<",
"+TT;>;",
"Lkotlin/coroutines/c<",
"-TT;>;)",
"Ljava/lang/Object;"
}
.end annotation
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
instance-of v0, p2, Lkotlinx/coroutines/sync/SemaphoreKt$withPermit$1;
if-eqz v0, :cond_0
move-object v0, p2
check-cast v0, Lkotlinx/coroutines/sync/SemaphoreKt$withPermit$1;
iget v1, v0, Lkotlinx/coroutines/sync/SemaphoreKt$withPermit$1;->label:I
const/high16 v2, -0x80000000
and-int v3, v1, v2
if-eqz v3, :cond_0
sub-int/2addr v1, v2
iput v1, v0, Lkotlinx/coroutines/sync/SemaphoreKt$withPermit$1;->label:I
goto :goto_0
:cond_0
new-instance v0, Lkotlinx/coroutines/sync/SemaphoreKt$withPermit$1;
invoke-direct {v0, p2}, Lkotlinx/coroutines/sync/SemaphoreKt$withPermit$1;-><init>(Lkotlin/coroutines/c;)V
:goto_0
iget-object p2, v0, Lkotlinx/coroutines/sync/SemaphoreKt$withPermit$1;->result:Ljava/lang/Object;
invoke-static {}, Lvi/b;->h()Ljava/lang/Object;
move-result-object v1
.line 1
iget v2, v0, Lkotlinx/coroutines/sync/SemaphoreKt$withPermit$1;->label:I
const/4 v3, 0x1
if-eqz v2, :cond_2
if-ne v2, v3, :cond_1
iget-object p0, v0, Lkotlinx/coroutines/sync/SemaphoreKt$withPermit$1;->L$1:Ljava/lang/Object;
move-object p1, p0
check-cast p1, Lej/a;
iget-object p0, v0, Lkotlinx/coroutines/sync/SemaphoreKt$withPermit$1;->L$0:Ljava/lang/Object;
check-cast p0, Lkotlinx/coroutines/sync/d;
invoke-static {p2}, Lkotlin/d0;->n(Ljava/lang/Object;)V
goto :goto_1
.line 2
:cond_1
new-instance p0, Ljava/lang/IllegalStateException;
const-string p1, "call to \'resume\' before \'invoke\' with coroutine"
invoke-direct {p0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p0
.line 3
:cond_2
invoke-static {p2}, Lkotlin/d0;->n(Ljava/lang/Object;)V
.line 4
iput-object p0, v0, Lkotlinx/coroutines/sync/SemaphoreKt$withPermit$1;->L$0:Ljava/lang/Object;
iput-object p1, v0, Lkotlinx/coroutines/sync/SemaphoreKt$withPermit$1;->L$1:Ljava/lang/Object;
iput v3, v0, Lkotlinx/coroutines/sync/SemaphoreKt$withPermit$1;->label:I
invoke-interface {p0, v0}, Lkotlinx/coroutines/sync/d;->c(Lkotlin/coroutines/c;)Ljava/lang/Object;
move-result-object p2
if-ne p2, v1, :cond_3
return-object v1
.line 5
:cond_3
:goto_1
:try_start_0
invoke-interface {p1}, Lej/a;->invoke()Ljava/lang/Object;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-static {v3}, Lkotlin/jvm/internal/c0;->d(I)V
.line 6
invoke-interface {p0}, Lkotlinx/coroutines/sync/d;->release()V
invoke-static {v3}, Lkotlin/jvm/internal/c0;->c(I)V
return-object p1
:catchall_0
move-exception p1
.line 7
invoke-static {v3}, Lkotlin/jvm/internal/c0;->d(I)V
.line 8
invoke-interface {p0}, Lkotlinx/coroutines/sync/d;->release()V
invoke-static {v3}, Lkotlin/jvm/internal/c0;->c(I)V
throw p1
.end method
.method public static final r(Lkotlinx/coroutines/sync/d;Lej/a;Lkotlin/coroutines/c;)Ljava/lang/Object;
.locals 1
.param p0 # Lkotlinx/coroutines/sync/d;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p1 # Lej/a;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.param p2 # Lkotlin/coroutines/c;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
const/4 v0, 0x0
.line 1
invoke-static {v0}, Lkotlin/jvm/internal/c0;->e(I)V
invoke-interface {p0, p2}, Lkotlinx/coroutines/sync/d;->c(Lkotlin/coroutines/c;)Ljava/lang/Object;
const/4 p2, 0x2
invoke-static {p2}, Lkotlin/jvm/internal/c0;->e(I)V
const/4 p2, 0x1
invoke-static {p2}, Lkotlin/jvm/internal/c0;->e(I)V
.line 2
:try_start_0
invoke-interface {p1}, Lej/a;->invoke()Ljava/lang/Object;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-static {p2}, Lkotlin/jvm/internal/c0;->d(I)V
.line 3
invoke-interface {p0}, Lkotlinx/coroutines/sync/d;->release()V
invoke-static {p2}, Lkotlin/jvm/internal/c0;->c(I)V
return-object p1
:catchall_0
move-exception p1
.line 4
invoke-static {p2}, Lkotlin/jvm/internal/c0;->d(I)V
.line 5
invoke-interface {p0}, Lkotlinx/coroutines/sync/d;->release()V
invoke-static {p2}, Lkotlin/jvm/internal/c0;->c(I)V
throw p1
.end method
@@ -0,0 +1,126 @@
.class public final Lkotlinx/coroutines/sync/a;
.super Lkotlinx/coroutines/l;
.source "Semaphore.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000*\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0003\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u0008\n\u0002\u0008\u0006\u0008\u0002\u0018\u00002\u00020\u0001B\u0017\u0012\u0006\u0010\n\u001a\u00020\u0008\u0012\u0006\u0010\u000e\u001a\u00020\u000b\u00a2\u0006\u0004\u0008\u000f\u0010\u0010J\u0013\u0010\u0005\u001a\u00020\u00042\u0008\u0010\u0003\u001a\u0004\u0018\u00010\u0002H\u0096\u0002J\u0008\u0010\u0007\u001a\u00020\u0006H\u0016R\u0014\u0010\n\u001a\u00020\u00088\u0002X\u0082\u0004\u00a2\u0006\u0006\n\u0004\u0008\u0005\u0010\tR\u0014\u0010\u000e\u001a\u00020\u000b8\u0002X\u0082\u0004\u00a2\u0006\u0006\n\u0004\u0008\u000c\u0010\r\u00a8\u0006\u0011"
}
d2 = {
"Lkotlinx/coroutines/sync/a;",
"Lkotlinx/coroutines/l;",
"",
"cause",
"Lkotlin/d1;",
"a",
"",
"toString",
"Lkotlinx/coroutines/sync/e;",
"Lkotlinx/coroutines/sync/e;",
"segment",
"",
"b",
"I",
"index",
"<init>",
"(Lkotlinx/coroutines/sync/e;I)V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final a:Lkotlinx/coroutines/sync/e;
.field public final b:I
# direct methods
.method public constructor <init>(Lkotlinx/coroutines/sync/e;I)V
.locals 0
.param p1 # Lkotlinx/coroutines/sync/e;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 1
invoke-direct {p0}, Lkotlinx/coroutines/l;-><init>()V
iput-object p1, p0, Lkotlinx/coroutines/sync/a;->a:Lkotlinx/coroutines/sync/e;
iput p2, p0, Lkotlinx/coroutines/sync/a;->b:I
return-void
.end method
# virtual methods
.method public a(Ljava/lang/Throwable;)V
.locals 1
.param p1 # Ljava/lang/Throwable;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.line 1
iget-object p1, p0, Lkotlinx/coroutines/sync/a;->a:Lkotlinx/coroutines/sync/e;
iget v0, p0, Lkotlinx/coroutines/sync/a;->b:I
invoke-virtual {p1, v0}, Lkotlinx/coroutines/sync/e;->s(I)V
return-void
.end method
.method public bridge synthetic invoke(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/lang/Throwable;
invoke-virtual {p0, p1}, Lkotlinx/coroutines/sync/a;->a(Ljava/lang/Throwable;)V
sget-object p1, Lkotlin/d1;->a:Lkotlin/d1;
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 3
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
const-string v0, "CancelSemaphoreAcquisitionHandler["
.line 1
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lkotlinx/coroutines/sync/a;->a:Lkotlinx/coroutines/sync/e;
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 v1, p0, Lkotlinx/coroutines/sync/a;->b:I
const/16 v2, 0x5d
invoke-static {v0, v1, v2}, Lc1/k;->a(Ljava/lang/StringBuilder;IC)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,86 @@
.class public final Lkotlinx/coroutines/sync/b;
.super Ljava/lang/Object;
.source "Mutex.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000\u0010\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0010\u000e\n\u0002\u0008\u0007\u0008\u0002\u0018\u00002\u00020\u0001B\u000f\u0012\u0006\u0010\u0006\u001a\u00020\u0001\u00a2\u0006\u0004\u0008\u0007\u0010\u0008J\u0008\u0010\u0003\u001a\u00020\u0002H\u0016R\u0014\u0010\u0006\u001a\u00020\u00018\u0006X\u0087\u0004\u00a2\u0006\u0006\n\u0004\u0008\u0004\u0010\u0005\u00a8\u0006\t"
}
d2 = {
"Lkotlinx/coroutines/sync/b;",
"",
"",
"toString",
"a",
"Ljava/lang/Object;",
"locked",
"<init>",
"(Ljava/lang/Object;)V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public final a:Ljava/lang/Object;
.annotation build Lkotlin/jvm/JvmField;
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/lang/Object;)V
.locals 0
.param p1 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lkotlinx/coroutines/sync/b;->a:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public toString()Ljava/lang/String;
.locals 2
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
const-string v0, "Empty["
.line 1
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lkotlinx/coroutines/sync/b;->a:Ljava/lang/Object;
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
@@ -0,0 +1,118 @@
.class public final Lkotlinx/coroutines/sync/c$a;
.super Ljava/lang/Object;
.source "Mutex.kt"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlinx/coroutines/sync/c;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "a"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {
0x1,
0x0,
0x3
}
k = 0x3
mv = {
0x1,
0x4,
0x0
}
.end annotation
# direct methods
.method public static synthetic a(Lkotlinx/coroutines/sync/c;Ljava/lang/Object;Lkotlin/coroutines/c;ILjava/lang/Object;)Ljava/lang/Object;
.locals 0
if-nez p4, :cond_1
and-int/lit8 p3, p3, 0x1
if-eqz p3, :cond_0
const/4 p1, 0x0
.line 1
:cond_0
invoke-interface {p0, p1, p2}, Lkotlinx/coroutines/sync/c;->c(Ljava/lang/Object;Lkotlin/coroutines/c;)Ljava/lang/Object;
move-result-object p0
return-object p0
.line 2
:cond_1
new-instance p0, Ljava/lang/UnsupportedOperationException;
const-string p1, "Super calls with default arguments not supported in this target, function: lock"
invoke-direct {p0, p1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static synthetic b(Lkotlinx/coroutines/sync/c;Ljava/lang/Object;ILjava/lang/Object;)Z
.locals 0
if-nez p3, :cond_1
and-int/lit8 p2, p2, 0x1
if-eqz p2, :cond_0
const/4 p1, 0x0
.line 1
:cond_0
invoke-interface {p0, p1}, Lkotlinx/coroutines/sync/c;->a(Ljava/lang/Object;)Z
move-result p0
return p0
.line 2
:cond_1
new-instance p0, Ljava/lang/UnsupportedOperationException;
const-string p1, "Super calls with default arguments not supported in this target, function: tryLock"
invoke-direct {p0, p1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static synthetic c(Lkotlinx/coroutines/sync/c;Ljava/lang/Object;ILjava/lang/Object;)V
.locals 0
if-nez p3, :cond_1
and-int/lit8 p2, p2, 0x1
if-eqz p2, :cond_0
const/4 p1, 0x0
.line 1
:cond_0
invoke-interface {p0, p1}, Lkotlinx/coroutines/sync/c;->d(Ljava/lang/Object;)V
return-void
.line 2
:cond_1
new-instance p0, Ljava/lang/UnsupportedOperationException;
const-string p1, "Super calls with default arguments not supported in this target, function: unlock"
invoke-direct {p0, p1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw p0
.end method
@@ -0,0 +1,110 @@
.class public interface abstract Lkotlinx/coroutines/sync/c;
.super Ljava/lang/Object;
.source "Mutex.kt"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlinx/coroutines/sync/c$a;
}
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000 \n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0007\n\u0002\u0018\u0002\n\u0002\u0008\u0004\u0008f\u0018\u00002\u00020\u0001J\u0014\u0010\u0004\u001a\u00020\u00032\n\u0008\u0002\u0010\u0002\u001a\u0004\u0018\u00010\u0001H&J\u001f\u0010\u0006\u001a\u00020\u00052\n\u0008\u0002\u0010\u0002\u001a\u0004\u0018\u00010\u0001H\u00a6@\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u0006\u0010\u0007J\u0010\u0010\u0008\u001a\u00020\u00032\u0006\u0010\u0002\u001a\u00020\u0001H&J\u0014\u0010\t\u001a\u00020\u00052\n\u0008\u0002\u0010\u0002\u001a\u0004\u0018\u00010\u0001H&R\u0014\u0010\u000c\u001a\u00020\u00038&X\u00a6\u0004\u00a2\u0006\u0006\u001a\u0004\u0008\n\u0010\u000bR\"\u0010\u0010\u001a\u0010\u0012\u0006\u0012\u0004\u0018\u00010\u0001\u0012\u0004\u0012\u00020\u00000\r8&X\u00a6\u0004\u00a2\u0006\u0006\u001a\u0004\u0008\u000e\u0010\u000f\u0082\u0002\u0004\n\u0002\u0008\u0019\u00a8\u0006\u0011"
}
d2 = {
"Lkotlinx/coroutines/sync/c;",
"",
"owner",
"",
"a",
"Lkotlin/d1;",
"c",
"(Ljava/lang/Object;Lkotlin/coroutines/c;)Ljava/lang/Object;",
"f",
"d",
"b",
"()Z",
"isLocked",
"Lkotlinx/coroutines/selects/e;",
"g",
"()Lkotlinx/coroutines/selects/e;",
"onLock",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# virtual methods
.method public abstract a(Ljava/lang/Object;)Z
.param p1 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.end method
.method public abstract b()Z
.end method
.method public abstract c(Ljava/lang/Object;Lkotlin/coroutines/c;)Ljava/lang/Object;
.param p1 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.param p2 # Lkotlin/coroutines/c;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
"Lkotlin/coroutines/c<",
"-",
"Lkotlin/d1;",
">;)",
"Ljava/lang/Object;"
}
.end annotation
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end method
.method public abstract d(Ljava/lang/Object;)V
.param p1 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.end method
.method public abstract f(Ljava/lang/Object;)Z
.param p1 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.end method
.method public abstract g()Lkotlinx/coroutines/selects/e;
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lkotlinx/coroutines/selects/e<",
"Ljava/lang/Object;",
"Lkotlinx/coroutines/sync/c;",
">;"
}
.end annotation
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end method
@@ -0,0 +1,64 @@
.class public interface abstract Lkotlinx/coroutines/sync/d;
.super Ljava/lang/Object;
.source "Semaphore.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u0000 \n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u000b\n\u0002\u0008\u0002\n\u0002\u0010\u0008\n\u0002\u0008\u0004\u0008f\u0018\u00002\u00020\u0001J\u0013\u0010\u0003\u001a\u00020\u0002H\u00a6@\u00f8\u0001\u0000\u00a2\u0006\u0004\u0008\u0003\u0010\u0004J\u0008\u0010\u0006\u001a\u00020\u0005H&J\u0008\u0010\u0007\u001a\u00020\u0002H&R\u0014\u0010\u000b\u001a\u00020\u00088&X\u00a6\u0004\u00a2\u0006\u0006\u001a\u0004\u0008\t\u0010\n\u0082\u0002\u0004\n\u0002\u0008\u0019\u00a8\u0006\u000c"
}
d2 = {
"Lkotlinx/coroutines/sync/d;",
"",
"Lkotlin/d1;",
"c",
"(Lkotlin/coroutines/c;)Ljava/lang/Object;",
"",
"b",
"release",
"",
"a",
"()I",
"availablePermits",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# virtual methods
.method public abstract a()I
.end method
.method public abstract b()Z
.end method
.method public abstract c(Lkotlin/coroutines/c;)Ljava/lang/Object;
.param p1 # Lkotlin/coroutines/c;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlin/coroutines/c<",
"-",
"Lkotlin/d1;",
">;)",
"Ljava/lang/Object;"
}
.end annotation
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end method
.method public abstract release()V
.end method
@@ -0,0 +1,238 @@
.class public final Lkotlinx/coroutines/sync/e;
.super Lkotlinx/coroutines/internal/f0;
.source "Semaphore.kt"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlinx/coroutines/internal/f0<",
"Lkotlinx/coroutines/sync/e;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/SourceDebugExtension;
value = "SMAP\nSemaphore.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Semaphore.kt\nkotlinx/coroutines/sync/SemaphoreSegment\n*L\n1#1,305:1\n273#1,2:306\n*E\n*S KotlinDebug\n*F\n+ 1 Semaphore.kt\nkotlinx/coroutines/sync/SemaphoreSegment\n*L\n286#1,2:306\n*E\n"
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {}
d1 = {
"\u00006\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0008\n\u0000\n\u0002\u0010\u0000\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0010\u000b\n\u0002\u0008\u0006\n\u0002\u0010\u000e\n\u0002\u0008\u0005\n\u0002\u0010\t\n\u0002\u0008\u0006\u0008\u0002\u0018\u00002\u0008\u0012\u0004\u0012\u00020\u00000\u0001B!\u0012\u0006\u0010\u001a\u001a\u00020\u0019\u0012\u0008\u0010\u001b\u001a\u0004\u0018\u00010\u0000\u0012\u0006\u0010\u001c\u001a\u00020\u0002\u00a2\u0006\u0004\u0008\u001d\u0010\u001eJ\u001a\u0010\u0005\u001a\u0004\u0018\u00010\u00042\u0006\u0010\u0003\u001a\u00020\u0002H\u0086\u0008\u00a2\u0006\u0004\u0008\u0005\u0010\u0006J\"\u0010\t\u001a\u00020\u00082\u0006\u0010\u0003\u001a\u00020\u00022\u0008\u0010\u0007\u001a\u0004\u0018\u00010\u0004H\u0086\u0008\u00a2\u0006\u0004\u0008\t\u0010\nJ,\u0010\r\u001a\u00020\u000c2\u0006\u0010\u0003\u001a\u00020\u00022\u0008\u0010\u000b\u001a\u0004\u0018\u00010\u00042\u0008\u0010\u0007\u001a\u0004\u0018\u00010\u0004H\u0086\u0008\u00a2\u0006\u0004\u0008\r\u0010\u000eJ$\u0010\u000f\u001a\u0004\u0018\u00010\u00042\u0006\u0010\u0003\u001a\u00020\u00022\u0008\u0010\u0007\u001a\u0004\u0018\u00010\u0004H\u0086\u0008\u00a2\u0006\u0004\u0008\u000f\u0010\u0010J\u0015\u0010\u0011\u001a\u00020\u00082\u0006\u0010\u0003\u001a\u00020\u0002\u00a2\u0006\u0004\u0008\u0011\u0010\u0012J\u000f\u0010\u0014\u001a\u00020\u0013H\u0016\u00a2\u0006\u0004\u0008\u0014\u0010\u0015R\u0014\u0010\u0018\u001a\u00020\u00028VX\u0096\u0004\u00a2\u0006\u0006\u001a\u0004\u0008\u0016\u0010\u0017\u00a8\u0006\u001f"
}
d2 = {
"Lkotlinx/coroutines/sync/e;",
"Lkotlinx/coroutines/internal/f0;",
"",
"index",
"",
"u",
"(I)Ljava/lang/Object;",
"value",
"Lkotlin/d1;",
"w",
"(ILjava/lang/Object;)V",
"expected",
"",
"t",
"(ILjava/lang/Object;Ljava/lang/Object;)Z",
"v",
"(ILjava/lang/Object;)Ljava/lang/Object;",
"s",
"(I)V",
"",
"toString",
"()Ljava/lang/String;",
"p",
"()I",
"maxSlots",
"",
"id",
"prev",
"pointers",
"<init>",
"(JLkotlinx/coroutines/sync/e;I)V",
"kotlinx-coroutines-core"
}
k = 0x1
mv = {
0x1,
0x4,
0x0
}
.end annotation
# instance fields
.field public e:Ljava/util/concurrent/atomic/AtomicReferenceArray;
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
.end field
# direct methods
.method public constructor <init>(JLkotlinx/coroutines/sync/e;I)V
.locals 0
.param p3 # Lkotlinx/coroutines/sync/e;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.line 1
invoke-direct {p0, p1, p2, p3, p4}, Lkotlinx/coroutines/internal/f0;-><init>(JLkotlinx/coroutines/internal/f0;I)V
.line 2
new-instance p1, Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-static {}, Lkotlinx/coroutines/sync/SemaphoreKt;->h()I
move-result p2
invoke-direct {p1, p2}, Ljava/util/concurrent/atomic/AtomicReferenceArray;-><init>(I)V
iput-object p1, p0, Lkotlinx/coroutines/sync/e;->e:Ljava/util/concurrent/atomic/AtomicReferenceArray;
return-void
.end method
# virtual methods
.method public p()I
.locals 1
.line 1
invoke-static {}, Lkotlinx/coroutines/sync/SemaphoreKt;->h()I
move-result v0
return v0
.end method
.method public final s(I)V
.locals 2
.line 1
invoke-static {}, Lkotlinx/coroutines/sync/SemaphoreKt;->e()Lkotlinx/coroutines/internal/i0;
move-result-object v0
.line 2
iget-object v1, p0, Lkotlinx/coroutines/sync/e;->e:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v1, p1, v0}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->set(ILjava/lang/Object;)V
.line 3
invoke-virtual {p0}, Lkotlinx/coroutines/internal/f0;->q()V
return-void
.end method
.method public final t(ILjava/lang/Object;Ljava/lang/Object;)Z
.locals 1
.param p2 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.param p3 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.line 1
iget-object v0, p0, Lkotlinx/coroutines/sync/e;->e:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v0, p1, p2, p3}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->compareAndSet(ILjava/lang/Object;Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public toString()Ljava/lang/String;
.locals 3
.annotation build Lorg/jetbrains/annotations/NotNull;
.end annotation
const-string v0, "SemaphoreSegment[id="
.line 1
invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Lkotlinx/coroutines/internal/f0;->o()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v1, ", hashCode="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)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 u(I)Ljava/lang/Object;
.locals 1
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.line 1
iget-object v0, p0, Lkotlinx/coroutines/sync/e;->e:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v0, p1}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->get(I)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public final v(ILjava/lang/Object;)Ljava/lang/Object;
.locals 1
.param p2 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.line 1
iget-object v0, p0, Lkotlinx/coroutines/sync/e;->e:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v0, p1, p2}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->getAndSet(ILjava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public final w(ILjava/lang/Object;)V
.locals 1
.param p2 # Ljava/lang/Object;
.annotation build Lorg/jetbrains/annotations/Nullable;
.end annotation
.end param
.line 1
iget-object v0, p0, Lkotlinx/coroutines/sync/e;->e:Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-virtual {v0, p1, p2}, Ljava/util/concurrent/atomic/AtomicReferenceArray;->set(ILjava/lang/Object;)V
return-void
.end method