.class public final Lio/reactivex/disposables/SerialDisposable; .super Ljava/lang/Object; .source "SerialDisposable.java" # interfaces .implements Lio/reactivex/disposables/Disposable; # instance fields .field final resource:Ljava/util/concurrent/atomic/AtomicReference; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/concurrent/atomic/AtomicReference<", "Lio/reactivex/disposables/Disposable;", ">;" } .end annotation .end field # direct methods .method public constructor ()V .locals 1 .line 31 invoke-direct {p0}, Ljava/lang/Object;->()V .line 32 new-instance v0, Ljava/util/concurrent/atomic/AtomicReference; invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;->()V iput-object v0, p0, Lio/reactivex/disposables/SerialDisposable;->resource:Ljava/util/concurrent/atomic/AtomicReference; return-void .end method .method public constructor (Lio/reactivex/disposables/Disposable;)V .locals 1 .line 39 invoke-direct {p0}, Ljava/lang/Object;->()V .line 40 new-instance v0, Ljava/util/concurrent/atomic/AtomicReference; invoke-direct {v0, p1}, Ljava/util/concurrent/atomic/AtomicReference;->(Ljava/lang/Object;)V iput-object v0, p0, Lio/reactivex/disposables/SerialDisposable;->resource:Ljava/util/concurrent/atomic/AtomicReference; return-void .end method # virtual methods .method public dispose()V .locals 1 .line 79 iget-object v0, p0, Lio/reactivex/disposables/SerialDisposable;->resource:Ljava/util/concurrent/atomic/AtomicReference; invoke-static {v0}, Lio/reactivex/internal/disposables/DisposableHelper;->dispose(Ljava/util/concurrent/atomic/AtomicReference;)Z return-void .end method .method public get()Lio/reactivex/disposables/Disposable; .locals 2 .line 70 iget-object v0, p0, Lio/reactivex/disposables/SerialDisposable;->resource:Ljava/util/concurrent/atomic/AtomicReference; invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Lio/reactivex/disposables/Disposable; .line 71 sget-object v1, Lio/reactivex/internal/disposables/DisposableHelper;->DISPOSED:Lio/reactivex/internal/disposables/DisposableHelper; if-ne v0, v1, :cond_0 .line 72 invoke-static {}, Lio/reactivex/disposables/Disposables;->disposed()Lio/reactivex/disposables/Disposable; move-result-object v0 :cond_0 return-object v0 .end method .method public isDisposed()Z .locals 1 .line 84 iget-object v0, p0, Lio/reactivex/disposables/SerialDisposable;->resource:Ljava/util/concurrent/atomic/AtomicReference; invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Lio/reactivex/disposables/Disposable; invoke-static {v0}, Lio/reactivex/internal/disposables/DisposableHelper;->isDisposed(Lio/reactivex/disposables/Disposable;)Z move-result v0 return v0 .end method .method public replace(Lio/reactivex/disposables/Disposable;)Z .locals 1 .line 62 iget-object v0, p0, Lio/reactivex/disposables/SerialDisposable;->resource:Ljava/util/concurrent/atomic/AtomicReference; invoke-static {v0, p1}, Lio/reactivex/internal/disposables/DisposableHelper;->replace(Ljava/util/concurrent/atomic/AtomicReference;Lio/reactivex/disposables/Disposable;)Z move-result p1 return p1 .end method .method public set(Lio/reactivex/disposables/Disposable;)Z .locals 1 .line 51 iget-object v0, p0, Lio/reactivex/disposables/SerialDisposable;->resource:Ljava/util/concurrent/atomic/AtomicReference; invoke-static {v0, p1}, Lio/reactivex/internal/disposables/DisposableHelper;->set(Ljava/util/concurrent/atomic/AtomicReference;Lio/reactivex/disposables/Disposable;)Z move-result p1 return p1 .end method