final class com.google.common.util.concurrent.TimeoutFuture$Fire<V> implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.common.util.concurrent.TimeoutFuture$Fire
super_class: java.lang.Object
{
com.google.common.util.concurrent.TimeoutFuture<V> timeoutFutureRef;
descriptor: Lcom/google/common/util/concurrent/TimeoutFuture;
flags: (0x0000)
Signature: Lcom/google/common/util/concurrent/TimeoutFuture<TV;>;
RuntimeVisibleTypeAnnotations:
FIELD
org.checkerframework.checker.nullness.qual.Nullable()
void <init>(com.google.common.util.concurrent.TimeoutFuture<V>);
descriptor: (Lcom/google/common/util/concurrent/TimeoutFuture;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.google.common.util.concurrent.TimeoutFuture$Fire.timeoutFutureRef:Lcom/google/common/util/concurrent/TimeoutFuture;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/util/concurrent/TimeoutFuture$Fire<TV;>;
0 3 1 timeoutFuture Lcom/google/common/util/concurrent/TimeoutFuture<TV;>;
Signature: (Lcom/google/common/util/concurrent/TimeoutFuture<TV;>;)V
MethodParameters:
Name Flags
timeoutFuture
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=1
start local 0 0: aload 0
getfield com.google.common.util.concurrent.TimeoutFuture$Fire.timeoutFutureRef:Lcom/google/common/util/concurrent/TimeoutFuture;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: return
3: StackMap locals: com.google.common.util.concurrent.TimeoutFuture
StackMap stack:
aload 1
getfield com.google.common.util.concurrent.TimeoutFuture.delegateRef:Lcom/google/common/util/concurrent/ListenableFuture;
astore 2
start local 2 4: aload 2
ifnonnull 6
5: return
6: StackMap locals: com.google.common.util.concurrent.ListenableFuture
StackMap stack:
aload 0
aconst_null
putfield com.google.common.util.concurrent.TimeoutFuture$Fire.timeoutFutureRef:Lcom/google/common/util/concurrent/TimeoutFuture;
7: aload 2
invokeinterface com.google.common.util.concurrent.ListenableFuture.isDone:()Z
ifeq 10
8: aload 1
aload 2
invokevirtual com.google.common.util.concurrent.TimeoutFuture.setFuture:(Lcom/google/common/util/concurrent/ListenableFuture;)Z
pop
9: goto 28
10: StackMap locals:
StackMap stack:
aload 1
getfield com.google.common.util.concurrent.TimeoutFuture.timer:Ljava/util/concurrent/ScheduledFuture;
astore 3
start local 3 11: aload 1
aconst_null
putfield com.google.common.util.concurrent.TimeoutFuture.timer:Ljava/util/concurrent/ScheduledFuture;
12: ldc "Timed out"
astore 4
start local 4 13: aload 3
ifnull 17
14: aload 3
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface java.util.concurrent.ScheduledFuture.getDelay:(Ljava/util/concurrent/TimeUnit;)J
invokestatic java.lang.Math.abs:(J)J
lstore 5
start local 5 15: lload 5
ldc 10
lcmp
ifle 17
16: 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 " (timeout delayed by "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 5
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " ms after scheduled time)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
end local 5 17: StackMap locals: java.util.concurrent.ScheduledFuture java.lang.String
StackMap stack:
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 ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
18: goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 7
20: aload 1
new com.google.common.util.concurrent.TimeoutFuture$TimeoutFutureException
dup
aload 4
invokespecial com.google.common.util.concurrent.TimeoutFuture$TimeoutFutureException.<init>:(Ljava/lang/String;)V
invokevirtual com.google.common.util.concurrent.TimeoutFuture.setException:(Ljava/lang/Throwable;)Z
pop
21: aload 7
athrow
22: StackMap locals:
StackMap stack:
aload 1
new com.google.common.util.concurrent.TimeoutFuture$TimeoutFutureException
dup
aload 4
invokespecial com.google.common.util.concurrent.TimeoutFuture$TimeoutFutureException.<init>:(Ljava/lang/String;)V
invokevirtual com.google.common.util.concurrent.TimeoutFuture.setException:(Ljava/lang/Throwable;)Z
pop
end local 4 end local 3 23: goto 27
StackMap locals: com.google.common.util.concurrent.TimeoutFuture$Fire com.google.common.util.concurrent.TimeoutFuture com.google.common.util.concurrent.ListenableFuture
StackMap stack: java.lang.Throwable
24: astore 8
25: aload 2
iconst_1
invokeinterface com.google.common.util.concurrent.ListenableFuture.cancel:(Z)Z
pop
26: aload 8
athrow
27: StackMap locals:
StackMap stack:
aload 2
iconst_1
invokeinterface com.google.common.util.concurrent.ListenableFuture.cancel:(Z)Z
pop
28: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/google/common/util/concurrent/TimeoutFuture$Fire<TV;>;
1 29 1 timeoutFuture Lcom/google/common/util/concurrent/TimeoutFuture<TV;>;
4 29 2 delegate Lcom/google/common/util/concurrent/ListenableFuture<TV;>;
11 23 3 timer Ljava/util/concurrent/ScheduledFuture<*>;
13 23 4 message Ljava/lang/String;
15 17 5 overDelayMs J
Exception table:
from to target type
13 19 19 any
10 24 24 any
}
Signature: <V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/lang/Runnable;
SourceFile: "TimeoutFuture.java"
NestHost: com.google.common.util.concurrent.TimeoutFuture
InnerClasses:
private final Fire = com.google.common.util.concurrent.TimeoutFuture$Fire of com.google.common.util.concurrent.TimeoutFuture
private final TimeoutFutureException = com.google.common.util.concurrent.TimeoutFuture$TimeoutFutureException of com.google.common.util.concurrent.TimeoutFuture