abstract class com.google.common.util.concurrent.AggregateFuture$RunningState extends com.google.common.util.concurrent.AggregateFutureState implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.google.common.util.concurrent.AggregateFuture$RunningState
super_class: com.google.common.util.concurrent.AggregateFutureState
{
private com.google.common.collect.ImmutableCollection<? extends com.google.common.util.concurrent.ListenableFuture<? extends InputT>> futures;
descriptor: Lcom/google/common/collect/ImmutableCollection;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/google/common/collect/ImmutableCollection<+Lcom/google/common/util/concurrent/ListenableFuture<+TInputT;>;>;
private final boolean allMustSucceed;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean collectsValues;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final com.google.common.util.concurrent.AggregateFuture this$0;
descriptor: Lcom/google/common/util/concurrent/AggregateFuture;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.google.common.collect.ImmutableCollection<? extends com.google.common.util.concurrent.ListenableFuture<? extends InputT>>, boolean, );
descriptor: (Lcom/google/common/util/concurrent/AggregateFuture;Lcom/google/common/collect/ImmutableCollection;ZZ)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=5
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield com.google.common.util.concurrent.AggregateFuture$RunningState.this$0:Lcom/google/common/util/concurrent/AggregateFuture;
1: aload 0
aload 2
invokevirtual com.google.common.collect.ImmutableCollection.size:()I
invokespecial com.google.common.util.concurrent.AggregateFutureState.<init>:(I)V
2: aload 0
aload 2
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.google.common.collect.ImmutableCollection
putfield com.google.common.util.concurrent.AggregateFuture$RunningState.futures:Lcom/google/common/collect/ImmutableCollection;
3: aload 0
iload 3
putfield com.google.common.util.concurrent.AggregateFuture$RunningState.allMustSucceed:Z
4: aload 0
iload 4
putfield com.google.common.util.concurrent.AggregateFuture$RunningState.collectsValues:Z
5: return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/util/concurrent/AggregateFuture$RunningState;
0 6 2 futures Lcom/google/common/collect/ImmutableCollection<+Lcom/google/common/util/concurrent/ListenableFuture<+TInputT;>;>;
0 6 3 allMustSucceed Z
0 6 4 collectsValues Z
Signature: (Lcom/google/common/collect/ImmutableCollection<+Lcom/google/common/util/concurrent/ListenableFuture<+TInputT;>;>;ZZ)V
MethodParameters:
Name Flags
this$0 final
futures
allMustSucceed
collectsValues
public final void run();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.util.concurrent.AggregateFuture$RunningState.decrementCountAndMaybeComplete:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/util/concurrent/AggregateFuture$RunningState;
private void init();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.futures:Lcom/google/common/collect/ImmutableCollection;
invokevirtual com.google.common.collect.ImmutableCollection.isEmpty:()Z
ifeq 3
1: aload 0
invokevirtual com.google.common.util.concurrent.AggregateFuture$RunningState.handleAllCompleted:()V
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.allMustSucceed:Z
ifeq 14
4: iconst_0
istore 1
start local 1 5: aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.futures:Lcom/google/common/collect/ImmutableCollection;
invokevirtual com.google.common.collect.ImmutableCollection.iterator:()Ljava/util/Iterator;
astore 3
goto 12
StackMap locals: com.google.common.util.concurrent.AggregateFuture$RunningState int top java.util.Iterator
StackMap stack:
6: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.google.common.util.concurrent.ListenableFuture
astore 2
start local 2 7: iload 1
iinc 1 1
istore 4
start local 4 8: aload 2
9: new com.google.common.util.concurrent.AggregateFuture$RunningState$1
dup
aload 0
iload 4
aload 2
invokespecial com.google.common.util.concurrent.AggregateFuture$RunningState$1.<init>:(Lcom/google/common/util/concurrent/AggregateFuture$RunningState;ILcom/google/common/util/concurrent/ListenableFuture;)V
10: invokestatic com.google.common.util.concurrent.MoreExecutors.directExecutor:()Ljava/util/concurrent/Executor;
11: invokeinterface com.google.common.util.concurrent.ListenableFuture.addListener:(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
end local 4 end local 2 12: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
end local 1 13: goto 18
14: StackMap locals: com.google.common.util.concurrent.AggregateFuture$RunningState
StackMap stack:
aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.futures:Lcom/google/common/collect/ImmutableCollection;
invokevirtual com.google.common.collect.ImmutableCollection.iterator:()Ljava/util/Iterator;
astore 2
goto 17
StackMap locals: com.google.common.util.concurrent.AggregateFuture$RunningState top java.util.Iterator
StackMap stack:
15: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.google.common.util.concurrent.ListenableFuture
astore 1
start local 1 16: aload 1
aload 0
invokestatic com.google.common.util.concurrent.MoreExecutors.directExecutor:()Ljava/util/concurrent/Executor;
invokeinterface com.google.common.util.concurrent.ListenableFuture.addListener:(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
end local 1 17: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
18: StackMap locals: com.google.common.util.concurrent.AggregateFuture$RunningState
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/google/common/util/concurrent/AggregateFuture$RunningState;
5 13 1 i I
7 12 2 listenable Lcom/google/common/util/concurrent/ListenableFuture<+TInputT;>;
8 12 4 index I
16 17 1 listenable Lcom/google/common/util/concurrent/ListenableFuture<+TInputT;>;
private void handleException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: iconst_0
istore 2
start local 2 2: iconst_1
istore 3
start local 3 3: aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.allMustSucceed:Z
ifeq 9
4: aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.this$0:Lcom/google/common/util/concurrent/AggregateFuture;
aload 1
invokevirtual com.google.common.util.concurrent.AggregateFuture.setException:(Ljava/lang/Throwable;)Z
istore 2
5: iload 2
ifeq 8
6: aload 0
invokevirtual com.google.common.util.concurrent.AggregateFuture$RunningState.releaseResourcesAfterFailure:()V
7: goto 9
8: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual com.google.common.util.concurrent.AggregateFuture$RunningState.getOrInitSeenExceptions:()Ljava/util/Set;
aload 1
invokestatic com.google.common.util.concurrent.AggregateFuture.addCausalChain:(Ljava/util/Set;Ljava/lang/Throwable;)Z
istore 3
9: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Error
10: aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.allMustSucceed:Z
iload 2
ifeq 11
iconst_0
goto 12
StackMap locals: com.google.common.util.concurrent.AggregateFuture$RunningState java.lang.Throwable int int
StackMap stack: int int
11: iconst_1
StackMap locals: com.google.common.util.concurrent.AggregateFuture$RunningState java.lang.Throwable int int
StackMap stack: int int int
12: iand
iload 3
iand
ior
ifeq 18
13: aload 1
instanceof java.lang.Error
ifeq 15
14: ldc "Input Future failed with Error"
goto 16
15: StackMap locals:
StackMap stack:
ldc "Got more than one input Future failure. Logging failures after the first"
16: StackMap locals:
StackMap stack: java.lang.String
astore 4
start local 4 17: getstatic com.google.common.util.concurrent.AggregateFuture.logger:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
aload 4
aload 1
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 18: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/google/common/util/concurrent/AggregateFuture$RunningState;
0 19 1 throwable Ljava/lang/Throwable;
2 19 2 completedWithFailure Z
3 19 3 firstTimeSeeingThisException Z
17 18 4 message Ljava/lang/String;
MethodParameters:
Name Flags
throwable
final void addInitialException(java.util.Set<java.lang.Throwable>);
descriptor: (Ljava/util/Set;)V
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.this$0:Lcom/google/common/util/concurrent/AggregateFuture;
invokevirtual com.google.common.util.concurrent.AggregateFuture.isCancelled:()Z
ifne 2
1: aload 1
aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.this$0:Lcom/google/common/util/concurrent/AggregateFuture;
invokevirtual com.google.common.util.concurrent.AggregateFuture.trustedGetException:()Ljava/lang/Throwable;
invokestatic com.google.common.util.concurrent.AggregateFuture.addCausalChain:(Ljava/util/Set;Ljava/lang/Throwable;)Z
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/util/concurrent/AggregateFuture$RunningState;
0 3 1 seen Ljava/util/Set<Ljava/lang/Throwable;>;
Signature: (Ljava/util/Set<Ljava/lang/Throwable;>;)V
MethodParameters:
Name Flags
seen
private void handleOneInputDone(int, java.util.concurrent.Future<? extends InputT>);
descriptor: (ILjava/util/concurrent/Future;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.allMustSucceed:Z
ifne 1
aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.this$0:Lcom/google/common/util/concurrent/AggregateFuture;
invokevirtual com.google.common.util.concurrent.AggregateFuture.isDone:()Z
ifeq 1
aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.this$0:Lcom/google/common/util/concurrent/AggregateFuture;
invokevirtual com.google.common.util.concurrent.AggregateFuture.isCancelled:()Z
ifne 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
2: StackMap locals:
StackMap stack: int
ldc "Future was done before all dependencies completed"
3: invokestatic com.google.common.base.Preconditions.checkState:(ZLjava/lang/Object;)V
4: aload 2
invokeinterface java.util.concurrent.Future.isDone:()Z
ldc "Tried to set value from future which is not done"
invokestatic com.google.common.base.Preconditions.checkState:(ZLjava/lang/Object;)V
5: aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.allMustSucceed:Z
ifeq 14
6: aload 2
invokeinterface java.util.concurrent.Future.isCancelled:()Z
ifeq 10
7: aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.this$0:Lcom/google/common/util/concurrent/AggregateFuture;
aconst_null
putfield com.google.common.util.concurrent.AggregateFuture.runningState:Lcom/google/common/util/concurrent/AggregateFuture$RunningState;
8: aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.this$0:Lcom/google/common/util/concurrent/AggregateFuture;
iconst_0
invokevirtual com.google.common.util.concurrent.AggregateFuture.cancel:(Z)Z
pop
9: goto 22
10: StackMap locals:
StackMap stack:
aload 2
invokestatic com.google.common.util.concurrent.Futures.getDone:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
astore 3
start local 3 11: aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.collectsValues:Z
ifeq 22
12: aload 0
aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.allMustSucceed:Z
iload 1
aload 3
invokevirtual com.google.common.util.concurrent.AggregateFuture$RunningState.collectOneValue:(ZILjava/lang/Object;)V
end local 3 13: goto 22
StackMap locals:
StackMap stack:
14: aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.collectsValues:Z
ifeq 22
aload 2
invokeinterface java.util.concurrent.Future.isCancelled:()Z
ifne 22
15: aload 0
aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.allMustSucceed:Z
iload 1
aload 2
invokestatic com.google.common.util.concurrent.Futures.getDone:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
invokevirtual com.google.common.util.concurrent.AggregateFuture$RunningState.collectOneValue:(ZILjava/lang/Object;)V
16: goto 22
StackMap locals:
StackMap stack: java.util.concurrent.ExecutionException
17: astore 3
start local 3 18: aload 0
aload 3
invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
invokevirtual com.google.common.util.concurrent.AggregateFuture$RunningState.handleException:(Ljava/lang/Throwable;)V
end local 3 19: goto 22
20: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 21: aload 0
aload 3
invokevirtual com.google.common.util.concurrent.AggregateFuture$RunningState.handleException:(Ljava/lang/Throwable;)V
end local 3 22: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/google/common/util/concurrent/AggregateFuture$RunningState;
0 23 1 index I
0 23 2 future Ljava/util/concurrent/Future<+TInputT;>;
11 13 3 result TInputT;
18 19 3 e Ljava/util/concurrent/ExecutionException;
21 22 3 t Ljava/lang/Throwable;
Exception table:
from to target type
4 16 17 Class java.util.concurrent.ExecutionException
4 16 20 Class java.lang.Throwable
Signature: (ILjava/util/concurrent/Future<+TInputT;>;)V
MethodParameters:
Name Flags
index
future
private void decrementCountAndMaybeComplete();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.util.concurrent.AggregateFuture$RunningState.decrementRemainingAndGet:()I
istore 1
start local 1 1: iload 1
iflt 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ldc "Less than 0 remaining futures"
invokestatic com.google.common.base.Preconditions.checkState:(ZLjava/lang/Object;)V
4: iload 1
ifne 6
5: aload 0
invokevirtual com.google.common.util.concurrent.AggregateFuture$RunningState.processCompleted:()V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/google/common/util/concurrent/AggregateFuture$RunningState;
1 7 1 newRemaining I
private void processCompleted();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.collectsValues:Z
aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.allMustSucceed:Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack: int
1: iconst_1
StackMap locals: com.google.common.util.concurrent.AggregateFuture$RunningState
StackMap stack: int int
2: iand
ifeq 8
3: iconst_0
istore 1
start local 1 4: aload 0
getfield com.google.common.util.concurrent.AggregateFuture$RunningState.futures:Lcom/google/common/collect/ImmutableCollection;
invokevirtual com.google.common.collect.ImmutableCollection.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: com.google.common.util.concurrent.AggregateFuture$RunningState int top java.util.Iterator
StackMap stack:
5: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.google.common.util.concurrent.ListenableFuture
astore 2
start local 2 6: aload 0
iload 1
iinc 1 1
aload 2
invokevirtual com.google.common.util.concurrent.AggregateFuture$RunningState.handleOneInputDone:(ILjava/util/concurrent/Future;)V
end local 2 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 1 8: StackMap locals: com.google.common.util.concurrent.AggregateFuture$RunningState
StackMap stack:
aload 0
invokevirtual com.google.common.util.concurrent.AggregateFuture$RunningState.handleAllCompleted:()V
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/google/common/util/concurrent/AggregateFuture$RunningState;
4 8 1 i I
6 7 2 listenable Lcom/google/common/util/concurrent/ListenableFuture<+TInputT;>;
void releaseResourcesAfterFailure();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield com.google.common.util.concurrent.AggregateFuture$RunningState.futures:Lcom/google/common/collect/ImmutableCollection;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/util/concurrent/AggregateFuture$RunningState;
RuntimeInvisibleAnnotations:
com.google.errorprone.annotations.ForOverride()
com.google.errorprone.annotations.OverridingMethodsMustInvokeSuper()
abstract void collectOneValue(boolean, int, );
descriptor: (ZILjava/lang/Object;)V
flags: (0x0400) ACC_ABSTRACT
Signature: (ZITInputT;)V
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
allMustSucceed
index
returnValue
abstract void handleAllCompleted();
descriptor: ()V
flags: (0x0400) ACC_ABSTRACT
void interruptTask();
descriptor: ()V
flags: (0x0000)
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/util/concurrent/AggregateFuture$RunningState;
}
SourceFile: "AggregateFuture.java"
NestHost: com.google.common.util.concurrent.AggregateFuture
InnerClasses:
abstract RunningState = com.google.common.util.concurrent.AggregateFuture$RunningState of com.google.common.util.concurrent.AggregateFuture
com.google.common.util.concurrent.AggregateFuture$RunningState$1