public final class com.google.common.util.concurrent.Futures extends com.google.common.util.concurrent.GwtFuturesCatchingSpecialization
{
private void <init>()
{
com.google.common.util.concurrent.Futures v;
v := @this: com.google.common.util.concurrent.Futures;
specialinvoke v.<com.google.common.util.concurrent.GwtFuturesCatchingSpecialization: void <init>()>();
return;
}
public static com.google.common.util.concurrent.ListenableFuture immediateFuture(java.lang.Object)
{
java.lang.Object v;
com.google.common.util.concurrent.ListenableFuture v;
com.google.common.util.concurrent.ImmediateFuture v;
v := @parameter: java.lang.Object;
if v != null goto label;
v = <com.google.common.util.concurrent.ImmediateFuture: com.google.common.util.concurrent.ListenableFuture NULL>;
return v;
label:
v = new com.google.common.util.concurrent.ImmediateFuture;
specialinvoke v.<com.google.common.util.concurrent.ImmediateFuture: void <init>(java.lang.Object)>(v);
return v;
}
public static com.google.common.util.concurrent.ListenableFuture immediateVoidFuture()
{
com.google.common.util.concurrent.ListenableFuture v;
v = <com.google.common.util.concurrent.ImmediateFuture: com.google.common.util.concurrent.ListenableFuture NULL>;
return v;
}
public static com.google.common.util.concurrent.ListenableFuture immediateFailedFuture(java.lang.Throwable)
{
java.lang.Throwable v;
com.google.common.util.concurrent.ImmediateFuture$ImmediateFailedFuture v;
v := @parameter: java.lang.Throwable;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = new com.google.common.util.concurrent.ImmediateFuture$ImmediateFailedFuture;
specialinvoke v.<com.google.common.util.concurrent.ImmediateFuture$ImmediateFailedFuture: void <init>(java.lang.Throwable)>(v);
return v;
}
public static com.google.common.util.concurrent.ListenableFuture immediateCancelledFuture()
{
com.google.common.util.concurrent.ImmediateFuture$ImmediateCancelledFuture v;
v = new com.google.common.util.concurrent.ImmediateFuture$ImmediateCancelledFuture;
specialinvoke v.<com.google.common.util.concurrent.ImmediateFuture$ImmediateCancelledFuture: void <init>()>();
return v;
}
public static com.google.common.util.concurrent.ListenableFuture submit(java.util.concurrent.Callable, java.util.concurrent.Executor)
{
com.google.common.util.concurrent.TrustedListenableFutureTask v;
java.util.concurrent.Callable v;
java.util.concurrent.Executor v;
v := @parameter: java.util.concurrent.Callable;
v := @parameter: java.util.concurrent.Executor;
v = staticinvoke <com.google.common.util.concurrent.TrustedListenableFutureTask: com.google.common.util.concurrent.TrustedListenableFutureTask create(java.util.concurrent.Callable)>(v);
interfaceinvoke v.<java.util.concurrent.Executor: void execute(java.lang.Runnable)>(v);
return v;
}
public static com.google.common.util.concurrent.ListenableFuture submit(java.lang.Runnable, java.util.concurrent.Executor)
{
com.google.common.util.concurrent.TrustedListenableFutureTask v;
java.lang.Runnable v;
java.util.concurrent.Executor v;
v := @parameter: java.lang.Runnable;
v := @parameter: java.util.concurrent.Executor;
v = staticinvoke <com.google.common.util.concurrent.TrustedListenableFutureTask: com.google.common.util.concurrent.TrustedListenableFutureTask create(java.lang.Runnable,java.lang.Object)>(v, null);
interfaceinvoke v.<java.util.concurrent.Executor: void execute(java.lang.Runnable)>(v);
return v;
}
public static com.google.common.util.concurrent.ListenableFuture submitAsync(com.google.common.util.concurrent.AsyncCallable, java.util.concurrent.Executor)
{
com.google.common.util.concurrent.TrustedListenableFutureTask v;
java.util.concurrent.Executor v;
com.google.common.util.concurrent.AsyncCallable v;
v := @parameter: com.google.common.util.concurrent.AsyncCallable;
v := @parameter: java.util.concurrent.Executor;
v = staticinvoke <com.google.common.util.concurrent.TrustedListenableFutureTask: com.google.common.util.concurrent.TrustedListenableFutureTask create(com.google.common.util.concurrent.AsyncCallable)>(v);
interfaceinvoke v.<java.util.concurrent.Executor: void execute(java.lang.Runnable)>(v);
return v;
}
public static com.google.common.util.concurrent.ListenableFuture scheduleAsync(com.google.common.util.concurrent.AsyncCallable, java.time.Duration, java.util.concurrent.ScheduledExecutorService)
{
java.util.concurrent.TimeUnit v;
com.google.common.util.concurrent.ListenableFuture v;
java.time.Duration v;
java.util.concurrent.ScheduledExecutorService v;
long v;
com.google.common.util.concurrent.AsyncCallable v;
v := @parameter: com.google.common.util.concurrent.AsyncCallable;
v := @parameter: java.time.Duration;
v := @parameter: java.util.concurrent.ScheduledExecutorService;
v = staticinvoke <com.google.common.util.concurrent.Internal: long toNanosSaturated(java.time.Duration)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit NANOSECONDS>;
v = staticinvoke <com.google.common.util.concurrent.Futures: com.google.common.util.concurrent.ListenableFuture scheduleAsync(com.google.common.util.concurrent.AsyncCallable,long,java.util.concurrent.TimeUnit,java.util.concurrent.ScheduledExecutorService)>(v, v, v, v);
return v;
}
public static com.google.common.util.concurrent.ListenableFuture scheduleAsync(com.google.common.util.concurrent.AsyncCallable, long, java.util.concurrent.TimeUnit, java.util.concurrent.ScheduledExecutorService)
{
java.util.concurrent.ScheduledFuture v;
java.util.concurrent.Executor v;
long v;
com.google.common.util.concurrent.Futures$1 v;
com.google.common.util.concurrent.AsyncCallable v;
java.util.concurrent.TimeUnit v;
java.util.concurrent.ScheduledExecutorService v;
com.google.common.util.concurrent.TrustedListenableFutureTask v;
v := @parameter: com.google.common.util.concurrent.AsyncCallable;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v := @parameter: java.util.concurrent.ScheduledExecutorService;
v = staticinvoke <com.google.common.util.concurrent.TrustedListenableFutureTask: com.google.common.util.concurrent.TrustedListenableFutureTask create(com.google.common.util.concurrent.AsyncCallable)>(v);
v = interfaceinvoke v.<java.util.concurrent.ScheduledExecutorService: java.util.concurrent.ScheduledFuture schedule(java.lang.Runnable,long,java.util.concurrent.TimeUnit)>(v, v, v);
v = new com.google.common.util.concurrent.Futures$1;
specialinvoke v.<com.google.common.util.concurrent.Futures$1: void <init>(java.util.concurrent.Future)>(v);
v = staticinvoke <com.google.common.util.concurrent.MoreExecutors: java.util.concurrent.Executor directExecutor()>();
virtualinvoke v.<com.google.common.util.concurrent.TrustedListenableFutureTask: void addListener(java.lang.Runnable,java.util.concurrent.Executor)>(v, v);
return v;
}
public static com.google.common.util.concurrent.ListenableFuture catching(com.google.common.util.concurrent.ListenableFuture, java.lang.Class, com.google.common.base.Function, java.util.concurrent.Executor)
{
com.google.common.base.Function v;
com.google.common.util.concurrent.ListenableFuture v, v;
java.util.concurrent.Executor v;
java.lang.Class v;
v := @parameter: com.google.common.util.concurrent.ListenableFuture;
v := @parameter: java.lang.Class;
v := @parameter: com.google.common.base.Function;
v := @parameter: java.util.concurrent.Executor;
v = staticinvoke <com.google.common.util.concurrent.AbstractCatchingFuture: com.google.common.util.concurrent.ListenableFuture create(com.google.common.util.concurrent.ListenableFuture,java.lang.Class,com.google.common.base.Function,java.util.concurrent.Executor)>(v, v, v, v);
return v;
}
public static com.google.common.util.concurrent.ListenableFuture catchingAsync(com.google.common.util.concurrent.ListenableFuture, java.lang.Class, com.google.common.util.concurrent.AsyncFunction, java.util.concurrent.Executor)
{
com.google.common.util.concurrent.ListenableFuture v, v;
java.util.concurrent.Executor v;
com.google.common.util.concurrent.AsyncFunction v;
java.lang.Class v;
v := @parameter: com.google.common.util.concurrent.ListenableFuture;
v := @parameter: java.lang.Class;
v := @parameter: com.google.common.util.concurrent.AsyncFunction;
v := @parameter: java.util.concurrent.Executor;
v = staticinvoke <com.google.common.util.concurrent.AbstractCatchingFuture: com.google.common.util.concurrent.ListenableFuture create(com.google.common.util.concurrent.ListenableFuture,java.lang.Class,com.google.common.util.concurrent.AsyncFunction,java.util.concurrent.Executor)>(v, v, v, v);
return v;
}
public static com.google.common.util.concurrent.ListenableFuture withTimeout(com.google.common.util.concurrent.ListenableFuture, java.time.Duration, java.util.concurrent.ScheduledExecutorService)
{
java.util.concurrent.TimeUnit v;
com.google.common.util.concurrent.ListenableFuture v, v;
java.time.Duration v;
java.util.concurrent.ScheduledExecutorService v;
long v;
v := @parameter: com.google.common.util.concurrent.ListenableFuture;
v := @parameter: java.time.Duration;
v := @parameter: java.util.concurrent.ScheduledExecutorService;
v = staticinvoke <com.google.common.util.concurrent.Internal: long toNanosSaturated(java.time.Duration)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit NANOSECONDS>;
v = staticinvoke <com.google.common.util.concurrent.Futures: com.google.common.util.concurrent.ListenableFuture withTimeout(com.google.common.util.concurrent.ListenableFuture,long,java.util.concurrent.TimeUnit,java.util.concurrent.ScheduledExecutorService)>(v, v, v, v);
return v;
}
public static com.google.common.util.concurrent.ListenableFuture withTimeout(com.google.common.util.concurrent.ListenableFuture, long, java.util.concurrent.TimeUnit, java.util.concurrent.ScheduledExecutorService)
{
java.util.concurrent.TimeUnit v;
com.google.common.util.concurrent.ListenableFuture v, v;
java.util.concurrent.ScheduledExecutorService v;
long v;
boolean v;
v := @parameter: com.google.common.util.concurrent.ListenableFuture;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v := @parameter: java.util.concurrent.ScheduledExecutorService;
v = interfaceinvoke v.<com.google.common.util.concurrent.ListenableFuture: boolean isDone()>();
if v == 0 goto label;
return v;
label:
v = staticinvoke <com.google.common.util.concurrent.TimeoutFuture: com.google.common.util.concurrent.ListenableFuture create(com.google.common.util.concurrent.ListenableFuture,long,java.util.concurrent.TimeUnit,java.util.concurrent.ScheduledExecutorService)>(v, v, v, v);
return v;
}
public static com.google.common.util.concurrent.ListenableFuture transformAsync(com.google.common.util.concurrent.ListenableFuture, com.google.common.util.concurrent.AsyncFunction, java.util.concurrent.Executor)
{
com.google.common.util.concurrent.ListenableFuture v, v;
java.util.concurrent.Executor v;
com.google.common.util.concurrent.AsyncFunction v;
v := @parameter: com.google.common.util.concurrent.ListenableFuture;
v := @parameter: com.google.common.util.concurrent.AsyncFunction;
v := @parameter: java.util.concurrent.Executor;
v = staticinvoke <com.google.common.util.concurrent.AbstractTransformFuture: com.google.common.util.concurrent.ListenableFuture create(com.google.common.util.concurrent.ListenableFuture,com.google.common.util.concurrent.AsyncFunction,java.util.concurrent.Executor)>(v, v, v);
return v;
}
public static com.google.common.util.concurrent.ListenableFuture transform(com.google.common.util.concurrent.ListenableFuture, com.google.common.base.Function, java.util.concurrent.Executor)
{
com.google.common.base.Function v;
com.google.common.util.concurrent.ListenableFuture v, v;
java.util.concurrent.Executor v;
v := @parameter: com.google.common.util.concurrent.ListenableFuture;
v := @parameter: com.google.common.base.Function;
v := @parameter: java.util.concurrent.Executor;
v = staticinvoke <com.google.common.util.concurrent.AbstractTransformFuture: com.google.common.util.concurrent.ListenableFuture create(com.google.common.util.concurrent.ListenableFuture,com.google.common.base.Function,java.util.concurrent.Executor)>(v, v, v);
return v;
}
public static java.util.concurrent.Future lazyTransform(java.util.concurrent.Future, com.google.common.base.Function)
{
com.google.common.util.concurrent.Futures$2 v;
java.util.concurrent.Future v;
com.google.common.base.Function v;
v := @parameter: java.util.concurrent.Future;
v := @parameter: com.google.common.base.Function;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = new com.google.common.util.concurrent.Futures$2;
specialinvoke v.<com.google.common.util.concurrent.Futures$2: void <init>(java.util.concurrent.Future,com.google.common.base.Function)>(v, v);
return v;
}
public static transient com.google.common.util.concurrent.ListenableFuture allAsList(com.google.common.util.concurrent.ListenableFuture[])
{
com.google.common.collect.ImmutableList v;
com.google.common.util.concurrent.CollectionFuture$ListFuture v;
com.google.common.util.concurrent.ListenableFuture[] v;
v := @parameter: com.google.common.util.concurrent.ListenableFuture[];
v = new com.google.common.util.concurrent.CollectionFuture$ListFuture;
v = staticinvoke <com.google.common.collect.ImmutableList: com.google.common.collect.ImmutableList copyOf(java.lang.Object[])>(v);
specialinvoke v.<com.google.common.util.concurrent.CollectionFuture$ListFuture: void <init>(com.google.common.collect.ImmutableCollection,boolean)>(v, 1);
return v;
}
public static com.google.common.util.concurrent.ListenableFuture allAsList(java.lang.Iterable)
{
com.google.common.collect.ImmutableList v;
com.google.common.util.concurrent.CollectionFuture$ListFuture v;
java.lang.Iterable v;
v := @parameter: java.lang.Iterable;
v = new com.google.common.util.concurrent.CollectionFuture$ListFuture;
v = staticinvoke <com.google.common.collect.ImmutableList: com.google.common.collect.ImmutableList copyOf(java.lang.Iterable)>(v);
specialinvoke v.<com.google.common.util.concurrent.CollectionFuture$ListFuture: void <init>(com.google.common.collect.ImmutableCollection,boolean)>(v, 1);
return v;
}
public static transient com.google.common.util.concurrent.Futures$FutureCombiner whenAllComplete(com.google.common.util.concurrent.ListenableFuture[])
{
com.google.common.collect.ImmutableList v;
com.google.common.util.concurrent.Futures$FutureCombiner v;
com.google.common.util.concurrent.ListenableFuture[] v;
v := @parameter: com.google.common.util.concurrent.ListenableFuture[];
v = new com.google.common.util.concurrent.Futures$FutureCombiner;
v = staticinvoke <com.google.common.collect.ImmutableList: com.google.common.collect.ImmutableList copyOf(java.lang.Object[])>(v);
specialinvoke v.<com.google.common.util.concurrent.Futures$FutureCombiner: void <init>(boolean,com.google.common.collect.ImmutableList)>(0, v);
return v;
}
public static com.google.common.util.concurrent.Futures$FutureCombiner whenAllComplete(java.lang.Iterable)
{
com.google.common.collect.ImmutableList v;
java.lang.Iterable v;
com.google.common.util.concurrent.Futures$FutureCombiner v;
v := @parameter: java.lang.Iterable;
v = new com.google.common.util.concurrent.Futures$FutureCombiner;
v = staticinvoke <com.google.common.collect.ImmutableList: com.google.common.collect.ImmutableList copyOf(java.lang.Iterable)>(v);
specialinvoke v.<com.google.common.util.concurrent.Futures$FutureCombiner: void <init>(boolean,com.google.common.collect.ImmutableList)>(0, v);
return v;
}
public static transient com.google.common.util.concurrent.Futures$FutureCombiner whenAllSucceed(com.google.common.util.concurrent.ListenableFuture[])
{
com.google.common.collect.ImmutableList v;
com.google.common.util.concurrent.Futures$FutureCombiner v;
com.google.common.util.concurrent.ListenableFuture[] v;
v := @parameter: com.google.common.util.concurrent.ListenableFuture[];
v = new com.google.common.util.concurrent.Futures$FutureCombiner;
v = staticinvoke <com.google.common.collect.ImmutableList: com.google.common.collect.ImmutableList copyOf(java.lang.Object[])>(v);
specialinvoke v.<com.google.common.util.concurrent.Futures$FutureCombiner: void <init>(boolean,com.google.common.collect.ImmutableList)>(1, v);
return v;
}
public static com.google.common.util.concurrent.Futures$FutureCombiner whenAllSucceed(java.lang.Iterable)
{
com.google.common.collect.ImmutableList v;
java.lang.Iterable v;
com.google.common.util.concurrent.Futures$FutureCombiner v;
v := @parameter: java.lang.Iterable;
v = new com.google.common.util.concurrent.Futures$FutureCombiner;
v = staticinvoke <com.google.common.collect.ImmutableList: com.google.common.collect.ImmutableList copyOf(java.lang.Iterable)>(v);
specialinvoke v.<com.google.common.util.concurrent.Futures$FutureCombiner: void <init>(boolean,com.google.common.collect.ImmutableList)>(1, v);
return v;
}
public static com.google.common.util.concurrent.ListenableFuture nonCancellationPropagating(com.google.common.util.concurrent.ListenableFuture)
{
com.google.common.util.concurrent.ListenableFuture v;
java.util.concurrent.Executor v;
com.google.common.util.concurrent.Futures$NonCancellationPropagatingFuture v;
boolean v;
v := @parameter: com.google.common.util.concurrent.ListenableFuture;
v = interfaceinvoke v.<com.google.common.util.concurrent.ListenableFuture: boolean isDone()>();
if v == 0 goto label;
return v;
label:
v = new com.google.common.util.concurrent.Futures$NonCancellationPropagatingFuture;
specialinvoke v.<com.google.common.util.concurrent.Futures$NonCancellationPropagatingFuture: void <init>(com.google.common.util.concurrent.ListenableFuture)>(v);
v = staticinvoke <com.google.common.util.concurrent.MoreExecutors: java.util.concurrent.Executor directExecutor()>();
interfaceinvoke v.<com.google.common.util.concurrent.ListenableFuture: void addListener(java.lang.Runnable,java.util.concurrent.Executor)>(v, v);
return v;
}
public static transient com.google.common.util.concurrent.ListenableFuture successfulAsList(com.google.common.util.concurrent.ListenableFuture[])
{
com.google.common.collect.ImmutableList v;
com.google.common.util.concurrent.CollectionFuture$ListFuture v;
com.google.common.util.concurrent.ListenableFuture[] v;
v := @parameter: com.google.common.util.concurrent.ListenableFuture[];
v = new com.google.common.util.concurrent.CollectionFuture$ListFuture;
v = staticinvoke <com.google.common.collect.ImmutableList: com.google.common.collect.ImmutableList copyOf(java.lang.Object[])>(v);
specialinvoke v.<com.google.common.util.concurrent.CollectionFuture$ListFuture: void <init>(com.google.common.collect.ImmutableCollection,boolean)>(v, 0);
return v;
}
public static com.google.common.util.concurrent.ListenableFuture successfulAsList(java.lang.Iterable)
{
com.google.common.collect.ImmutableList v;
com.google.common.util.concurrent.CollectionFuture$ListFuture v;
java.lang.Iterable v;
v := @parameter: java.lang.Iterable;
v = new com.google.common.util.concurrent.CollectionFuture$ListFuture;
v = staticinvoke <com.google.common.collect.ImmutableList: com.google.common.collect.ImmutableList copyOf(java.lang.Iterable)>(v);
specialinvoke v.<com.google.common.util.concurrent.CollectionFuture$ListFuture: void <init>(com.google.common.collect.ImmutableCollection,boolean)>(v, 0);
return v;
}
public static com.google.common.collect.ImmutableList inCompletionOrder(java.lang.Iterable)
{
com.google.common.util.concurrent.Futures$3 v;
com.google.common.util.concurrent.ListenableFuture v;
java.util.concurrent.Executor v;
com.google.common.util.concurrent.Futures$InCompletionOrderFuture v;
java.lang.Iterable v;
com.google.common.util.concurrent.Futures$InCompletionOrderState v;
com.google.common.collect.ImmutableList v;
com.google.common.util.concurrent.ListenableFuture[] v;
int v, v, v, v, v;
com.google.common.collect.ImmutableList$Builder v;
v := @parameter: java.lang.Iterable;
v = staticinvoke <com.google.common.util.concurrent.Futures: com.google.common.util.concurrent.ListenableFuture[] gwtCompatibleToArray(java.lang.Iterable)>(v);
v = new com.google.common.util.concurrent.Futures$InCompletionOrderState;
specialinvoke v.<com.google.common.util.concurrent.Futures$InCompletionOrderState: void <init>(com.google.common.util.concurrent.ListenableFuture[])>(v);
v = lengthof v;
v = staticinvoke <com.google.common.collect.ImmutableList: com.google.common.collect.ImmutableList$Builder builderWithExpectedSize(int)>(v);
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = new com.google.common.util.concurrent.Futures$InCompletionOrderFuture;
specialinvoke v.<com.google.common.util.concurrent.Futures$InCompletionOrderFuture: void <init>(com.google.common.util.concurrent.Futures$InCompletionOrderState)>(v);
virtualinvoke v.<com.google.common.collect.ImmutableList$Builder: com.google.common.collect.ImmutableList$Builder add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<com.google.common.collect.ImmutableList$Builder: com.google.common.collect.ImmutableList build()>();
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = new com.google.common.util.concurrent.Futures$3;
specialinvoke v.<com.google.common.util.concurrent.Futures$3: void <init>(com.google.common.util.concurrent.Futures$InCompletionOrderState,com.google.common.collect.ImmutableList,int)>(v, v, v);
v = staticinvoke <com.google.common.util.concurrent.MoreExecutors: java.util.concurrent.Executor directExecutor()>();
interfaceinvoke v.<com.google.common.util.concurrent.ListenableFuture: void addListener(java.lang.Runnable,java.util.concurrent.Executor)>(v, v);
v = v + 1;
goto label;
label:
return v;
}
private static com.google.common.util.concurrent.ListenableFuture[] gwtCompatibleToArray(java.lang.Iterable)
{
java.lang.Object[] v;
com.google.common.util.concurrent.ListenableFuture[] v;
java.lang.Iterable v;
boolean v;
v := @parameter: java.lang.Iterable;
v = v instanceof java.util.Collection;
if v != 0 goto label;
v = staticinvoke <com.google.common.collect.ImmutableList: com.google.common.collect.ImmutableList copyOf(java.lang.Iterable)>(v);
label:
v = newarray (com.google.common.util.concurrent.ListenableFuture)[0];
v = interfaceinvoke v.<java.util.Collection: java.lang.Object[] toArray(java.lang.Object[])>(v);
return v;
}
public static void addCallback(com.google.common.util.concurrent.ListenableFuture, com.google.common.util.concurrent.FutureCallback, java.util.concurrent.Executor)
{
com.google.common.util.concurrent.ListenableFuture v;
java.util.concurrent.Executor v;
com.google.common.util.concurrent.FutureCallback v;
com.google.common.util.concurrent.Futures$CallbackListener v;
v := @parameter: com.google.common.util.concurrent.ListenableFuture;
v := @parameter: com.google.common.util.concurrent.FutureCallback;
v := @parameter: java.util.concurrent.Executor;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = new com.google.common.util.concurrent.Futures$CallbackListener;
specialinvoke v.<com.google.common.util.concurrent.Futures$CallbackListener: void <init>(java.util.concurrent.Future,com.google.common.util.concurrent.FutureCallback)>(v, v);
interfaceinvoke v.<com.google.common.util.concurrent.ListenableFuture: void addListener(java.lang.Runnable,java.util.concurrent.Executor)>(v, v);
return;
}
public static java.lang.Object getDone(java.util.concurrent.Future) throws java.util.concurrent.ExecutionException
{
java.lang.Object v;
java.util.concurrent.Future v;
boolean v;
v := @parameter: java.util.concurrent.Future;
v = interfaceinvoke v.<java.util.concurrent.Future: boolean isDone()>();
staticinvoke <com.google.common.base.Preconditions: void checkState(boolean,java.lang.String,java.lang.Object)>(v, "Future was expected to be done: %s", v);
v = staticinvoke <com.google.common.util.concurrent.Uninterruptibles: java.lang.Object getUninterruptibly(java.util.concurrent.Future)>(v);
return v;
}
public static java.lang.Object getChecked(java.util.concurrent.Future, java.lang.Class) throws java.lang.Exception
{
java.lang.Class v;
java.lang.Object v;
java.util.concurrent.Future v;
v := @parameter: java.util.concurrent.Future;
v := @parameter: java.lang.Class;
v = staticinvoke <com.google.common.util.concurrent.FuturesGetChecked: java.lang.Object getChecked(java.util.concurrent.Future,java.lang.Class)>(v, v);
return v;
}
public static java.lang.Object getChecked(java.util.concurrent.Future, java.lang.Class, java.time.Duration) throws java.lang.Exception
{
java.util.concurrent.TimeUnit v;
java.util.concurrent.Future v;
java.time.Duration v;
java.lang.Class v;
java.lang.Object v;
long v;
v := @parameter: java.util.concurrent.Future;
v := @parameter: java.lang.Class;
v := @parameter: java.time.Duration;
v = staticinvoke <com.google.common.util.concurrent.Internal: long toNanosSaturated(java.time.Duration)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit NANOSECONDS>;
v = staticinvoke <com.google.common.util.concurrent.Futures: java.lang.Object getChecked(java.util.concurrent.Future,java.lang.Class,long,java.util.concurrent.TimeUnit)>(v, v, v, v);
return v;
}
public static java.lang.Object getChecked(java.util.concurrent.Future, java.lang.Class, long, java.util.concurrent.TimeUnit) throws java.lang.Exception
{
java.util.concurrent.TimeUnit v;
java.util.concurrent.Future v;
java.lang.Class v;
java.lang.Object v;
long v;
v := @parameter: java.util.concurrent.Future;
v := @parameter: java.lang.Class;
v := @parameter: long;
v := @parameter: java.util.concurrent.TimeUnit;
v = staticinvoke <com.google.common.util.concurrent.FuturesGetChecked: java.lang.Object getChecked(java.util.concurrent.Future,java.lang.Class,long,java.util.concurrent.TimeUnit)>(v, v, v, v);
return v;
}
public static java.lang.Object getUnchecked(java.util.concurrent.Future)
{
java.lang.Throwable v;
java.util.concurrent.ExecutionException v;
java.util.concurrent.Future v;
java.lang.Object v;
java.lang.AssertionError v;
v := @parameter: java.util.concurrent.Future;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
label:
v = staticinvoke <com.google.common.util.concurrent.Uninterruptibles: java.lang.Object getUninterruptibly(java.util.concurrent.Future)>(v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<java.util.concurrent.ExecutionException: java.lang.Throwable getCause()>();
staticinvoke <com.google.common.util.concurrent.Futures: void wrapAndThrowUnchecked(java.lang.Throwable)>(v);
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
catch java.util.concurrent.ExecutionException from label to label with label;
}
private static void wrapAndThrowUnchecked(java.lang.Throwable)
{
java.lang.Throwable v;
com.google.common.util.concurrent.UncheckedExecutionException v;
com.google.common.util.concurrent.ExecutionError v;
boolean v;
v := @parameter: java.lang.Throwable;
v = v instanceof java.lang.Error;
if v == 0 goto label;
v = new com.google.common.util.concurrent.ExecutionError;
specialinvoke v.<com.google.common.util.concurrent.ExecutionError: void <init>(java.lang.Error)>(v);
throw v;
label:
v = new com.google.common.util.concurrent.UncheckedExecutionException;
specialinvoke v.<com.google.common.util.concurrent.UncheckedExecutionException: void <init>(java.lang.Throwable)>(v);
throw v;
}
}