final class com.google.common.util.concurrent.TimeoutFuture<V> extends com.google.common.util.concurrent.AbstractFuture$TrustedFuture<V>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.common.util.concurrent.TimeoutFuture
super_class: com.google.common.util.concurrent.AbstractFuture$TrustedFuture
{
private com.google.common.util.concurrent.ListenableFuture<V> delegateRef;
descriptor: Lcom/google/common/util/concurrent/ListenableFuture;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
private java.util.concurrent.Future<?> timer;
descriptor: Ljava/util/concurrent/Future;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/Future<*>;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
static <V> com.google.common.util.concurrent.ListenableFuture<V> create(com.google.common.util.concurrent.ListenableFuture<V>, long, java.util.concurrent.TimeUnit, java.util.concurrent.ScheduledExecutorService);
descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/ScheduledExecutorService;)Lcom/google/common/util/concurrent/ListenableFuture;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 3 start local 4 0: new com.google.common.util.concurrent.TimeoutFuture
dup
aload 0
invokespecial com.google.common.util.concurrent.TimeoutFuture.<init>:(Lcom/google/common/util/concurrent/ListenableFuture;)V
astore 5
start local 5 1: new com.google.common.util.concurrent.TimeoutFuture$Fire
dup
aload 5
invokespecial com.google.common.util.concurrent.TimeoutFuture$Fire.<init>:(Lcom/google/common/util/concurrent/TimeoutFuture;)V
astore 6
start local 6 2: aload 5
aload 4
aload 6
lload 1
aload 3
invokeinterface java.util.concurrent.ScheduledExecutorService.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
putfield com.google.common.util.concurrent.TimeoutFuture.timer:Ljava/util/concurrent/Future;
3: aload 0
aload 6
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
4: aload 5
areturn
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 delegate Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
0 5 1 time J
0 5 3 unit Ljava/util/concurrent/TimeUnit;
0 5 4 scheduledExecutor Ljava/util/concurrent/ScheduledExecutorService;
1 5 5 result Lcom/google/common/util/concurrent/TimeoutFuture<TV;>;
2 5 6 fire Lcom/google/common/util/concurrent/TimeoutFuture$Fire<TV;>;
Signature: <V:Ljava/lang/Object;>(Lcom/google/common/util/concurrent/ListenableFuture<TV;>;JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/ScheduledExecutorService;)Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
MethodParameters:
Name Flags
delegate
time
unit
scheduledExecutor
private void <init>(com.google.common.util.concurrent.ListenableFuture<V>);
descriptor: (Lcom/google/common/util/concurrent/ListenableFuture;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 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.TimeoutFuture.delegateRef:Lcom/google/common/util/concurrent/ListenableFuture;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/util/concurrent/TimeoutFuture<TV;>;
0 3 1 delegate Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
Signature: (Lcom/google/common/util/concurrent/ListenableFuture<TV;>;)V
MethodParameters:
Name Flags
delegate
protected java.lang.String pendingToString();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.google.common.util.concurrent.TimeoutFuture.delegateRef:Lcom/google/common/util/concurrent/ListenableFuture;
astore 1
start local 1 1: aload 1
ifnull 3
2: 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;
areturn
3: StackMap locals: com.google.common.util.concurrent.ListenableFuture
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/util/concurrent/TimeoutFuture<TV;>;
1 4 1 localInputFuture Lcom/google/common/util/concurrent/ListenableFuture<+TV;>;
protected void afterDone();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
aload 0
getfield com.google.common.util.concurrent.TimeoutFuture.delegateRef:Lcom/google/common/util/concurrent/ListenableFuture;
invokevirtual com.google.common.util.concurrent.TimeoutFuture.maybePropagateCancellationTo:(Ljava/util/concurrent/Future;)V
1: aload 0
getfield com.google.common.util.concurrent.TimeoutFuture.timer:Ljava/util/concurrent/Future;
astore 1
start local 1 2: aload 1
ifnull 4
3: aload 1
iconst_0
invokeinterface java.util.concurrent.Future.cancel:(Z)Z
pop
4: StackMap locals: java.util.concurrent.Future
StackMap stack:
aload 0
aconst_null
putfield com.google.common.util.concurrent.TimeoutFuture.delegateRef:Lcom/google/common/util/concurrent/ListenableFuture;
5: aload 0
aconst_null
putfield com.google.common.util.concurrent.TimeoutFuture.timer:Ljava/util/concurrent/Future;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/google/common/util/concurrent/TimeoutFuture<TV;>;
2 7 1 localTimer Ljava/util/concurrent/Future<*>;
}
Signature: <V:Ljava/lang/Object;>Lcom/google/common/util/concurrent/AbstractFuture$TrustedFuture<TV;>;
SourceFile: "TimeoutFuture.java"
NestMembers:
com.google.common.util.concurrent.TimeoutFuture$Fire
InnerClasses:
abstract TrustedFuture = com.google.common.util.concurrent.AbstractFuture$TrustedFuture of com.google.common.util.concurrent.AbstractFuture
private final Fire = com.google.common.util.concurrent.TimeoutFuture$Fire of com.google.common.util.concurrent.TimeoutFuture
RuntimeInvisibleAnnotations:
com.google.common.annotations.GwtIncompatible()