final class reactor.core.publisher.MonoWhen extends reactor.core.publisher.Mono<java.lang.Void> implements reactor.core.publisher.SourceProducer<java.lang.Void>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: reactor.core.publisher.MonoWhen
super_class: reactor.core.publisher.Mono
{
final boolean delayError;
descriptor: Z
flags: (0x0010) ACC_FINAL
final org.reactivestreams.Publisher<?>[] sources;
descriptor: [Lorg/reactivestreams/Publisher;
flags: (0x0010) ACC_FINAL
Signature: [Lorg/reactivestreams/Publisher<*>;
final java.lang.Iterable<? extends org.reactivestreams.Publisher<?>> sourcesIterable;
descriptor: Ljava/lang/Iterable;
flags: (0x0010) ACC_FINAL
Signature: Ljava/lang/Iterable<+Lorg/reactivestreams/Publisher<*>;>;
void <init>(boolean, org.reactivestreams.Publisher<?>[]);
descriptor: (Z[Lorg/reactivestreams/Publisher;)V
flags: (0x0080) ACC_VARARGS
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial reactor.core.publisher.Mono.<init>:()V
1: aload 0
iload 1
putfield reactor.core.publisher.MonoWhen.delayError:Z
2: aload 0
aload 2
ldc "sources"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher[]
putfield reactor.core.publisher.MonoWhen.sources:[Lorg/reactivestreams/Publisher;
3: aload 0
aconst_null
putfield reactor.core.publisher.MonoWhen.sourcesIterable:Ljava/lang/Iterable;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lreactor/core/publisher/MonoWhen;
0 5 1 delayError Z
0 5 2 sources [Lorg/reactivestreams/Publisher;
Signature: (Z[Lorg/reactivestreams/Publisher<*>;)V
MethodParameters:
Name Flags
delayError
sources
void <init>(boolean, java.lang.Iterable<? extends org.reactivestreams.Publisher<?>>);
descriptor: (ZLjava/lang/Iterable;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial reactor.core.publisher.Mono.<init>:()V
1: aload 0
iload 1
putfield reactor.core.publisher.MonoWhen.delayError:Z
2: aload 0
aconst_null
putfield reactor.core.publisher.MonoWhen.sources:[Lorg/reactivestreams/Publisher;
3: aload 0
aload 2
ldc "sourcesIterable"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Iterable
putfield reactor.core.publisher.MonoWhen.sourcesIterable:Ljava/lang/Iterable;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lreactor/core/publisher/MonoWhen;
0 5 1 delayError Z
0 5 2 sourcesIterable Ljava/lang/Iterable<+Lorg/reactivestreams/Publisher<*>;>;
Signature: (ZLjava/lang/Iterable<+Lorg/reactivestreams/Publisher<*>;>;)V
MethodParameters:
Name Flags
delayError
sourcesIterable
reactor.core.publisher.Mono<java.lang.Void> whenAdditionalSource(org.reactivestreams.Publisher<?>);
descriptor: (Lorg/reactivestreams/Publisher;)Lreactor/core/publisher/Mono;
flags: (0x0000)
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.MonoWhen.sources:[Lorg/reactivestreams/Publisher;
astore 2
start local 2 1: aload 2
ifnull 7
2: aload 2
arraylength
istore 3
start local 3 3: iload 3
iconst_1
iadd
anewarray org.reactivestreams.Publisher
astore 4
start local 4 4: aload 2
iconst_0
aload 4
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: aload 4
iload 3
aload 1
aastore
6: new reactor.core.publisher.MonoWhen
dup
aload 0
getfield reactor.core.publisher.MonoWhen.delayError:Z
aload 4
invokespecial reactor.core.publisher.MonoWhen.<init>:(Z[Lorg/reactivestreams/Publisher;)V
areturn
end local 4 end local 3 7: StackMap locals: org.reactivestreams.Publisher[]
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lreactor/core/publisher/MonoWhen;
0 8 1 source Lorg/reactivestreams/Publisher<*>;
1 8 2 oldSources [Lorg/reactivestreams/Publisher;
3 7 3 oldLen I
4 7 4 newSources [Lorg/reactivestreams/Publisher;
Signature: (Lorg/reactivestreams/Publisher<*>;)Lreactor/core/publisher/Mono<Ljava/lang/Void;>;
RuntimeVisibleAnnotations:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
source
public void subscribe(reactor.core.CoreSubscriber<? super java.lang.Void>);
descriptor: (Lreactor/core/CoreSubscriber;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: iconst_0
istore 3
start local 3 1: aload 0
getfield reactor.core.publisher.MonoWhen.sources:[Lorg/reactivestreams/Publisher;
ifnull 5
2: aload 0
getfield reactor.core.publisher.MonoWhen.sources:[Lorg/reactivestreams/Publisher;
astore 2
start local 2 3: aload 2
arraylength
istore 3
4: goto 14
end local 2 5: StackMap locals: reactor.core.publisher.MonoWhen reactor.core.CoreSubscriber top int
StackMap stack:
bipush 8
anewarray org.reactivestreams.Publisher
astore 2
start local 2 6: aload 0
getfield reactor.core.publisher.MonoWhen.sourcesIterable:Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 13
StackMap locals: reactor.core.publisher.MonoWhen reactor.core.CoreSubscriber org.reactivestreams.Publisher[] int top java.util.Iterator
StackMap stack:
7: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
astore 4
start local 4 8: iload 3
aload 2
arraylength
if_icmpne 12
9: iload 3
iload 3
iconst_2
ishr
iadd
anewarray org.reactivestreams.Publisher
astore 6
start local 6 10: aload 2
iconst_0
aload 6
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: aload 6
astore 2
end local 6 12: StackMap locals: reactor.core.publisher.MonoWhen reactor.core.CoreSubscriber org.reactivestreams.Publisher[] int org.reactivestreams.Publisher java.util.Iterator
StackMap stack:
aload 2
iload 3
iinc 3 1
aload 4
aastore
end local 4 13: StackMap locals: reactor.core.publisher.MonoWhen reactor.core.CoreSubscriber org.reactivestreams.Publisher[] int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
14: StackMap locals: reactor.core.publisher.MonoWhen reactor.core.CoreSubscriber org.reactivestreams.Publisher[] int
StackMap stack:
iload 3
ifne 17
15: aload 1
invokestatic reactor.core.publisher.Operators.complete:(Lorg/reactivestreams/Subscriber;)V
16: return
17: StackMap locals:
StackMap stack:
new reactor.core.publisher.MonoWhen$WhenCoordinator
dup
aload 1
iload 3
aload 0
getfield reactor.core.publisher.MonoWhen.delayError:Z
invokespecial reactor.core.publisher.MonoWhen$WhenCoordinator.<init>:(Lreactor/core/CoreSubscriber;IZ)V
astore 4
start local 4 18: aload 1
aload 4
invokeinterface reactor.core.CoreSubscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
19: aload 4
aload 2
invokevirtual reactor.core.publisher.MonoWhen$WhenCoordinator.subscribe:([Lorg/reactivestreams/Publisher;)V
20: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lreactor/core/publisher/MonoWhen;
0 21 1 actual Lreactor/core/CoreSubscriber<-Ljava/lang/Void;>;
3 5 2 a [Lorg/reactivestreams/Publisher;
6 21 2 a [Lorg/reactivestreams/Publisher;
1 21 3 n I
8 13 4 m Lorg/reactivestreams/Publisher<*>;
10 12 6 b [Lorg/reactivestreams/Publisher;
18 21 4 parent Lreactor/core/publisher/MonoWhen$WhenCoordinator;
Signature: (Lreactor/core/CoreSubscriber<-Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
actual
public java.lang.Object scanUnsafe(reactor.core.Scannable$Attr);
descriptor: (Lreactor/core/Scannable$Attr;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic reactor.core.Scannable$Attr.DELAY_ERROR:Lreactor/core/Scannable$Attr;
if_acmpne 1
aload 0
getfield reactor.core.publisher.MonoWhen.delayError:Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
1: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.RUN_STYLE:Lreactor/core/Scannable$Attr;
if_acmpne 2
getstatic reactor.core.Scannable$Attr$RunStyle.SYNC:Lreactor/core/Scannable$Attr$RunStyle;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lreactor/core/publisher/MonoWhen;
0 3 1 key Lreactor/core/Scannable$Attr;
MethodParameters:
Name Flags
key
}
Signature: Lreactor/core/publisher/Mono<Ljava/lang/Void;>;Lreactor/core/publisher/SourceProducer<Ljava/lang/Void;>;
SourceFile: "MonoWhen.java"
NestMembers:
reactor.core.publisher.MonoWhen$WhenCoordinator reactor.core.publisher.MonoWhen$WhenInner
InnerClasses:
public Attr = reactor.core.Scannable$Attr of reactor.core.Scannable
public final RunStyle = reactor.core.Scannable$Attr$RunStyle of reactor.core.Scannable$Attr
final WhenCoordinator = reactor.core.publisher.MonoWhen$WhenCoordinator of reactor.core.publisher.MonoWhen
final WhenInner = reactor.core.publisher.MonoWhen$WhenInner of reactor.core.publisher.MonoWhen