apkfuckery/com.discord/smali_classes2/kotlinx/coroutines/internal/d.smali

150 lines
3.6 KiB
Smali
Raw Normal View History

2019-05-04 02:59:52 +00:00
.class public abstract Lkotlinx/coroutines/internal/d;
.super Lkotlinx/coroutines/internal/r;
2019-02-04 20:29:01 +00:00
.source "Atomic.kt"
2019-02-04 20:08:30 +00:00
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
2019-05-04 02:59:52 +00:00
"Lkotlinx/coroutines/internal/r;"
2019-02-04 20:08:30 +00:00
}
.end annotation
# static fields
2019-05-28 22:16:26 +00:00
.field private static final biW:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
2019-02-04 20:08:30 +00:00
# instance fields
2019-02-04 20:29:01 +00:00
.field private volatile _consensus:Ljava/lang/Object;
2019-02-04 20:08:30 +00:00
# direct methods
.method static constructor <clinit>()V
.locals 3
2019-05-04 02:59:52 +00:00
const-class v0, Lkotlinx/coroutines/internal/d;
2019-02-04 20:08:30 +00:00
const-class v1, Ljava/lang/Object;
2019-02-04 20:29:01 +00:00
const-string v2, "_consensus"
2019-02-04 20:08:30 +00:00
invoke-static {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
move-result-object v0
2019-05-28 22:16:26 +00:00
sput-object v0, Lkotlinx/coroutines/internal/d;->biW:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
2019-02-04 20:08:30 +00:00
return-void
.end method
.method public constructor <init>()V
.locals 1
2019-05-04 02:59:52 +00:00
invoke-direct {p0}, Lkotlinx/coroutines/internal/r;-><init>()V
2019-02-04 20:08:30 +00:00
2019-05-28 22:16:26 +00:00
invoke-static {}, Lkotlinx/coroutines/internal/c;->AS()Ljava/lang/Object;
2019-02-04 20:08:30 +00:00
move-result-object v0
2019-05-04 02:59:52 +00:00
iput-object v0, p0, Lkotlinx/coroutines/internal/d;->_consensus:Ljava/lang/Object;
2019-02-04 20:08:30 +00:00
return-void
.end method
# virtual methods
2019-05-04 02:59:52 +00:00
.method public abstract bp(Ljava/lang/Object;)Ljava/lang/Object;
2019-02-04 20:08:30 +00:00
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)",
"Ljava/lang/Object;"
}
.end annotation
.end method
2019-05-04 02:59:52 +00:00
.method public final br(Ljava/lang/Object;)Ljava/lang/Object;
2019-02-04 20:08:30 +00:00
.locals 3
2019-05-04 02:59:52 +00:00
iget-object v0, p0, Lkotlinx/coroutines/internal/d;->_consensus:Ljava/lang/Object;
2019-02-04 20:08:30 +00:00
2019-05-28 22:16:26 +00:00
invoke-static {}, Lkotlinx/coroutines/internal/c;->AS()Ljava/lang/Object;
2019-02-04 20:08:30 +00:00
move-result-object v1
if-ne v0, v1, :cond_3
2019-05-04 02:59:52 +00:00
invoke-virtual {p0, p1}, Lkotlinx/coroutines/internal/d;->bp(Ljava/lang/Object;)Ljava/lang/Object;
2019-02-04 20:08:30 +00:00
move-result-object v0
2019-05-28 22:16:26 +00:00
invoke-static {}, Lkotlinx/coroutines/internal/c;->AS()Ljava/lang/Object;
2019-02-04 20:08:30 +00:00
move-result-object v1
if-eq v0, v1, :cond_0
const/4 v1, 0x1
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
if-eqz v1, :cond_2
2019-05-28 22:16:26 +00:00
sget-object v1, Lkotlinx/coroutines/internal/d;->biW:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
2019-02-04 20:08:30 +00:00
2019-05-28 22:16:26 +00:00
invoke-static {}, Lkotlinx/coroutines/internal/c;->AS()Ljava/lang/Object;
2019-02-04 20:08:30 +00:00
move-result-object v2
invoke-virtual {v1, p0, v2, v0}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1
goto :goto_1
:cond_1
2019-05-04 02:59:52 +00:00
iget-object v0, p0, Lkotlinx/coroutines/internal/d;->_consensus:Ljava/lang/Object;
2019-02-04 20:08:30 +00:00
goto :goto_1
:cond_2
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "Check failed."
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
check-cast p1, Ljava/lang/Throwable;
throw p1
:cond_3
:goto_1
2019-05-04 02:59:52 +00:00
invoke-virtual {p0, p1, v0}, Lkotlinx/coroutines/internal/d;->o(Ljava/lang/Object;Ljava/lang/Object;)V
2019-02-04 20:08:30 +00:00
return-object v0
.end method
2019-02-04 20:32:01 +00:00
.method public abstract o(Ljava/lang/Object;Ljava/lang/Object;)V
2019-02-04 20:08:30 +00:00
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;",
"Ljava/lang/Object;",
")V"
}
.end annotation
.end method