abstract class com.google.common.util.concurrent.AbstractCatchingFuture<V, X extends java.lang.Throwable, F, T> extends com.google.common.util.concurrent.AbstractFuture$TrustedFuture<V> implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.google.common.util.concurrent.AbstractCatchingFuture
super_class: com.google.common.util.concurrent.AbstractFuture$TrustedFuture
{
com.google.common.util.concurrent.ListenableFuture<? extends V> inputFuture;
descriptor: Lcom/google/common/util/concurrent/ListenableFuture;
flags: (0x0000)
Signature: Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
java.lang.Class<X> exceptionType;
descriptor: Ljava/lang/Class;
flags: (0x0000)
Signature: Ljava/lang/Class<TX;>;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
F fallback;
descriptor: Ljava/lang/Object;
flags: (0x0000)
Signature: TF;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
static <V, X extends java.lang.Throwable> com.google.common.util.concurrent.ListenableFuture<V> create(com.google.common.util.concurrent.ListenableFuture<? extends V>, java.lang.Class<X>, com.google.common.base.Function<? super X, ? extends V>, java.util.concurrent.Executor);
descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/base/Function;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.google.common.util.concurrent.AbstractCatchingFuture$CatchingFuture
dup
aload 0
aload 1
aload 2
invokespecial com.google.common.util.concurrent.AbstractCatchingFuture$CatchingFuture.<init>:(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/base/Function;)V
astore 4
start local 4 1: aload 0
aload 4
aload 3
aload 4
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
2: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 input Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;
0 3 1 exceptionType Ljava/lang/Class<TX;>;
0 3 2 fallback Lcom/google/common/base/Function<-TX;+TV;>;
0 3 3 executor Ljava/util/concurrent/Executor;
1 3 4 future Lcom/google/common/util/concurrent/AbstractCatchingFuture$CatchingFuture<TV;TX;>;
Signature: <V:Ljava/lang/Object;X:Ljava/lang/Throwable;>(Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;Ljava/lang/Class<TX;>;Lcom/google/common/base/Function<-TX;+TV;>;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
MethodParameters:
Name Flags
input
exceptionType
fallback
executor
static <X extends java.lang.Throwable, V> com.google.common.util.concurrent.ListenableFuture<V> create(com.google.common.util.concurrent.ListenableFuture<? extends V>, java.lang.Class<X>, com.google.common.util.concurrent.AsyncFunction<? super X, ? extends V>, java.util.concurrent.Executor);
descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/util/concurrent/AsyncFunction;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.google.common.util.concurrent.AbstractCatchingFuture$AsyncCatchingFuture
dup
aload 0
aload 1
aload 2
invokespecial com.google.common.util.concurrent.AbstractCatchingFuture$AsyncCatchingFuture.<init>:(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/util/concurrent/AsyncFunction;)V
astore 4
start local 4 1: aload 0
aload 4
aload 3
aload 4
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
2: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 input Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;
0 3 1 exceptionType Ljava/lang/Class<TX;>;
0 3 2 fallback Lcom/google/common/util/concurrent/AsyncFunction<-TX;+TV;>;
0 3 3 executor Ljava/util/concurrent/Executor;
1 3 4 future Lcom/google/common/util/concurrent/AbstractCatchingFuture$AsyncCatchingFuture<TV;TX;>;
Signature: <X:Ljava/lang/Throwable;V:Ljava/lang/Object;>(Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;Ljava/lang/Class<TX;>;Lcom/google/common/util/concurrent/AsyncFunction<-TX;+TV;>;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
MethodParameters:
Name Flags
input
exceptionType
fallback
executor
void <init>(com.google.common.util.concurrent.ListenableFuture<? extends V>, java.lang.Class<X>, );
descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial com.google.common.util.concurrent.AbstractFuture$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.AbstractCatchingFuture.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;
checkcast java.lang.Class
putfield com.google.common.util.concurrent.AbstractCatchingFuture.exceptionType:Ljava/lang/Class;
3: aload 0
aload 3
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
putfield com.google.common.util.concurrent.AbstractCatchingFuture.fallback:Ljava/lang/Object;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/common/util/concurrent/AbstractCatchingFuture<TV;TX;TF;TT;>;
0 5 1 inputFuture Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;
0 5 2 exceptionType Ljava/lang/Class<TX;>;
0 5 3 fallback TF;
Signature: (Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;Ljava/lang/Class<TX;>;TF;)V
MethodParameters:
Name Flags
inputFuture
exceptionType
fallback
public final void run();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=10, args_size=1
start local 0 0: aload 0
getfield com.google.common.util.concurrent.AbstractCatchingFuture.inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
astore 1
start local 1 1: aload 0
getfield com.google.common.util.concurrent.AbstractCatchingFuture.exceptionType:Ljava/lang/Class;
astore 2
start local 2 2: aload 0
getfield com.google.common.util.concurrent.AbstractCatchingFuture.fallback:Ljava/lang/Object;
astore 3
start local 3 3: aload 1
ifnonnull 4
iconst_1
goto 5
StackMap locals: com.google.common.util.concurrent.ListenableFuture java.lang.Class java.lang.Object
StackMap stack:
4: iconst_0
5: StackMap locals:
StackMap stack: int
aload 2
ifnonnull 6
iconst_1
goto 7
StackMap locals:
StackMap stack: int
6: iconst_0
7: StackMap locals: com.google.common.util.concurrent.AbstractCatchingFuture com.google.common.util.concurrent.ListenableFuture java.lang.Class java.lang.Object
StackMap stack: int int
ior
8: aload 3
ifnonnull 9
iconst_1
goto 10
StackMap locals:
StackMap stack: int
9: iconst_0
10: StackMap locals: com.google.common.util.concurrent.AbstractCatchingFuture com.google.common.util.concurrent.ListenableFuture java.lang.Class java.lang.Object
StackMap stack: int int
ior
11: aload 0
invokevirtual com.google.common.util.concurrent.AbstractCatchingFuture.isCancelled:()Z
ior
ifeq 13
12: return
13: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.google.common.util.concurrent.AbstractCatchingFuture.inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
14: aconst_null
astore 4
start local 4 15: aconst_null
astore 5
start local 5 16: aload 1
invokestatic com.google.common.util.concurrent.Futures.getDone:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
astore 4
17: goto 23
StackMap locals: com.google.common.util.concurrent.AbstractCatchingFuture com.google.common.util.concurrent.ListenableFuture java.lang.Class java.lang.Object java.lang.Object java.lang.Throwable
StackMap stack: java.util.concurrent.ExecutionException
18: astore 6
start local 6 19: aload 6
invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Throwable
astore 5
end local 6 20: goto 23
21: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
start local 6 22: aload 6
astore 5
end local 6 23: StackMap locals:
StackMap stack:
aload 5
ifnonnull 26
24: aload 0
aload 4
invokevirtual com.google.common.util.concurrent.AbstractCatchingFuture.set:(Ljava/lang/Object;)Z
pop
25: return
26: StackMap locals:
StackMap stack:
aload 5
aload 2
invokestatic com.google.common.util.concurrent.Platform.isInstanceOfThrowableClass:(Ljava/lang/Throwable;Ljava/lang/Class;)Z
ifne 29
27: aload 0
aload 5
invokevirtual com.google.common.util.concurrent.AbstractCatchingFuture.setException:(Ljava/lang/Throwable;)Z
pop
28: return
29: StackMap locals:
StackMap stack:
aload 5
astore 6
start local 6 30: aload 0
aload 3
aload 6
invokevirtual com.google.common.util.concurrent.AbstractCatchingFuture.doFallback:(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/Object;
astore 7
start local 7 31: goto 41
end local 7 StackMap locals: com.google.common.util.concurrent.AbstractCatchingFuture com.google.common.util.concurrent.ListenableFuture java.lang.Class java.lang.Object java.lang.Object java.lang.Throwable java.lang.Throwable
StackMap stack: java.lang.Throwable
32: astore 8
start local 8 33: aload 0
aload 8
invokevirtual com.google.common.util.concurrent.AbstractCatchingFuture.setException:(Ljava/lang/Throwable;)Z
pop
34: aload 0
aconst_null
putfield com.google.common.util.concurrent.AbstractCatchingFuture.exceptionType:Ljava/lang/Class;
35: aload 0
aconst_null
putfield com.google.common.util.concurrent.AbstractCatchingFuture.fallback:Ljava/lang/Object;
36: return
end local 8 37: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
38: aload 0
aconst_null
putfield com.google.common.util.concurrent.AbstractCatchingFuture.exceptionType:Ljava/lang/Class;
39: aload 0
aconst_null
putfield com.google.common.util.concurrent.AbstractCatchingFuture.fallback:Ljava/lang/Object;
40: aload 9
athrow
start local 7 41: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aconst_null
putfield com.google.common.util.concurrent.AbstractCatchingFuture.exceptionType:Ljava/lang/Class;
42: aload 0
aconst_null
putfield com.google.common.util.concurrent.AbstractCatchingFuture.fallback:Ljava/lang/Object;
43: aload 0
aload 7
invokevirtual com.google.common.util.concurrent.AbstractCatchingFuture.setResult:(Ljava/lang/Object;)V
44: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lcom/google/common/util/concurrent/AbstractCatchingFuture<TV;TX;TF;TT;>;
1 45 1 localInputFuture Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;
2 45 2 localExceptionType Ljava/lang/Class<TX;>;
3 45 3 localFallback TF;
15 45 4 sourceResult TV;
16 45 5 throwable Ljava/lang/Throwable;
19 20 6 e Ljava/util/concurrent/ExecutionException;
22 23 6 e Ljava/lang/Throwable;
30 45 6 castThrowable TX;
31 32 7 fallbackResult TT;
41 45 7 fallbackResult TT;
33 37 8 t Ljava/lang/Throwable;
Exception table:
from to target type
16 17 18 Class java.util.concurrent.ExecutionException
16 17 21 Class java.lang.Throwable
30 31 32 Class java.lang.Throwable
30 34 37 any
protected java.lang.String pendingToString();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
getfield com.google.common.util.concurrent.AbstractCatchingFuture.inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
astore 1
start local 1 1: aload 0
getfield com.google.common.util.concurrent.AbstractCatchingFuture.exceptionType:Ljava/lang/Class;
astore 2
start local 2 2: aload 0
getfield com.google.common.util.concurrent.AbstractCatchingFuture.fallback:Ljava/lang/Object;
astore 3
start local 3 3: aload 0
invokespecial com.google.common.util.concurrent.AbstractFuture$TrustedFuture.pendingToString:()Ljava/lang/String;
astore 4
start local 4 4: ldc ""
astore 5
start local 5 5: aload 1
ifnull 7
6: 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 5
7: StackMap locals: com.google.common.util.concurrent.AbstractCatchingFuture com.google.common.util.concurrent.ListenableFuture java.lang.Class java.lang.Object java.lang.String java.lang.String
StackMap stack:
aload 2
ifnull 15
aload 3
ifnull 15
8: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: ldc "exceptionType=["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
11: ldc "], fallback=["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
15: StackMap locals:
StackMap stack:
aload 4
ifnull 17
16: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
17: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/google/common/util/concurrent/AbstractCatchingFuture<TV;TX;TF;TT;>;
1 18 1 localInputFuture Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;
2 18 2 localExceptionType Ljava/lang/Class<TX;>;
3 18 3 localFallback TF;
4 18 4 superString Ljava/lang/String;
5 18 5 resultString Ljava/lang/String;
abstract T doFallback(F, );
descriptor: (Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/Object;
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
Signature: (TF;TX;)TT;
RuntimeInvisibleAnnotations:
com.google.errorprone.annotations.ForOverride()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
org.checkerframework.checker.nullness.qual.Nullable()
MethodParameters:
Name Flags
fallback
throwable
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.AbstractCatchingFuture.inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
invokevirtual com.google.common.util.concurrent.AbstractCatchingFuture.maybePropagateCancellationTo:(Ljava/util/concurrent/Future;)V
1: aload 0
aconst_null
putfield com.google.common.util.concurrent.AbstractCatchingFuture.inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
2: aload 0
aconst_null
putfield com.google.common.util.concurrent.AbstractCatchingFuture.exceptionType:Ljava/lang/Class;
3: aload 0
aconst_null
putfield com.google.common.util.concurrent.AbstractCatchingFuture.fallback:Ljava/lang/Object;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/common/util/concurrent/AbstractCatchingFuture<TV;TX;TF;TT;>;
}
Signature: <V:Ljava/lang/Object;X:Ljava/lang/Throwable;F:Ljava/lang/Object;T:Ljava/lang/Object;>Lcom/google/common/util/concurrent/AbstractFuture$TrustedFuture<TV;>;Ljava/lang/Runnable;
SourceFile: "AbstractCatchingFuture.java"
NestMembers:
com.google.common.util.concurrent.AbstractCatchingFuture$AsyncCatchingFuture com.google.common.util.concurrent.AbstractCatchingFuture$CatchingFuture
InnerClasses:
private final AsyncCatchingFuture = com.google.common.util.concurrent.AbstractCatchingFuture$AsyncCatchingFuture of com.google.common.util.concurrent.AbstractCatchingFuture
private final CatchingFuture = com.google.common.util.concurrent.AbstractCatchingFuture$CatchingFuture of com.google.common.util.concurrent.AbstractCatchingFuture
abstract TrustedFuture = com.google.common.util.concurrent.AbstractFuture$TrustedFuture of com.google.common.util.concurrent.AbstractFuture
RuntimeInvisibleAnnotations:
com.google.common.annotations.GwtCompatible()