final class java.util.concurrent.CompletableFuture$BiRelay<T, U> extends java.util.concurrent.CompletableFuture$BiCompletion<T, U, java.lang.Void>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.util.concurrent.CompletableFuture$BiRelay
super_class: java.util.concurrent.CompletableFuture$BiCompletion
{
void <init>(java.util.concurrent.CompletableFuture<java.lang.Void>, java.util.concurrent.CompletableFuture<T>, java.util.concurrent.CompletableFuture<U>);
descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aconst_null
aload 1
aload 2
aload 3
invokespecial java.util.concurrent.CompletableFuture$BiCompletion.<init>:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/CompletableFuture$BiRelay<TT;TU;>;
0 2 1 dep Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
0 2 2 src Ljava/util/concurrent/CompletableFuture<TT;>;
0 2 3 snd Ljava/util/concurrent/CompletableFuture<TU;>;
Signature: (Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;Ljava/util/concurrent/CompletableFuture<TT;>;Ljava/util/concurrent/CompletableFuture<TU;>;)V
MethodParameters:
Name Flags
dep
src
snd
final java.util.concurrent.CompletableFuture<java.lang.Void> tryFire(int);
descriptor: (I)Ljava/util/concurrent/CompletableFuture;
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.concurrent.CompletableFuture$BiRelay.dep:Ljava/util/concurrent/CompletableFuture;
dup
astore 2
start local 2 1: ifnull 8
2: aload 0
getfield java.util.concurrent.CompletableFuture$BiRelay.src:Ljava/util/concurrent/CompletableFuture;
dup
astore 3
start local 3 3: ifnull 8
aload 3
getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
dup
astore 5
start local 5 4: ifnull 8
5: aload 0
getfield java.util.concurrent.CompletableFuture$BiRelay.snd:Ljava/util/concurrent/CompletableFuture;
dup
astore 4
start local 4 6: ifnull 8
aload 4
getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
dup
astore 6
start local 6 7: ifnonnull 9
end local 6 end local 5 end local 4 end local 3 8: StackMap locals: java.util.concurrent.CompletableFuture
StackMap stack:
aconst_null
areturn
start local 3 start local 4 start local 5 start local 6 9: StackMap locals: java.util.concurrent.CompletableFuture$BiRelay int java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.lang.Object java.lang.Object
StackMap stack:
aload 2
getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
ifnonnull 20
10: aload 5
instanceof java.util.concurrent.CompletableFuture$AltResult
ifeq 14
11: aload 5
dup
astore 7
start local 7 12: checkcast java.util.concurrent.CompletableFuture$AltResult
getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
dup
astore 8
start local 8 13: ifnonnull 18
end local 8 end local 7 14: StackMap locals:
StackMap stack:
aload 6
instanceof java.util.concurrent.CompletableFuture$AltResult
ifeq 19
15: aload 6
dup
astore 7
start local 7 16: checkcast java.util.concurrent.CompletableFuture$AltResult
getfield java.util.concurrent.CompletableFuture$AltResult.ex:Ljava/lang/Throwable;
dup
astore 8
start local 8 17: ifnull 19
18: StackMap locals: java.lang.Object java.lang.Throwable
StackMap stack:
aload 2
aload 8
aload 7
invokevirtual java.util.concurrent.CompletableFuture.completeThrowable:(Ljava/lang/Throwable;Ljava/lang/Object;)Z
pop
goto 20
end local 8 end local 7 19: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.concurrent.CompletableFuture.completeNull:()Z
pop
20: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield java.util.concurrent.CompletableFuture$BiRelay.src:Ljava/util/concurrent/CompletableFuture;
aload 0
aconst_null
putfield java.util.concurrent.CompletableFuture$BiRelay.snd:Ljava/util/concurrent/CompletableFuture;
aload 0
aconst_null
putfield java.util.concurrent.CompletableFuture$BiRelay.dep:Ljava/util/concurrent/CompletableFuture;
21: aload 2
aload 3
aload 4
iload 1
invokevirtual java.util.concurrent.CompletableFuture.postFire:(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;I)Ljava/util/concurrent/CompletableFuture;
areturn
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 22 0 this Ljava/util/concurrent/CompletableFuture$BiRelay<TT;TU;>;
0 22 1 mode I
1 22 2 d Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
3 8 3 a Ljava/util/concurrent/CompletableFuture<TT;>;
9 22 3 a Ljava/util/concurrent/CompletableFuture<TT;>;
6 8 4 b Ljava/util/concurrent/CompletableFuture<TU;>;
9 22 4 b Ljava/util/concurrent/CompletableFuture<TU;>;
4 8 5 r Ljava/lang/Object;
9 22 5 r Ljava/lang/Object;
7 8 6 s Ljava/lang/Object;
9 22 6 s Ljava/lang/Object;
12 14 7 z Ljava/lang/Object;
16 19 7 z Ljava/lang/Object;
13 14 8 x Ljava/lang/Throwable;
17 19 8 x Ljava/lang/Throwable;
Signature: (I)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
MethodParameters:
Name Flags
mode
}
Signature: <T:Ljava/lang/Object;U:Ljava/lang/Object;>Ljava/util/concurrent/CompletableFuture$BiCompletion<TT;TU;Ljava/lang/Void;>;
SourceFile: "CompletableFuture.java"
NestHost: java.util.concurrent.CompletableFuture
InnerClasses:
final AltResult = java.util.concurrent.CompletableFuture$AltResult of java.util.concurrent.CompletableFuture
abstract BiCompletion = java.util.concurrent.CompletableFuture$BiCompletion of java.util.concurrent.CompletableFuture
final BiRelay = java.util.concurrent.CompletableFuture$BiRelay of java.util.concurrent.CompletableFuture