final class java.util.concurrent.CompletableFuture$UniRelay<U, T extends U> extends java.util.concurrent.CompletableFuture$UniCompletion<T, U>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.util.concurrent.CompletableFuture$UniRelay
super_class: java.util.concurrent.CompletableFuture$UniCompletion
{
void <init>(java.util.concurrent.CompletableFuture<U>, java.util.concurrent.CompletableFuture<T>);
descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aload 1
aload 2
invokespecial java.util.concurrent.CompletableFuture$UniCompletion.<init>:(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/CompletableFuture$UniRelay<TU;TT;>;
0 2 1 dep Ljava/util/concurrent/CompletableFuture<TU;>;
0 2 2 src Ljava/util/concurrent/CompletableFuture<TT;>;
Signature: (Ljava/util/concurrent/CompletableFuture<TU;>;Ljava/util/concurrent/CompletableFuture<TT;>;)V
MethodParameters:
Name Flags
dep
src
final java.util.concurrent.CompletableFuture<U> tryFire(int);
descriptor: (I)Ljava/util/concurrent/CompletableFuture;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.concurrent.CompletableFuture$UniRelay.dep:Ljava/util/concurrent/CompletableFuture;
dup
astore 2
start local 2 1: ifnull 5
2: aload 0
getfield java.util.concurrent.CompletableFuture$UniRelay.src:Ljava/util/concurrent/CompletableFuture;
dup
astore 3
start local 3 3: ifnull 5
aload 3
getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
dup
astore 4
start local 4 4: ifnonnull 6
end local 4 end local 3 5: StackMap locals: java.util.concurrent.CompletableFuture
StackMap stack:
aconst_null
areturn
start local 3 start local 4 6: StackMap locals: java.util.concurrent.CompletableFuture java.lang.Object
StackMap stack:
aload 2
getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
ifnonnull 8
7: aload 2
aload 4
invokevirtual java.util.concurrent.CompletableFuture.completeRelay:(Ljava/lang/Object;)Z
pop
8: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield java.util.concurrent.CompletableFuture$UniRelay.src:Ljava/util/concurrent/CompletableFuture;
aload 0
aconst_null
putfield java.util.concurrent.CompletableFuture$UniRelay.dep:Ljava/util/concurrent/CompletableFuture;
9: aload 2
aload 3
iload 1
invokevirtual java.util.concurrent.CompletableFuture.postFire:(Ljava/util/concurrent/CompletableFuture;I)Ljava/util/concurrent/CompletableFuture;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/concurrent/CompletableFuture$UniRelay<TU;TT;>;
0 10 1 mode I
1 10 2 d Ljava/util/concurrent/CompletableFuture<TU;>;
3 5 3 a Ljava/util/concurrent/CompletableFuture<TT;>;
6 10 3 a Ljava/util/concurrent/CompletableFuture<TT;>;
4 5 4 r Ljava/lang/Object;
6 10 4 r Ljava/lang/Object;
Signature: (I)Ljava/util/concurrent/CompletableFuture<TU;>;
MethodParameters:
Name Flags
mode
}
Signature: <U:Ljava/lang/Object;T:TU;>Ljava/util/concurrent/CompletableFuture$UniCompletion<TT;TU;>;
SourceFile: "CompletableFuture.java"
NestHost: java.util.concurrent.CompletableFuture
InnerClasses:
abstract UniCompletion = java.util.concurrent.CompletableFuture$UniCompletion of java.util.concurrent.CompletableFuture
final UniRelay = java.util.concurrent.CompletableFuture$UniRelay of java.util.concurrent.CompletableFuture