final class reactor.core.publisher.FluxFirstWithValue<T> extends reactor.core.publisher.Flux<T> implements reactor.core.publisher.SourceProducer<T>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: reactor.core.publisher.FluxFirstWithValue
super_class: reactor.core.publisher.Flux
{
final org.reactivestreams.Publisher<? extends T>[] array;
descriptor: [Lorg/reactivestreams/Publisher;
flags: (0x0010) ACC_FINAL
Signature: [Lorg/reactivestreams/Publisher<+TT;>;
final java.lang.Iterable<? extends org.reactivestreams.Publisher<? extends T>> iterable;
descriptor: Ljava/lang/Iterable;
flags: (0x0010) ACC_FINAL
Signature: Ljava/lang/Iterable<+Lorg/reactivestreams/Publisher<+TT;>;>;
private void <init>(org.reactivestreams.Publisher<? extends T>[]);
descriptor: ([Lorg/reactivestreams/Publisher;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial reactor.core.publisher.Flux.<init>:()V
1: aload 0
aload 1
ldc "array"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher[]
putfield reactor.core.publisher.FluxFirstWithValue.array:[Lorg/reactivestreams/Publisher;
2: aload 0
aconst_null
putfield reactor.core.publisher.FluxFirstWithValue.iterable:Ljava/lang/Iterable;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lreactor/core/publisher/FluxFirstWithValue<TT;>;
0 4 1 array [Lorg/reactivestreams/Publisher;
Signature: ([Lorg/reactivestreams/Publisher<+TT;>;)V
MethodParameters:
Name Flags
array
void <init>(org.reactivestreams.Publisher<? extends T>, org.reactivestreams.Publisher<? extends T>[]);
descriptor: (Lorg/reactivestreams/Publisher;[Lorg/reactivestreams/Publisher;)V
flags: (0x0080) ACC_VARARGS
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial reactor.core.publisher.Flux.<init>:()V
1: aload 1
ldc "first"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 2
ldc "others"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aload 2
arraylength
iconst_1
iadd
anewarray org.reactivestreams.Publisher
astore 3
start local 3 4: aload 3
iconst_0
aload 1
aastore
5: aload 2
iconst_0
aload 3
iconst_1
aload 2
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 0
aload 3
putfield reactor.core.publisher.FluxFirstWithValue.array:[Lorg/reactivestreams/Publisher;
7: aload 0
aconst_null
putfield reactor.core.publisher.FluxFirstWithValue.iterable:Ljava/lang/Iterable;
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lreactor/core/publisher/FluxFirstWithValue<TT;>;
0 9 1 first Lorg/reactivestreams/Publisher<+TT;>;
0 9 2 others [Lorg/reactivestreams/Publisher;
4 9 3 newArray [Lorg/reactivestreams/Publisher;
Signature: (Lorg/reactivestreams/Publisher<+TT;>;[Lorg/reactivestreams/Publisher<+TT;>;)V
RuntimeVisibleAnnotations:
java.lang.SafeVarargs()
MethodParameters:
Name Flags
first
others
void <init>(java.lang.Iterable<? extends org.reactivestreams.Publisher<? extends T>>);
descriptor: (Ljava/lang/Iterable;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial reactor.core.publisher.Flux.<init>:()V
1: aload 0
aconst_null
putfield reactor.core.publisher.FluxFirstWithValue.array:[Lorg/reactivestreams/Publisher;
2: aload 0
aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Iterable
putfield reactor.core.publisher.FluxFirstWithValue.iterable:Ljava/lang/Iterable;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lreactor/core/publisher/FluxFirstWithValue<TT;>;
0 4 1 iterable Ljava/lang/Iterable<+Lorg/reactivestreams/Publisher<+TT;>;>;
Signature: (Ljava/lang/Iterable<+Lorg/reactivestreams/Publisher<+TT;>;>;)V
MethodParameters:
Name Flags
iterable
final reactor.core.publisher.FluxFirstWithValue<T> firstValuedAdditionalSources(org.reactivestreams.Publisher<? extends T>[]);
descriptor: ([Lorg/reactivestreams/Publisher;)Lreactor/core/publisher/FluxFirstWithValue;
flags: (0x0090) ACC_FINAL, ACC_VARARGS
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ldc "others"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 1
arraylength
ifne 3
2: aload 0
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxFirstWithValue.array:[Lorg/reactivestreams/Publisher;
ifnonnull 5
4: aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxFirstWithValue.array:[Lorg/reactivestreams/Publisher;
arraylength
istore 2
start local 2 6: aload 1
arraylength
istore 3
start local 3 7: iload 2
iload 3
iadd
anewarray org.reactivestreams.Publisher
astore 4
start local 4 8: aload 0
getfield reactor.core.publisher.FluxFirstWithValue.array:[Lorg/reactivestreams/Publisher;
iconst_0
aload 4
iconst_0
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: aload 1
iconst_0
aload 4
iload 2
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: new reactor.core.publisher.FluxFirstWithValue
dup
aload 4
invokespecial reactor.core.publisher.FluxFirstWithValue.<init>:([Lorg/reactivestreams/Publisher;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lreactor/core/publisher/FluxFirstWithValue<TT;>;
0 11 1 others [Lorg/reactivestreams/Publisher;
6 11 2 currentSize I
7 11 3 otherSize I
8 11 4 newArray [Lorg/reactivestreams/Publisher;
Signature: ([Lorg/reactivestreams/Publisher<+TT;>;)Lreactor/core/publisher/FluxFirstWithValue<TT;>;
RuntimeVisibleAnnotations:
java.lang.SafeVarargs()
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
others
public void subscribe(reactor.core.CoreSubscriber<? super T>);
descriptor: (Lreactor/core/CoreSubscriber;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxFirstWithValue.array:[Lorg/reactivestreams/Publisher;
astore 2
start local 2 1: aload 2
ifnonnull 37
2: iconst_0
istore 3
start local 3 3: bipush 8
anewarray org.reactivestreams.Publisher
astore 2
4: aload 0
getfield reactor.core.publisher.FluxFirstWithValue.iterable:Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
5: ldc "The iterator returned is null"
6: invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.Iterator
astore 4
start local 4 7: goto 13
end local 4 StackMap locals: reactor.core.publisher.FluxFirstWithValue reactor.core.CoreSubscriber org.reactivestreams.Publisher[] int
StackMap stack: java.lang.Throwable
8: astore 5
start local 5 9: aload 1
aload 5
10: aload 1
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
11: invokestatic reactor.core.publisher.Operators.onOperatorError:(Ljava/lang/Throwable;Lreactor/util/context/Context;)Ljava/lang/Throwable;
invokestatic reactor.core.publisher.Operators.error:(Lorg/reactivestreams/Subscriber;Ljava/lang/Throwable;)V
12: return
end local 5 start local 4 13: StackMap locals: java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
istore 5
start local 5 14: goto 20
end local 5 StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 6
start local 6 16: aload 1
aload 6
17: aload 1
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
18: invokestatic reactor.core.publisher.Operators.onOperatorError:(Ljava/lang/Throwable;Lreactor/util/context/Context;)Ljava/lang/Throwable;
invokestatic reactor.core.publisher.Operators.error:(Lorg/reactivestreams/Subscriber;Ljava/lang/Throwable;)V
19: return
end local 6 start local 5 20: StackMap locals: int
StackMap stack:
iload 5
ifne 22
21: goto 38
22: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
23: ldc "The Publisher returned by the iterator is null"
24: invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
astore 6
start local 6 25: goto 31
end local 6 StackMap locals:
StackMap stack: java.lang.Throwable
26: astore 7
start local 7 27: aload 1
aload 7
28: aload 1
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
29: invokestatic reactor.core.publisher.Operators.onOperatorError:(Ljava/lang/Throwable;Lreactor/util/context/Context;)Ljava/lang/Throwable;
invokestatic reactor.core.publisher.Operators.error:(Lorg/reactivestreams/Subscriber;Ljava/lang/Throwable;)V
30: return
end local 7 start local 6 31: StackMap locals: org.reactivestreams.Publisher
StackMap stack:
iload 3
aload 2
arraylength
if_icmpne 35
32: iload 3
iload 3
iconst_2
ishr
iadd
anewarray org.reactivestreams.Publisher
astore 7
start local 7 33: aload 2
iconst_0
aload 7
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
34: aload 7
astore 2
end local 7 35: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
aload 6
aastore
end local 6 end local 5 36: goto 13
end local 4 end local 3 37: StackMap locals: reactor.core.publisher.FluxFirstWithValue reactor.core.CoreSubscriber org.reactivestreams.Publisher[]
StackMap stack:
aload 2
arraylength
istore 3
start local 3 38: StackMap locals: int
StackMap stack:
iload 3
ifne 41
39: aload 1
invokestatic reactor.core.publisher.Operators.complete:(Lorg/reactivestreams/Subscriber;)V
40: return
41: StackMap locals:
StackMap stack:
iload 3
iconst_1
if_icmpne 50
42: aload 2
iconst_0
aaload
astore 4
start local 4 43: aload 4
ifnonnull 48
44: aload 1
45: new java.lang.NullPointerException
dup
ldc "The single source Publisher is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
46: invokestatic reactor.core.publisher.Operators.error:(Lorg/reactivestreams/Subscriber;Ljava/lang/Throwable;)V
47: goto 49
48: StackMap locals: org.reactivestreams.Publisher
StackMap stack:
aload 4
aload 1
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
49: StackMap locals:
StackMap stack:
return
end local 4 50: StackMap locals:
StackMap stack:
new reactor.core.publisher.FluxFirstWithValue$RaceValuesCoordinator
dup
iload 3
invokespecial reactor.core.publisher.FluxFirstWithValue$RaceValuesCoordinator.<init>:(I)V
astore 4
start local 4 51: aload 4
aload 2
aload 1
invokevirtual reactor.core.publisher.FluxFirstWithValue$RaceValuesCoordinator.subscribe:([Lorg/reactivestreams/Publisher;Lreactor/core/CoreSubscriber;)V
52: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Lreactor/core/publisher/FluxFirstWithValue<TT;>;
0 53 1 actual Lreactor/core/CoreSubscriber<-TT;>;
1 53 2 a [Lorg/reactivestreams/Publisher;
3 37 3 n I
38 53 3 n I
7 8 4 it Ljava/util/Iterator<+Lorg/reactivestreams/Publisher<+TT;>;>;
13 37 4 it Ljava/util/Iterator<+Lorg/reactivestreams/Publisher<+TT;>;>;
9 13 5 e Ljava/lang/Throwable;
14 15 5 b Z
20 36 5 b Z
16 20 6 e Ljava/lang/Throwable;
25 26 6 p Lorg/reactivestreams/Publisher<+TT;>;
31 36 6 p Lorg/reactivestreams/Publisher<+TT;>;
27 31 7 e Ljava/lang/Throwable;
33 35 7 c [Lorg/reactivestreams/Publisher;
43 50 4 p Lorg/reactivestreams/Publisher<+TT;>;
51 53 4 coordinator Lreactor/core/publisher/FluxFirstWithValue$RaceValuesCoordinator<TT;>;
Exception table:
from to target type
4 7 8 Class java.lang.Throwable
13 14 15 Class java.lang.Throwable
22 25 26 Class java.lang.Throwable
Signature: (Lreactor/core/CoreSubscriber<-TT;>;)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.RUN_STYLE:Lreactor/core/Scannable$Attr;
if_acmpne 1
getstatic reactor.core.Scannable$Attr$RunStyle.SYNC:Lreactor/core/Scannable$Attr$RunStyle;
areturn
1: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lreactor/core/publisher/FluxFirstWithValue<TT;>;
0 2 1 key Lreactor/core/Scannable$Attr;
MethodParameters:
Name Flags
key
}
Signature: <T:Ljava/lang/Object;>Lreactor/core/publisher/Flux<TT;>;Lreactor/core/publisher/SourceProducer<TT;>;
SourceFile: "FluxFirstWithValue.java"
NestMembers:
reactor.core.publisher.FluxFirstWithValue$FirstValuesEmittingSubscriber reactor.core.publisher.FluxFirstWithValue$RaceValuesCoordinator
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 FirstValuesEmittingSubscriber = reactor.core.publisher.FluxFirstWithValue$FirstValuesEmittingSubscriber of reactor.core.publisher.FluxFirstWithValue
final RaceValuesCoordinator = reactor.core.publisher.FluxFirstWithValue$RaceValuesCoordinator of reactor.core.publisher.FluxFirstWithValue