.class public final Lcom/google/common/util/concurrent/ClosingFuture$Peeker; .super Ljava/lang/Object; .source "ClosingFuture.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/google/common/util/concurrent/ClosingFuture; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x19 name = "Peeker" .end annotation # instance fields .field private volatile beingCalled:Z .field private final futures:Lcom/google/common/collect/ImmutableList; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/google/common/collect/ImmutableList<", "Lcom/google/common/util/concurrent/ClosingFuture<", "*>;>;" } .end annotation .end field # direct methods .method private constructor (Lcom/google/common/collect/ImmutableList;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/google/common/collect/ImmutableList<", "Lcom/google/common/util/concurrent/ClosingFuture<", "*>;>;)V" } .end annotation .line 2 invoke-direct {p0}, Ljava/lang/Object;->()V .line 3 invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Lcom/google/common/collect/ImmutableList; iput-object p1, p0, Lcom/google/common/util/concurrent/ClosingFuture$Peeker;->futures:Lcom/google/common/collect/ImmutableList; return-void .end method .method public synthetic constructor (Lcom/google/common/collect/ImmutableList;Lcom/google/common/util/concurrent/ClosingFuture$1;)V .locals 0 .line 1 invoke-direct {p0, p1}, Lcom/google/common/util/concurrent/ClosingFuture$Peeker;->(Lcom/google/common/collect/ImmutableList;)V return-void .end method .method public static synthetic access$1500(Lcom/google/common/util/concurrent/ClosingFuture$Peeker;Lcom/google/common/util/concurrent/ClosingFuture$Combiner$CombiningCallable;Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;)Ljava/lang/Object; .locals 0 .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/Exception; } .end annotation .line 1 invoke-direct {p0, p1, p2}, Lcom/google/common/util/concurrent/ClosingFuture$Peeker;->call(Lcom/google/common/util/concurrent/ClosingFuture$Combiner$CombiningCallable;Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method public static synthetic access$1700(Lcom/google/common/util/concurrent/ClosingFuture$Peeker;Lcom/google/common/util/concurrent/ClosingFuture$Combiner$AsyncCombiningCallable;Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;)Lcom/google/common/util/concurrent/FluentFuture; .locals 0 .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/Exception; } .end annotation .line 1 invoke-direct {p0, p1, p2}, Lcom/google/common/util/concurrent/ClosingFuture$Peeker;->callAsync(Lcom/google/common/util/concurrent/ClosingFuture$Combiner$AsyncCombiningCallable;Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;)Lcom/google/common/util/concurrent/FluentFuture; move-result-object p0 return-object p0 .end method .method private call(Lcom/google/common/util/concurrent/ClosingFuture$Combiner$CombiningCallable;Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;)Ljava/lang/Object; .locals 3 .annotation runtime Lcom/google/common/util/concurrent/ParametricNullness; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/google/common/util/concurrent/ClosingFuture$Combiner$CombiningCallable<", "TV;>;", "Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;", ")TV;" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/Exception; } .end annotation const/4 v0, 0x1 .line 1 iput-boolean v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$Peeker;->beingCalled:Z .line 2 new-instance v0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList; const/4 v1, 0x0 invoke-direct {v0, v1}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->(Lcom/google/common/util/concurrent/ClosingFuture$1;)V const/4 v1, 0x0 .line 3 :try_start_0 invoke-static {v0}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->access$300(Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;)Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser; move-result-object v2 invoke-interface {p1, v2, p0}, Lcom/google/common/util/concurrent/ClosingFuture$Combiner$CombiningCallable;->call(Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;Lcom/google/common/util/concurrent/ClosingFuture$Peeker;)Ljava/lang/Object; move-result-object p1 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 4 invoke-static {}, Lcom/google/common/util/concurrent/MoreExecutors;->directExecutor()Ljava/util/concurrent/Executor; move-result-object v2 invoke-virtual {p2, v0, v2}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->add(Ljava/io/Closeable;Ljava/util/concurrent/Executor;)V .line 5 iput-boolean v1, p0, Lcom/google/common/util/concurrent/ClosingFuture$Peeker;->beingCalled:Z return-object p1 :catchall_0 move-exception p1 .line 6 invoke-static {}, Lcom/google/common/util/concurrent/MoreExecutors;->directExecutor()Ljava/util/concurrent/Executor; move-result-object v2 invoke-virtual {p2, v0, v2}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->add(Ljava/io/Closeable;Ljava/util/concurrent/Executor;)V .line 7 iput-boolean v1, p0, Lcom/google/common/util/concurrent/ClosingFuture$Peeker;->beingCalled:Z .line 8 throw p1 .end method .method private callAsync(Lcom/google/common/util/concurrent/ClosingFuture$Combiner$AsyncCombiningCallable;Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;)Lcom/google/common/util/concurrent/FluentFuture; .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/google/common/util/concurrent/ClosingFuture$Combiner$AsyncCombiningCallable<", "TV;>;", "Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;", ")", "Lcom/google/common/util/concurrent/FluentFuture<", "TV;>;" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/Exception; } .end annotation const/4 v0, 0x1 .line 1 iput-boolean v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$Peeker;->beingCalled:Z .line 2 new-instance v0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList; const/4 v1, 0x0 invoke-direct {v0, v1}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->(Lcom/google/common/util/concurrent/ClosingFuture$1;)V const/4 v1, 0x0 .line 3 :try_start_0 invoke-static {v0}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->access$300(Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;)Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser; move-result-object v2 invoke-interface {p1, v2, p0}, Lcom/google/common/util/concurrent/ClosingFuture$Combiner$AsyncCombiningCallable;->call(Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;Lcom/google/common/util/concurrent/ClosingFuture$Peeker;)Lcom/google/common/util/concurrent/ClosingFuture; move-result-object p1 .line 4 invoke-static {p1, p2}, Lcom/google/common/util/concurrent/ClosingFuture;->access$1000(Lcom/google/common/util/concurrent/ClosingFuture;Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;)V .line 5 invoke-static {p1}, Lcom/google/common/util/concurrent/ClosingFuture;->access$000(Lcom/google/common/util/concurrent/ClosingFuture;)Lcom/google/common/util/concurrent/FluentFuture; move-result-object p1 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 6 invoke-static {}, Lcom/google/common/util/concurrent/MoreExecutors;->directExecutor()Ljava/util/concurrent/Executor; move-result-object v2 invoke-virtual {p2, v0, v2}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->add(Ljava/io/Closeable;Ljava/util/concurrent/Executor;)V .line 7 iput-boolean v1, p0, Lcom/google/common/util/concurrent/ClosingFuture$Peeker;->beingCalled:Z return-object p1 :catchall_0 move-exception p1 .line 8 invoke-static {}, Lcom/google/common/util/concurrent/MoreExecutors;->directExecutor()Ljava/util/concurrent/Executor; move-result-object v2 invoke-virtual {p2, v0, v2}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->add(Ljava/io/Closeable;Ljava/util/concurrent/Executor;)V .line 9 iput-boolean v1, p0, Lcom/google/common/util/concurrent/ClosingFuture$Peeker;->beingCalled:Z .line 10 throw p1 .end method # virtual methods .method public final getDone(Lcom/google/common/util/concurrent/ClosingFuture;)Ljava/lang/Object; .locals 1 .annotation runtime Lcom/google/common/util/concurrent/ParametricNullness; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/google/common/util/concurrent/ClosingFuture<", "TD;>;)TD;" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/util/concurrent/ExecutionException; } .end annotation .line 1 iget-boolean v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$Peeker;->beingCalled:Z invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkState(Z)V .line 2 iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$Peeker;->futures:Lcom/google/common/collect/ImmutableList; invoke-virtual {v0, p1}, Lcom/google/common/collect/ImmutableList;->contains(Ljava/lang/Object;)Z move-result v0 invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V .line 3 invoke-static {p1}, Lcom/google/common/util/concurrent/ClosingFuture;->access$000(Lcom/google/common/util/concurrent/ClosingFuture;)Lcom/google/common/util/concurrent/FluentFuture; move-result-object p1 invoke-static {p1}, Lcom/google/common/util/concurrent/Futures;->getDone(Ljava/util/concurrent/Future;)Ljava/lang/Object; move-result-object p1 return-object p1 .end method