abstract class com.google.common.util.concurrent.AbstractTransformFuture<I, O, F, T> extends com.google.common.util.concurrent.FluentFuture$TrustedFuture<O> implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.google.common.util.concurrent.AbstractTransformFuture
super_class: com.google.common.util.concurrent.FluentFuture$TrustedFuture
{
com.google.common.util.concurrent.ListenableFuture<? extends I> inputFuture;
descriptor: Lcom/google/common/util/concurrent/ListenableFuture;
flags: (0x0000)
Signature: Lcom/google/common/util/concurrent/ListenableFuture<+TI;>;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
F function;
descriptor: Ljava/lang/Object;
flags: (0x0000)
Signature: TF;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
static <I, O> com.google.common.util.concurrent.ListenableFuture<O> create(com.google.common.util.concurrent.ListenableFuture<I>, com.google.common.util.concurrent.AsyncFunction<? super I, ? extends O>, java.util.concurrent.Executor);
descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/AsyncFunction;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: new com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture
dup
aload 0
aload 1
invokespecial com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.<init>:(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/AsyncFunction;)V
astore 3
start local 3 2: aload 0
aload 3
aload 2
aload 3
invokestatic com.google.common.util.concurrent.MoreExecutors.rejectionPropagatingExecutor:(Ljava/util/concurrent/Executor;Lcom/google/common/util/concurrent/AbstractFuture;)Ljava/util/concurrent/Executor;
invokeinterface com.google.common.util.concurrent.ListenableFuture.addListener:(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 input Lcom/google/common/util/concurrent/ListenableFuture<TI;>;
0 4 1 function Lcom/google/common/util/concurrent/AsyncFunction<-TI;+TO;>;
0 4 2 executor Ljava/util/concurrent/Executor;
2 4 3 output Lcom/google/common/util/concurrent/AbstractTransformFuture$AsyncTransformFuture<TI;TO;>;
Signature: <I:Ljava/lang/Object;O:Ljava/lang/Object;>(Lcom/google/common/util/concurrent/ListenableFuture<TI;>;Lcom/google/common/util/concurrent/AsyncFunction<-TI;+TO;>;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture<TO;>;
MethodParameters:
Name Flags
input
function
executor
static <I, O> com.google.common.util.concurrent.ListenableFuture<O> create(com.google.common.util.concurrent.ListenableFuture<I>, com.google.common.base.Function<? super I, ? extends O>, java.util.concurrent.Executor);
descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/base/Function;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: new com.google.common.util.concurrent.AbstractTransformFuture$TransformFuture
dup
aload 0
aload 1
invokespecial com.google.common.util.concurrent.AbstractTransformFuture$TransformFuture.<init>:(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/base/Function;)V
astore 3
start local 3 2: aload 0
aload 3
aload 2
aload 3
invokestatic com.google.common.util.concurrent.MoreExecutors.rejectionPropagatingExecutor:(Ljava/util/concurrent/Executor;Lcom/google/common/util/concurrent/AbstractFuture;)Ljava/util/concurrent/Executor;
invokeinterface com.google.common.util.concurrent.ListenableFuture.addListener:(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 input Lcom/google/common/util/concurrent/ListenableFuture<TI;>;
0 4 1 function Lcom/google/common/base/Function<-TI;+TO;>;
0 4 2 executor Ljava/util/concurrent/Executor;
2 4 3 output Lcom/google/common/util/concurrent/AbstractTransformFuture$TransformFuture<TI;TO;>;
Signature: <I:Ljava/lang/Object;O:Ljava/lang/Object;>(Lcom/google/common/util/concurrent/ListenableFuture<TI;>;Lcom/google/common/base/Function<-TI;+TO;>;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture<TO;>;
MethodParameters:
Name Flags
input
function
executor
void <init>(com.google.common.util.concurrent.ListenableFuture<? extends I>, );
descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial com.google.common.util.concurrent.FluentFuture$TrustedFuture.<init>:()V
1: aload 0
aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.google.common.util.concurrent.ListenableFuture
putfield com.google.common.util.concurrent.AbstractTransformFuture.inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
2: aload 0
aload 2
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
putfield com.google.common.util.concurrent.AbstractTransformFuture.function:Ljava/lang/Object;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/util/concurrent/AbstractTransformFuture<TI;TO;TF;TT;>;
0 4 1 inputFuture Lcom/google/common/util/concurrent/ListenableFuture<+TI;>;
0 4 2 function TF;
Signature: (Lcom/google/common/util/concurrent/ListenableFuture<+TI;>;TF;)V
MethodParameters:
Name Flags
inputFuture
function
public final void run();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
getfield com.google.common.util.concurrent.AbstractTransformFuture.inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
astore 1
start local 1 1: aload 0
getfield com.google.common.util.concurrent.AbstractTransformFuture.function:Ljava/lang/Object;
astore 2
start local 2 2: aload 0
invokevirtual com.google.common.util.concurrent.AbstractTransformFuture.isCancelled:()Z
aload 1
ifnonnull 3
iconst_1
goto 4
StackMap locals: com.google.common.util.concurrent.AbstractTransformFuture com.google.common.util.concurrent.ListenableFuture java.lang.Object
StackMap stack: int
3: iconst_0
StackMap locals: com.google.common.util.concurrent.AbstractTransformFuture com.google.common.util.concurrent.ListenableFuture java.lang.Object
StackMap stack: int int
4: ior
aload 2
ifnonnull 5
iconst_1
goto 6
StackMap locals:
StackMap stack: int
5: iconst_0
StackMap locals: com.google.common.util.concurrent.AbstractTransformFuture com.google.common.util.concurrent.ListenableFuture java.lang.Object
StackMap stack: int int
6: ior
ifeq 8
7: return
8: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.google.common.util.concurrent.AbstractTransformFuture.inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
9: aload 1
invokeinterface com.google.common.util.concurrent.ListenableFuture.isCancelled:()Z
ifeq 12
10: aload 0
aload 1
invokevirtual com.google.common.util.concurrent.AbstractTransformFuture.setFuture:(Lcom/google/common/util/concurrent/ListenableFuture;)Z
pop
11: return
12: StackMap locals:
StackMap stack:
aload 1
invokestatic com.google.common.util.concurrent.Futures.getDone:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
astore 3
start local 3 13: goto 26
end local 3 StackMap locals:
StackMap stack: java.util.concurrent.CancellationException
14: pop
15: aload 0
iconst_0
invokevirtual com.google.common.util.concurrent.AbstractTransformFuture.cancel:(Z)Z
pop
16: return
17: StackMap locals:
StackMap stack: java.util.concurrent.ExecutionException
astore 4
start local 4 18: aload 0
aload 4
invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
invokevirtual com.google.common.util.concurrent.AbstractTransformFuture.setException:(Ljava/lang/Throwable;)Z
pop
19: return
end local 4 20: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 4
start local 4 21: aload 0
aload 4
invokevirtual com.google.common.util.concurrent.AbstractTransformFuture.setException:(Ljava/lang/Throwable;)Z
pop
22: return
end local 4 23: StackMap locals:
StackMap stack: java.lang.Error
astore 4
start local 4 24: aload 0
aload 4
invokevirtual com.google.common.util.concurrent.AbstractTransformFuture.setException:(Ljava/lang/Throwable;)Z
pop
25: return
end local 4 start local 3 26: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual com.google.common.util.concurrent.AbstractTransformFuture.doTransform:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 27: goto 35
end local 4 StackMap locals:
StackMap stack: java.lang.Throwable
28: astore 5
start local 5 29: aload 0
aload 5
invokevirtual com.google.common.util.concurrent.AbstractTransformFuture.setException:(Ljava/lang/Throwable;)Z
pop
30: aload 0
aconst_null
putfield com.google.common.util.concurrent.AbstractTransformFuture.function:Ljava/lang/Object;
31: return
end local 5 32: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
33: aload 0
aconst_null
putfield com.google.common.util.concurrent.AbstractTransformFuture.function:Ljava/lang/Object;
34: aload 6
athrow
start local 4 35: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aconst_null
putfield com.google.common.util.concurrent.AbstractTransformFuture.function:Ljava/lang/Object;
36: aload 0
aload 4
invokevirtual com.google.common.util.concurrent.AbstractTransformFuture.setResult:(Ljava/lang/Object;)V
37: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lcom/google/common/util/concurrent/AbstractTransformFuture<TI;TO;TF;TT;>;
1 38 1 localInputFuture Lcom/google/common/util/concurrent/ListenableFuture<+TI;>;
2 38 2 localFunction TF;
13 14 3 sourceResult TI;
26 38 3 sourceResult TI;
18 20 4 e Ljava/util/concurrent/ExecutionException;
21 23 4 e Ljava/lang/RuntimeException;
24 26 4 e Ljava/lang/Error;
27 28 4 transformResult TT;
35 38 4 transformResult TT;
29 32 5 t Ljava/lang/Throwable;
Exception table:
from to target type
12 13 14 Class java.util.concurrent.CancellationException
12 13 17 Class java.util.concurrent.ExecutionException
12 13 20 Class java.lang.RuntimeException
12 13 23 Class java.lang.Error
26 27 28 Class java.lang.Throwable
26 30 32 any
abstract T doTransform(F, );
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
Signature: (TF;TI;)TT;
RuntimeInvisibleAnnotations:
com.google.errorprone.annotations.ForOverride()
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
function
result
abstract void setResult();
descriptor: (Ljava/lang/Object;)V
flags: (0x0400) ACC_ABSTRACT
Signature: (TT;)V
RuntimeInvisibleAnnotations:
com.google.errorprone.annotations.ForOverride()
RuntimeVisibleTypeAnnotations:
METHOD_FORMAL_PARAMETER
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
result
protected final void afterDone();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield com.google.common.util.concurrent.AbstractTransformFuture.inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
invokevirtual com.google.common.util.concurrent.AbstractTransformFuture.maybePropagateCancellationTo:(Ljava/util/concurrent/Future;)V
1: aload 0
aconst_null
putfield com.google.common.util.concurrent.AbstractTransformFuture.inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
2: aload 0
aconst_null
putfield com.google.common.util.concurrent.AbstractTransformFuture.function:Ljava/lang/Object;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/util/concurrent/AbstractTransformFuture<TI;TO;TF;TT;>;
protected java.lang.String pendingToString();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield com.google.common.util.concurrent.AbstractTransformFuture.inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
astore 1
start local 1 1: aload 0
getfield com.google.common.util.concurrent.AbstractTransformFuture.function:Ljava/lang/Object;
astore 2
start local 2 2: aload 0
invokespecial com.google.common.util.concurrent.FluentFuture$TrustedFuture.pendingToString:()Ljava/lang/String;
astore 3
start local 3 3: ldc ""
astore 4
start local 4 4: aload 1
ifnull 6
5: new java.lang.StringBuilder
dup
ldc "inputFuture=["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "], "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
6: StackMap locals: com.google.common.util.concurrent.AbstractTransformFuture com.google.common.util.concurrent.ListenableFuture java.lang.Object java.lang.String java.lang.String
StackMap stack:
aload 2
ifnull 8
7: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "function=["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
8: StackMap locals:
StackMap stack:
aload 3
ifnull 10
9: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
10: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/google/common/util/concurrent/AbstractTransformFuture<TI;TO;TF;TT;>;
1 11 1 localInputFuture Lcom/google/common/util/concurrent/ListenableFuture<+TI;>;
2 11 2 localFunction TF;
3 11 3 superString Ljava/lang/String;
4 11 4 resultString Ljava/lang/String;
}
Signature: <I:Ljava/lang/Object;O:Ljava/lang/Object;F:Ljava/lang/Object;T:Ljava/lang/Object;>Lcom/google/common/util/concurrent/FluentFuture$TrustedFuture<TO;>;Ljava/lang/Runnable;
SourceFile: "AbstractTransformFuture.java"
NestMembers:
com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture com.google.common.util.concurrent.AbstractTransformFuture$TransformFuture
InnerClasses:
private final AsyncTransformFuture = com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture of com.google.common.util.concurrent.AbstractTransformFuture
private final TransformFuture = com.google.common.util.concurrent.AbstractTransformFuture$TransformFuture of com.google.common.util.concurrent.AbstractTransformFuture
abstract TrustedFuture = com.google.common.util.concurrent.FluentFuture$TrustedFuture of com.google.common.util.concurrent.FluentFuture
RuntimeInvisibleAnnotations:
com.google.common.annotations.GwtCompatible()