class java.util.concurrent.CompletableFuture$AnyOf extends java.util.concurrent.CompletableFuture$Completion
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.util.concurrent.CompletableFuture$AnyOf
super_class: java.util.concurrent.CompletableFuture$Completion
{
java.util.concurrent.CompletableFuture<java.lang.Object> dep;
descriptor: Ljava/util/concurrent/CompletableFuture;
flags: (0x0000)
Signature: Ljava/util/concurrent/CompletableFuture<Ljava/lang/Object;>;
java.util.concurrent.CompletableFuture<?> src;
descriptor: Ljava/util/concurrent/CompletableFuture;
flags: (0x0000)
Signature: Ljava/util/concurrent/CompletableFuture<*>;
java.util.concurrent.CompletableFuture<?>[] srcs;
descriptor: [Ljava/util/concurrent/CompletableFuture;
flags: (0x0000)
Signature: [Ljava/util/concurrent/CompletableFuture<*>;
void <init>(java.util.concurrent.CompletableFuture<java.lang.Object>, java.util.concurrent.CompletableFuture<?>, java.util.concurrent.CompletableFuture<?>[]);
descriptor: (Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;[Ljava/util/concurrent/CompletableFuture;)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 java.util.concurrent.CompletableFuture$Completion.<init>:()V
1: aload 0
aload 1
putfield java.util.concurrent.CompletableFuture$AnyOf.dep:Ljava/util/concurrent/CompletableFuture;
aload 0
aload 2
putfield java.util.concurrent.CompletableFuture$AnyOf.src:Ljava/util/concurrent/CompletableFuture;
aload 0
aload 3
putfield java.util.concurrent.CompletableFuture$AnyOf.srcs:[Ljava/util/concurrent/CompletableFuture;
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/concurrent/CompletableFuture$AnyOf;
0 3 1 dep Ljava/util/concurrent/CompletableFuture<Ljava/lang/Object;>;
0 3 2 src Ljava/util/concurrent/CompletableFuture<*>;
0 3 3 srcs [Ljava/util/concurrent/CompletableFuture;
Signature: (Ljava/util/concurrent/CompletableFuture<Ljava/lang/Object;>;Ljava/util/concurrent/CompletableFuture<*>;[Ljava/util/concurrent/CompletableFuture<*>;)V
MethodParameters:
Name Flags
dep
src
srcs
final java.util.concurrent.CompletableFuture<java.lang.Object> tryFire(int);
descriptor: (I)Ljava/util/concurrent/CompletableFuture;
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=10, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.concurrent.CompletableFuture$AnyOf.dep:Ljava/util/concurrent/CompletableFuture;
dup
astore 2
start local 2 1: ifnull 7
2: aload 0
getfield java.util.concurrent.CompletableFuture$AnyOf.src:Ljava/util/concurrent/CompletableFuture;
dup
astore 3
start local 3 3: ifnull 7
aload 3
getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
dup
astore 5
start local 5 4: ifnull 7
5: aload 0
getfield java.util.concurrent.CompletableFuture$AnyOf.srcs:[Ljava/util/concurrent/CompletableFuture;
dup
astore 4
start local 4 6: ifnonnull 8
end local 5 end local 4 end local 3 7: StackMap locals: java.util.concurrent.CompletableFuture
StackMap stack:
aconst_null
areturn
start local 3 start local 4 start local 5 8: StackMap locals: java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture[] java.lang.Object
StackMap stack:
aload 0
aconst_null
putfield java.util.concurrent.CompletableFuture$AnyOf.dep:Ljava/util/concurrent/CompletableFuture;
aload 0
aconst_null
putfield java.util.concurrent.CompletableFuture$AnyOf.src:Ljava/util/concurrent/CompletableFuture;
aload 0
aconst_null
putfield java.util.concurrent.CompletableFuture$AnyOf.srcs:[Ljava/util/concurrent/CompletableFuture;
9: aload 2
aload 5
invokevirtual java.util.concurrent.CompletableFuture.completeRelay:(Ljava/lang/Object;)Z
ifeq 19
10: aload 4
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 15
StackMap locals: java.util.concurrent.CompletableFuture$AnyOf int java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture[] java.lang.Object top int int java.util.concurrent.CompletableFuture[]
StackMap stack:
11: aload 9
iload 7
aaload
astore 6
start local 6 12: aload 6
aload 3
if_acmpeq 14
13: aload 6
invokevirtual java.util.concurrent.CompletableFuture.cleanStack:()V
end local 6 14: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
15: iload 7
iload 8
if_icmplt 11
16: iload 1
ifge 18
17: aload 2
areturn
18: StackMap locals: java.util.concurrent.CompletableFuture$AnyOf int java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture java.util.concurrent.CompletableFuture[] java.lang.Object
StackMap stack:
aload 2
invokevirtual java.util.concurrent.CompletableFuture.postComplete:()V
19: 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 20 0 this Ljava/util/concurrent/CompletableFuture$AnyOf;
0 20 1 mode I
1 20 2 d Ljava/util/concurrent/CompletableFuture<Ljava/lang/Object;>;
3 7 3 a Ljava/util/concurrent/CompletableFuture<*>;
8 20 3 a Ljava/util/concurrent/CompletableFuture<*>;
6 7 4 as [Ljava/util/concurrent/CompletableFuture;
8 20 4 as [Ljava/util/concurrent/CompletableFuture;
4 7 5 r Ljava/lang/Object;
8 20 5 r Ljava/lang/Object;
12 14 6 b Ljava/util/concurrent/CompletableFuture<*>;
Signature: (I)Ljava/util/concurrent/CompletableFuture<Ljava/lang/Object;>;
MethodParameters:
Name Flags
mode
final boolean isLive();
descriptor: ()Z
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield java.util.concurrent.CompletableFuture$AnyOf.dep:Ljava/util/concurrent/CompletableFuture;
dup
astore 1
start local 1 1: ifnull 2
aload 1
getfield java.util.concurrent.CompletableFuture.result:Ljava/lang/Object;
ifnonnull 2
iconst_1
ireturn
StackMap locals: java.util.concurrent.CompletableFuture
StackMap stack:
2: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/concurrent/CompletableFuture$AnyOf;
1 3 1 d Ljava/util/concurrent/CompletableFuture<Ljava/lang/Object;>;
}
SourceFile: "CompletableFuture.java"
NestHost: java.util.concurrent.CompletableFuture
InnerClasses:
AnyOf = java.util.concurrent.CompletableFuture$AnyOf of java.util.concurrent.CompletableFuture
abstract Completion = java.util.concurrent.CompletableFuture$Completion of java.util.concurrent.CompletableFuture