final class reactor.core.publisher.FluxZip<T, R> extends reactor.core.publisher.Flux<R> implements reactor.core.publisher.SourceProducer<R>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: reactor.core.publisher.FluxZip
super_class: reactor.core.publisher.Flux
{
final org.reactivestreams.Publisher<? extends T>[] sources;
descriptor: [Lorg/reactivestreams/Publisher;
flags: (0x0010) ACC_FINAL
Signature: [Lorg/reactivestreams/Publisher<+TT;>;
final java.lang.Iterable<? extends org.reactivestreams.Publisher<? extends T>> sourcesIterable;
descriptor: Ljava/lang/Iterable;
flags: (0x0010) ACC_FINAL
Signature: Ljava/lang/Iterable<+Lorg/reactivestreams/Publisher<+TT;>;>;
final java.util.function.Function<? super java.lang.Object[], ? extends R> zipper;
descriptor: Ljava/util/function/Function;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/Function<-[Ljava/lang/Object;+TR;>;
final java.util.function.Supplier<? extends java.util.Queue<T>> queueSupplier;
descriptor: Ljava/util/function/Supplier;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/Supplier<+Ljava/util/Queue<TT;>;>;
final int prefetch;
descriptor: I
flags: (0x0010) ACC_FINAL
<U> void <init>(org.reactivestreams.Publisher<? extends T>, org.reactivestreams.Publisher<? extends U>, java.util.function.BiFunction<? super T, ? super U, ? extends R>, java.util.function.Supplier<? extends java.util.Queue<T>>, );
descriptor: (Lorg/reactivestreams/Publisher;Lorg/reactivestreams/Publisher;Ljava/util/function/BiFunction;Ljava/util/function/Supplier;I)V
flags: (0x0000)
Code:
stack=9, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iconst_2
anewarray org.reactivestreams.Publisher
dup
iconst_0
aload 1
ldc "p1"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
aastore
dup
iconst_1
1: aload 2
ldc "p2"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
aastore
2: new reactor.core.publisher.FluxZip$PairwiseZipper
dup
iconst_1
anewarray java.util.function.BiFunction
dup
iconst_0
3: aload 3
ldc "zipper2"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.function.BiFunction
aastore
4: invokespecial reactor.core.publisher.FluxZip$PairwiseZipper.<init>:([Ljava/util/function/BiFunction;)V
5: aload 4
6: iload 5
invokespecial reactor.core.publisher.FluxZip.<init>:([Lorg/reactivestreams/Publisher;Ljava/util/function/Function;Ljava/util/function/Supplier;I)V
7: return
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 8 0 this Lreactor/core/publisher/FluxZip<TT;TR;>;
0 8 1 p1 Lorg/reactivestreams/Publisher<+TT;>;
0 8 2 p2 Lorg/reactivestreams/Publisher<+TU;>;
0 8 3 zipper2 Ljava/util/function/BiFunction<-TT;-TU;+TR;>;
0 8 4 queueSupplier Ljava/util/function/Supplier<+Ljava/util/Queue<TT;>;>;
0 8 5 prefetch I
Signature: <U:Ljava/lang/Object;>(Lorg/reactivestreams/Publisher<+TT;>;Lorg/reactivestreams/Publisher<+TU;>;Ljava/util/function/BiFunction<-TT;-TU;+TR;>;Ljava/util/function/Supplier<+Ljava/util/Queue<TT;>;>;I)V
MethodParameters:
Name Flags
p1
p2
zipper2
queueSupplier
prefetch
void <init>(org.reactivestreams.Publisher<? extends T>[], java.util.function.Function<? super java.lang.Object[], ? extends R>, java.util.function.Supplier<? extends java.util.Queue<T>>, );
descriptor: ([Lorg/reactivestreams/Publisher;Ljava/util/function/Function;Ljava/util/function/Supplier;I)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial reactor.core.publisher.Flux.<init>:()V
1: iload 4
ifgt 3
2: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "prefetch > 0 required but it was "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: reactor.core.publisher.FluxZip org.reactivestreams.Publisher[] java.util.function.Function java.util.function.Supplier int
StackMap stack:
aload 0
aload 1
ldc "sources"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher[]
putfield reactor.core.publisher.FluxZip.sources:[Lorg/reactivestreams/Publisher;
4: aload 1
arraylength
ifne 6
5: new java.lang.IllegalArgumentException
dup
ldc "at least one source is required"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield reactor.core.publisher.FluxZip.sourcesIterable:Ljava/lang/Iterable;
7: aload 0
aload 2
ldc "zipper"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.function.Function
putfield reactor.core.publisher.FluxZip.zipper:Ljava/util/function/Function;
8: aload 0
aload 3
ldc "queueSupplier"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.function.Supplier
putfield reactor.core.publisher.FluxZip.queueSupplier:Ljava/util/function/Supplier;
9: aload 0
iload 4
putfield reactor.core.publisher.FluxZip.prefetch:I
10: return
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/FluxZip<TT;TR;>;
0 11 1 sources [Lorg/reactivestreams/Publisher;
0 11 2 zipper Ljava/util/function/Function<-[Ljava/lang/Object;+TR;>;
0 11 3 queueSupplier Ljava/util/function/Supplier<+Ljava/util/Queue<TT;>;>;
0 11 4 prefetch I
Signature: ([Lorg/reactivestreams/Publisher<+TT;>;Ljava/util/function/Function<-[Ljava/lang/Object;+TR;>;Ljava/util/function/Supplier<+Ljava/util/Queue<TT;>;>;I)V
MethodParameters:
Name Flags
sources
zipper
queueSupplier
prefetch
void <init>(java.lang.Iterable<? extends org.reactivestreams.Publisher<? extends T>>, java.util.function.Function<? super java.lang.Object[], ? extends R>, java.util.function.Supplier<? extends java.util.Queue<T>>, );
descriptor: (Ljava/lang/Iterable;Ljava/util/function/Function;Ljava/util/function/Supplier;I)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial reactor.core.publisher.Flux.<init>:()V
1: iload 4
ifgt 3
2: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "prefetch > 0 required but it was "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: reactor.core.publisher.FluxZip java.lang.Iterable java.util.function.Function java.util.function.Supplier int
StackMap stack:
aload 0
aconst_null
putfield reactor.core.publisher.FluxZip.sources:[Lorg/reactivestreams/Publisher;
4: aload 0
aload 1
ldc "sourcesIterable"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Iterable
putfield reactor.core.publisher.FluxZip.sourcesIterable:Ljava/lang/Iterable;
5: aload 0
aload 2
ldc "zipper"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.function.Function
putfield reactor.core.publisher.FluxZip.zipper:Ljava/util/function/Function;
6: aload 0
aload 3
ldc "queueSupplier"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.function.Supplier
putfield reactor.core.publisher.FluxZip.queueSupplier:Ljava/util/function/Supplier;
7: aload 0
iload 4
putfield reactor.core.publisher.FluxZip.prefetch:I
8: return
end local 4 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/FluxZip<TT;TR;>;
0 9 1 sourcesIterable Ljava/lang/Iterable<+Lorg/reactivestreams/Publisher<+TT;>;>;
0 9 2 zipper Ljava/util/function/Function<-[Ljava/lang/Object;+TR;>;
0 9 3 queueSupplier Ljava/util/function/Supplier<+Ljava/util/Queue<TT;>;>;
0 9 4 prefetch I
Signature: (Ljava/lang/Iterable<+Lorg/reactivestreams/Publisher<+TT;>;>;Ljava/util/function/Function<-[Ljava/lang/Object;+TR;>;Ljava/util/function/Supplier<+Ljava/util/Queue<TT;>;>;I)V
MethodParameters:
Name Flags
sourcesIterable
zipper
queueSupplier
prefetch
public int getPrefetch();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxZip.prefetch:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/FluxZip<TT;TR;>;
reactor.core.publisher.FluxZip<T, R> zipAdditionalSource(org.reactivestreams.Publisher, java.util.function.BiFunction);
descriptor: (Lorg/reactivestreams/Publisher;Ljava/util/function/BiFunction;)Lreactor/core/publisher/FluxZip;
flags: (0x0000)
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield reactor.core.publisher.FluxZip.sources:[Lorg/reactivestreams/Publisher;
astore 3
start local 3 1: aload 3
ifnull 8
aload 0
getfield reactor.core.publisher.FluxZip.zipper:Ljava/util/function/Function;
instanceof reactor.core.publisher.FluxZip$PairwiseZipper
ifeq 8
2: aload 3
arraylength
istore 4
start local 4 3: iload 4
iconst_1
iadd
anewarray org.reactivestreams.Publisher
astore 5
start local 5 4: aload 3
iconst_0
aload 5
iconst_0
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: aload 5
iload 4
aload 1
aastore
6: aload 0
getfield reactor.core.publisher.FluxZip.zipper:Ljava/util/function/Function;
checkcast reactor.core.publisher.FluxZip$PairwiseZipper
aload 2
invokevirtual reactor.core.publisher.FluxZip$PairwiseZipper.then:(Ljava/util/function/BiFunction;)Lreactor/core/publisher/FluxZip$PairwiseZipper;
astore 6
start local 6 7: new reactor.core.publisher.FluxZip
dup
aload 5
aload 6
aload 0
getfield reactor.core.publisher.FluxZip.queueSupplier:Ljava/util/function/Supplier;
aload 0
getfield reactor.core.publisher.FluxZip.prefetch:I
invokespecial reactor.core.publisher.FluxZip.<init>:([Lorg/reactivestreams/Publisher;Ljava/util/function/Function;Ljava/util/function/Supplier;I)V
areturn
end local 6 end local 5 end local 4 8: StackMap locals: org.reactivestreams.Publisher[]
StackMap stack:
aconst_null
areturn
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/FluxZip<TT;TR;>;
0 9 1 source Lorg/reactivestreams/Publisher;
0 9 2 zipper Ljava/util/function/BiFunction;
1 9 3 oldSources [Lorg/reactivestreams/Publisher;
3 8 4 oldLen I
4 8 5 newSources [Lorg/reactivestreams/Publisher;
7 8 6 z Ljava/util/function/Function<[Ljava/lang/Object;TR;>;
Signature: (Lorg/reactivestreams/Publisher;Ljava/util/function/BiFunction;)Lreactor/core/publisher/FluxZip<TT;TR;>;
RuntimeVisibleAnnotations:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
source
zipper
public void subscribe(reactor.core.CoreSubscriber<? super R>);
descriptor: (Lreactor/core/CoreSubscriber;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxZip.sources:[Lorg/reactivestreams/Publisher;
astore 2
start local 2 1: aload 2
ifnull 4
2: aload 0
aload 1
aload 2
invokevirtual reactor.core.publisher.FluxZip.handleArrayMode:(Lreactor/core/CoreSubscriber;[Lorg/reactivestreams/Publisher;)V
3: goto 9
4: StackMap locals: org.reactivestreams.Publisher[]
StackMap stack:
aload 0
aload 1
aload 0
getfield reactor.core.publisher.FluxZip.sourcesIterable:Ljava/lang/Iterable;
invokevirtual reactor.core.publisher.FluxZip.handleIterableMode:(Lreactor/core/CoreSubscriber;Ljava/lang/Iterable;)V
5: goto 9
6: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 7: aload 1
aload 3
invokestatic reactor.core.publisher.Operators.reportThrowInSubscribe:(Lreactor/core/CoreSubscriber;Ljava/lang/Throwable;)V
8: return
end local 3 9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lreactor/core/publisher/FluxZip<TT;TR;>;
0 10 1 actual Lreactor/core/CoreSubscriber<-TR;>;
1 10 2 srcs [Lorg/reactivestreams/Publisher;
7 9 3 e Ljava/lang/Throwable;
Exception table:
from to target type
1 5 6 Class java.lang.Throwable
Signature: (Lreactor/core/CoreSubscriber<-TR;>;)V
MethodParameters:
Name Flags
actual
void handleIterableMode(reactor.core.CoreSubscriber<? super R>, java.lang.Iterable<? extends org.reactivestreams.Publisher<? extends T>>);
descriptor: (Lreactor/core/CoreSubscriber;Ljava/lang/Iterable;)V
flags: (0x0000)
Code:
stack=6, locals=13, args_size=3
start local 0 start local 1 start local 2 0: bipush 8
anewarray java.lang.Object
astore 3
start local 3 1: bipush 8
anewarray org.reactivestreams.Publisher
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: aload 2
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 46
StackMap locals: reactor.core.publisher.FluxZip reactor.core.CoreSubscriber java.lang.Iterable java.lang.Object[] org.reactivestreams.Publisher[] int int top java.util.Iterator
StackMap stack:
5: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
astore 7
start local 7 6: aload 7
ifnonnull 15
7: aload 1
8: new java.lang.NullPointerException
dup
9: ldc "The sourcesIterable returned a null Publisher"
10: invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
11: aload 1
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
12: invokestatic reactor.core.publisher.Operators.onOperatorError:(Ljava/lang/Throwable;Lreactor/util/context/Context;)Ljava/lang/Throwable;
13: invokestatic reactor.core.publisher.Operators.error:(Lorg/reactivestreams/Subscriber;Ljava/lang/Throwable;)V
14: return
15: StackMap locals: reactor.core.publisher.FluxZip reactor.core.CoreSubscriber java.lang.Iterable java.lang.Object[] org.reactivestreams.Publisher[] int int org.reactivestreams.Publisher java.util.Iterator
StackMap stack:
aload 7
instanceof java.util.concurrent.Callable
ifeq 37
16: aload 7
checkcast java.util.concurrent.Callable
astore 9
start local 9 17: aload 9
invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
astore 10
start local 10 18: goto 24
end local 10 19: StackMap locals: reactor.core.publisher.FluxZip reactor.core.CoreSubscriber java.lang.Iterable java.lang.Object[] org.reactivestreams.Publisher[] int int org.reactivestreams.Publisher java.util.Iterator java.util.concurrent.Callable
StackMap stack: java.lang.Throwable
astore 11
start local 11 20: aload 1
aload 11
21: aload 1
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
22: 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
23: return
end local 11 start local 10 24: StackMap locals: java.lang.Object
StackMap stack:
aload 10
ifnonnull 27
25: aload 1
invokestatic reactor.core.publisher.Operators.complete:(Lorg/reactivestreams/Subscriber;)V
26: return
27: StackMap locals:
StackMap stack:
iload 5
aload 3
arraylength
if_icmpne 34
28: iload 5
iload 5
iconst_1
ishr
iadd
anewarray java.lang.Object
astore 11
start local 11 29: aload 3
iconst_0
aload 11
iconst_0
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
30: aload 11
arraylength
anewarray org.reactivestreams.Publisher
astore 12
start local 12 31: aload 4
iconst_0
aload 12
iconst_0
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
32: aload 11
astore 3
33: aload 12
astore 4
end local 12 end local 11 34: StackMap locals:
StackMap stack:
aload 3
iload 5
aload 10
aastore
35: iinc 6 1
end local 10 end local 9 36: goto 45
37: StackMap locals:
StackMap stack:
iload 5
aload 4
arraylength
if_icmpne 44
38: iload 5
iload 5
iconst_1
ishr
iadd
anewarray java.lang.Object
astore 9
start local 9 39: aload 3
iconst_0
aload 9
iconst_0
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
40: aload 9
arraylength
anewarray org.reactivestreams.Publisher
astore 10
start local 10 41: aload 4
iconst_0
aload 10
iconst_0
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
42: aload 9
astore 3
43: aload 10
astore 4
end local 10 end local 9 44: StackMap locals:
StackMap stack:
aload 4
iload 5
aload 7
aastore
45: StackMap locals:
StackMap stack:
iinc 5 1
end local 7 46: StackMap locals: reactor.core.publisher.FluxZip reactor.core.CoreSubscriber java.lang.Iterable java.lang.Object[] org.reactivestreams.Publisher[] int int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
47: iload 5
ifne 50
48: aload 1
invokestatic reactor.core.publisher.Operators.complete:(Lorg/reactivestreams/Subscriber;)V
49: return
50: StackMap locals: reactor.core.publisher.FluxZip reactor.core.CoreSubscriber java.lang.Iterable java.lang.Object[] org.reactivestreams.Publisher[] int int
StackMap stack:
iload 5
aload 3
arraylength
if_icmpge 52
51: aload 3
iconst_0
iload 5
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;
astore 3
52: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
aload 3
iload 5
iload 6
invokevirtual reactor.core.publisher.FluxZip.handleBoth:(Lreactor/core/CoreSubscriber;[Lorg/reactivestreams/Publisher;[Ljava/lang/Object;II)V
53: return
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 54 0 this Lreactor/core/publisher/FluxZip<TT;TR;>;
0 54 1 s Lreactor/core/CoreSubscriber<-TR;>;
0 54 2 sourcesIterable Ljava/lang/Iterable<+Lorg/reactivestreams/Publisher<+TT;>;>;
1 54 3 scalars [Ljava/lang/Object;
2 54 4 srcs [Lorg/reactivestreams/Publisher;
3 54 5 n I
4 54 6 sc I
6 46 7 p Lorg/reactivestreams/Publisher<+TT;>;
17 36 9 callable Ljava/util/concurrent/Callable<TT;>;
18 19 10 v TT;
24 36 10 v TT;
20 24 11 e Ljava/lang/Throwable;
29 34 11 b [Ljava/lang/Object;
31 34 12 c [Lorg/reactivestreams/Publisher;
39 44 9 b [Ljava/lang/Object;
41 44 10 c [Lorg/reactivestreams/Publisher;
Exception table:
from to target type
17 18 19 Class java.lang.Throwable
Signature: (Lreactor/core/CoreSubscriber<-TR;>;Ljava/lang/Iterable<+Lorg/reactivestreams/Publisher<+TT;>;>;)V
MethodParameters:
Name Flags
s
sourcesIterable
void handleArrayMode(reactor.core.CoreSubscriber<? super R>, org.reactivestreams.Publisher<? extends T>[]);
descriptor: (Lreactor/core/CoreSubscriber;[Lorg/reactivestreams/Publisher;)V
flags: (0x0000)
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 2
arraylength
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 27
5: StackMap locals: reactor.core.publisher.FluxZip reactor.core.CoreSubscriber org.reactivestreams.Publisher[] java.lang.Object[] int int int
StackMap stack:
aload 2
iload 6
aaload
astore 7
start local 7 6: aload 7
ifnonnull 11
7: aload 1
8: new java.lang.NullPointerException
dup
ldc "The sources contained a null Publisher"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
9: invokestatic reactor.core.publisher.Operators.error:(Lorg/reactivestreams/Subscriber;Ljava/lang/Throwable;)V
10: return
11: StackMap locals: org.reactivestreams.Publisher
StackMap stack:
aload 7
instanceof java.util.concurrent.Callable
ifeq 26
12: aload 7
checkcast java.util.concurrent.Callable
invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
astore 8
start local 8 13: goto 19
end local 8 14: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
start local 9 15: aload 1
aload 9
16: aload 1
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
17: 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
18: return
end local 9 start local 8 19: StackMap locals: java.lang.Object
StackMap stack:
aload 8
ifnonnull 22
20: aload 1
invokestatic reactor.core.publisher.Operators.complete:(Lorg/reactivestreams/Subscriber;)V
21: return
22: StackMap locals:
StackMap stack:
aload 3
ifnonnull 24
23: iload 4
anewarray java.lang.Object
astore 3
24: StackMap locals:
StackMap stack:
aload 3
iload 6
aload 8
aastore
25: iinc 5 1
end local 8 end local 7 26: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
27: iload 6
iload 4
if_icmplt 5
end local 6 28: aload 0
aload 1
aload 2
aload 3
iload 4
iload 5
invokevirtual reactor.core.publisher.FluxZip.handleBoth:(Lreactor/core/CoreSubscriber;[Lorg/reactivestreams/Publisher;[Ljava/lang/Object;II)V
29: return
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 30 0 this Lreactor/core/publisher/FluxZip<TT;TR;>;
0 30 1 s Lreactor/core/CoreSubscriber<-TR;>;
0 30 2 srcs [Lorg/reactivestreams/Publisher;
1 30 3 scalars [Ljava/lang/Object;
2 30 4 n I
3 30 5 sc I
4 28 6 j I
6 26 7 p Lorg/reactivestreams/Publisher<+TT;>;
13 14 8 v Ljava/lang/Object;
19 26 8 v Ljava/lang/Object;
15 19 9 e Ljava/lang/Throwable;
Exception table:
from to target type
12 13 14 Class java.lang.Throwable
Signature: (Lreactor/core/CoreSubscriber<-TR;>;[Lorg/reactivestreams/Publisher<+TT;>;)V
MethodParameters:
Name Flags
s
srcs
void handleBoth(reactor.core.CoreSubscriber<? super R>, org.reactivestreams.Publisher<? extends T>[], [], int, );
descriptor: (Lreactor/core/CoreSubscriber;[Lorg/reactivestreams/Publisher;[Ljava/lang/Object;II)V
flags: (0x0000)
Code:
stack=7, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 5
ifeq 18
aload 3
ifnull 18
1: iload 4
iload 5
if_icmpeq 7
2: new reactor.core.publisher.FluxZip$ZipSingleCoordinator
dup
aload 1
aload 3
iload 4
aload 0
getfield reactor.core.publisher.FluxZip.zipper:Ljava/util/function/Function;
invokespecial reactor.core.publisher.FluxZip$ZipSingleCoordinator.<init>:(Lreactor/core/CoreSubscriber;[Ljava/lang/Object;ILjava/util/function/Function;)V
3: astore 6
start local 6 4: aload 1
aload 6
invokeinterface reactor.core.CoreSubscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
5: aload 6
iload 4
iload 5
aload 2
invokevirtual reactor.core.publisher.FluxZip$ZipSingleCoordinator.subscribe:(II[Lorg/reactivestreams/Publisher;)V
end local 6 6: goto 22
7: StackMap locals:
StackMap stack:
new reactor.core.publisher.Operators$MonoSubscriber
dup
aload 1
invokespecial reactor.core.publisher.Operators$MonoSubscriber.<init>:(Lreactor/core/CoreSubscriber;)V
astore 6
start local 6 8: aload 1
aload 6
invokeinterface reactor.core.CoreSubscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
9: aload 0
getfield reactor.core.publisher.FluxZip.zipper:Ljava/util/function/Function;
aload 3
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
10: ldc "The zipper returned a null value"
11: invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 7
start local 7 12: goto 16
end local 7 13: StackMap locals: reactor.core.publisher.FluxZip reactor.core.CoreSubscriber org.reactivestreams.Publisher[] java.lang.Object[] int int reactor.core.publisher.Operators$MonoSubscriber
StackMap stack: java.lang.Throwable
astore 8
start local 8 14: aload 1
aload 8
aload 1
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onOperatorError:(Ljava/lang/Throwable;Lreactor/util/context/Context;)Ljava/lang/Throwable;
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
15: return
end local 8 start local 7 16: StackMap locals: java.lang.Object
StackMap stack:
aload 6
aload 7
invokevirtual reactor.core.publisher.Operators$MonoSubscriber.complete:(Ljava/lang/Object;)V
end local 7 end local 6 17: goto 22
18: StackMap locals:
StackMap stack:
new reactor.core.publisher.FluxZip$ZipCoordinator
dup
aload 1
aload 0
getfield reactor.core.publisher.FluxZip.zipper:Ljava/util/function/Function;
iload 4
aload 0
getfield reactor.core.publisher.FluxZip.queueSupplier:Ljava/util/function/Supplier;
aload 0
getfield reactor.core.publisher.FluxZip.prefetch:I
invokespecial reactor.core.publisher.FluxZip$ZipCoordinator.<init>:(Lreactor/core/CoreSubscriber;Ljava/util/function/Function;ILjava/util/function/Supplier;I)V
19: astore 6
start local 6 20: aload 1
aload 6
invokeinterface reactor.core.CoreSubscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
21: aload 6
aload 2
iload 4
invokevirtual reactor.core.publisher.FluxZip$ZipCoordinator.subscribe:([Lorg/reactivestreams/Publisher;I)V
end local 6 22: StackMap locals:
StackMap stack:
return
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 23 0 this Lreactor/core/publisher/FluxZip<TT;TR;>;
0 23 1 s Lreactor/core/CoreSubscriber<-TR;>;
0 23 2 srcs [Lorg/reactivestreams/Publisher;
0 23 3 scalars [Ljava/lang/Object;
0 23 4 n I
0 23 5 sc I
4 6 6 coordinator Lreactor/core/publisher/FluxZip$ZipSingleCoordinator<TT;TR;>;
8 17 6 sds Lreactor/core/publisher/Operators$MonoSubscriber<TR;TR;>;
12 13 7 r TR;
16 17 7 r TR;
14 16 8 e Ljava/lang/Throwable;
20 22 6 coordinator Lreactor/core/publisher/FluxZip$ZipCoordinator<TT;TR;>;
Exception table:
from to target type
9 12 13 Class java.lang.Throwable
Signature: (Lreactor/core/CoreSubscriber<-TR;>;[Lorg/reactivestreams/Publisher<+TT;>;[Ljava/lang/Object;II)V
RuntimeVisibleParameterAnnotations:
0:
1:
2:
reactor.util.annotation.Nullable()
3:
4:
MethodParameters:
Name Flags
s
srcs
scalars
n
sc
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.PREFETCH:Lreactor/core/Scannable$Attr;
if_acmpne 1
aload 0
getfield reactor.core.publisher.FluxZip.prefetch:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
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/FluxZip<TT;TR;>;
0 3 1 key Lreactor/core/Scannable$Attr;
MethodParameters:
Name Flags
key
}
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>Lreactor/core/publisher/Flux<TR;>;Lreactor/core/publisher/SourceProducer<TR;>;
SourceFile: "FluxZip.java"
NestMembers:
reactor.core.publisher.FluxZip$PairwiseZipper reactor.core.publisher.FluxZip$ZipCoordinator reactor.core.publisher.FluxZip$ZipInner reactor.core.publisher.FluxZip$ZipSingleCoordinator reactor.core.publisher.FluxZip$ZipSingleSubscriber
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 PairwiseZipper = reactor.core.publisher.FluxZip$PairwiseZipper of reactor.core.publisher.FluxZip
final ZipCoordinator = reactor.core.publisher.FluxZip$ZipCoordinator of reactor.core.publisher.FluxZip
final ZipInner = reactor.core.publisher.FluxZip$ZipInner of reactor.core.publisher.FluxZip
final ZipSingleCoordinator = reactor.core.publisher.FluxZip$ZipSingleCoordinator of reactor.core.publisher.FluxZip
final ZipSingleSubscriber = reactor.core.publisher.FluxZip$ZipSingleSubscriber of reactor.core.publisher.FluxZip
public MonoSubscriber = reactor.core.publisher.Operators$MonoSubscriber of reactor.core.publisher.Operators