.class public abstract La0/a/r1/c; .super La0/a/r1/k; .source "Atomic.kt" # annotations .annotation system Ldalvik/annotation/Signature; value = { "", "La0/a/r1/k;" } .end annotation # static fields .field public static final a:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater; # instance fields .field public volatile _consensus:Ljava/lang/Object; # direct methods .method public static constructor ()V .locals 3 const-class v0, La0/a/r1/c; const-class v1, Ljava/lang/Object; const-string v2, "_consensus" invoke-static {v0, v1, v2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater; move-result-object v0 sput-object v0, La0/a/r1/c;->a:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater; return-void .end method .method public constructor ()V .locals 1 invoke-direct {p0}, La0/a/r1/k;->()V sget-object v0, La0/a/r1/b;->a:Ljava/lang/Object; iput-object v0, p0, La0/a/r1/c;->_consensus:Ljava/lang/Object; return-void .end method # virtual methods .method public final a(Ljava/lang/Object;)Ljava/lang/Object; .locals 6 iget-object v0, p0, La0/a/r1/c;->_consensus:Ljava/lang/Object; sget-object v1, La0/a/r1/b;->a:Ljava/lang/Object; const/4 v2, 0x0 const/4 v3, 0x1 const/4 v4, 0x0 if-ne v0, v1, :cond_4 move-object v0, p0 check-cast v0, La0/a/a1$c; move-object v1, p1 check-cast v1, La0/a/r1/g; iget-object v1, v0, La0/a/a1$c;->d:La0/a/a1; invoke-virtual {v1}, La0/a/a1;->A()Ljava/lang/Object; move-result-object v1 iget-object v0, v0, La0/a/a1$c;->e:Ljava/lang/Object; if-ne v1, v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 if-eqz v0, :cond_1 move-object v0, v2 goto :goto_1 :cond_1 sget-object v0, La0/a/r1/f;->a:Ljava/lang/Object; :goto_1 iget-object v1, p0, La0/a/r1/c;->_consensus:Ljava/lang/Object; sget-object v5, La0/a/r1/b;->a:Ljava/lang/Object; if-eq v1, v5, :cond_2 move-object v0, v1 goto :goto_2 :cond_2 sget-object v1, La0/a/r1/c;->a:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater; invoke-virtual {v1, p0, v5, v0}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z move-result v1 if-eqz v1, :cond_3 goto :goto_2 :cond_3 iget-object v0, p0, La0/a/r1/c;->_consensus:Ljava/lang/Object; :cond_4 :goto_2 move-object v1, p0 check-cast v1, La0/a/r1/g$a; check-cast p1, La0/a/r1/g; if-nez v0, :cond_5 goto :goto_3 :cond_5 const/4 v3, 0x0 :goto_3 if-eqz v3, :cond_6 iget-object v4, v1, La0/a/r1/g$a;->c:La0/a/r1/g; goto :goto_4 :cond_6 iget-object v4, v1, La0/a/r1/g$a;->b:La0/a/r1/g; :goto_4 if-eqz v4, :cond_8 sget-object v5, La0/a/r1/g;->d:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater; invoke-virtual {v5, p1, v1, v4}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z move-result p1 if-eqz p1, :cond_8 if-eqz v3, :cond_8 iget-object p1, v1, La0/a/r1/g$a;->c:La0/a/r1/g; iget-object v1, v1, La0/a/r1/g$a;->b:La0/a/r1/g; if-eqz v1, :cond_7 invoke-virtual {p1, v1}, La0/a/r1/g;->c(La0/a/r1/g;)V goto :goto_5 :cond_7 invoke-static {}, Lz/n/c/j;->throwNpe()V throw v2 :cond_8 :goto_5 return-object v0 .end method