final class reactor.core.publisher.FluxFlatMap<T, R> extends reactor.core.publisher.InternalFluxOperator<T, R>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: reactor.core.publisher.FluxFlatMap
super_class: reactor.core.publisher.InternalFluxOperator
{
final java.util.function.Function<? super T, ? extends org.reactivestreams.Publisher<? extends R>> mapper;
descriptor: Ljava/util/function/Function;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/Function<-TT;+Lorg/reactivestreams/Publisher<+TR;>;>;
final boolean delayError;
descriptor: Z
flags: (0x0010) ACC_FINAL
final int maxConcurrency;
descriptor: I
flags: (0x0010) ACC_FINAL
final java.util.function.Supplier<? extends java.util.Queue<R>> mainQueueSupplier;
descriptor: Ljava/util/function/Supplier;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/Supplier<+Ljava/util/Queue<TR;>;>;
final int prefetch;
descriptor: I
flags: (0x0010) ACC_FINAL
final java.util.function.Supplier<? extends java.util.Queue<R>> innerQueueSupplier;
descriptor: Ljava/util/function/Supplier;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/function/Supplier<+Ljava/util/Queue<TR;>;>;
void <init>(reactor.core.publisher.Flux<? extends T>, java.util.function.Function<? super T, ? extends org.reactivestreams.Publisher<? extends R>>, boolean, int, java.util.function.Supplier<? extends java.util.Queue<R>>, int, java.util.function.Supplier<? extends java.util.Queue<R>>);
descriptor: (Lreactor/core/publisher/Flux;Ljava/util/function/Function;ZILjava/util/function/Supplier;ILjava/util/function/Supplier;)V
flags: (0x0000)
Code:
stack=5, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 1
invokespecial reactor.core.publisher.InternalFluxOperator.<init>:(Lreactor/core/publisher/Flux;)V
1: iload 6
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 6
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.FluxFlatMap reactor.core.publisher.Flux java.util.function.Function int int java.util.function.Supplier int java.util.function.Supplier
StackMap stack:
iload 4
ifgt 5
4: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "maxConcurrency > 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
5: StackMap locals:
StackMap stack:
aload 0
aload 2
ldc "mapper"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.function.Function
putfield reactor.core.publisher.FluxFlatMap.mapper:Ljava/util/function/Function;
6: aload 0
iload 3
putfield reactor.core.publisher.FluxFlatMap.delayError:Z
7: aload 0
iload 6
putfield reactor.core.publisher.FluxFlatMap.prefetch:I
8: aload 0
iload 4
putfield reactor.core.publisher.FluxFlatMap.maxConcurrency:I
9: aload 0
10: aload 5
ldc "mainQueueSupplier"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.function.Supplier
11: putfield reactor.core.publisher.FluxFlatMap.mainQueueSupplier:Ljava/util/function/Supplier;
12: aload 0
13: aload 7
ldc "innerQueueSupplier"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.function.Supplier
14: putfield reactor.core.publisher.FluxFlatMap.innerQueueSupplier:Ljava/util/function/Supplier;
15: return
end local 7 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 16 0 this Lreactor/core/publisher/FluxFlatMap<TT;TR;>;
0 16 1 source Lreactor/core/publisher/Flux<+TT;>;
0 16 2 mapper Ljava/util/function/Function<-TT;+Lorg/reactivestreams/Publisher<+TR;>;>;
0 16 3 delayError Z
0 16 4 maxConcurrency I
0 16 5 mainQueueSupplier Ljava/util/function/Supplier<+Ljava/util/Queue<TR;>;>;
0 16 6 prefetch I
0 16 7 innerQueueSupplier Ljava/util/function/Supplier<+Ljava/util/Queue<TR;>;>;
Signature: (Lreactor/core/publisher/Flux<+TT;>;Ljava/util/function/Function<-TT;+Lorg/reactivestreams/Publisher<+TR;>;>;ZILjava/util/function/Supplier<+Ljava/util/Queue<TR;>;>;ILjava/util/function/Supplier<+Ljava/util/Queue<TR;>;>;)V
MethodParameters:
Name Flags
source
mapper
delayError
maxConcurrency
mainQueueSupplier
prefetch
innerQueueSupplier
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.FluxFlatMap.prefetch:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/FluxFlatMap<TT;TR;>;
public reactor.core.CoreSubscriber<? super T> subscribeOrReturn(reactor.core.CoreSubscriber<? super R>);
descriptor: (Lreactor/core/CoreSubscriber;)Lreactor/core/CoreSubscriber;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxFlatMap.source:Lreactor/core/publisher/Flux;
aload 1
aload 0
getfield reactor.core.publisher.FluxFlatMap.mapper:Ljava/util/function/Function;
iconst_0
iconst_1
invokestatic reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap:(Lorg/reactivestreams/Publisher;Lreactor/core/CoreSubscriber;Ljava/util/function/Function;ZZ)Z
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
new reactor.core.publisher.FluxFlatMap$FlatMapMain
dup
aload 1
3: aload 0
getfield reactor.core.publisher.FluxFlatMap.mapper:Ljava/util/function/Function;
4: aload 0
getfield reactor.core.publisher.FluxFlatMap.delayError:Z
5: aload 0
getfield reactor.core.publisher.FluxFlatMap.maxConcurrency:I
6: aload 0
getfield reactor.core.publisher.FluxFlatMap.mainQueueSupplier:Ljava/util/function/Supplier;
7: aload 0
getfield reactor.core.publisher.FluxFlatMap.prefetch:I
aload 0
getfield reactor.core.publisher.FluxFlatMap.innerQueueSupplier:Ljava/util/function/Supplier;
8: invokespecial reactor.core.publisher.FluxFlatMap$FlatMapMain.<init>:(Lreactor/core/CoreSubscriber;Ljava/util/function/Function;ZILjava/util/function/Supplier;ILjava/util/function/Supplier;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lreactor/core/publisher/FluxFlatMap<TT;TR;>;
0 9 1 actual Lreactor/core/CoreSubscriber<-TR;>;
Signature: (Lreactor/core/CoreSubscriber<-TR;>;)Lreactor/core/CoreSubscriber<-TT;>;
MethodParameters:
Name Flags
actual
static <T, R> boolean trySubscribeScalarMap(org.reactivestreams.Publisher<? extends T>, reactor.core.CoreSubscriber<? super R>, java.util.function.Function<? super T, ? extends org.reactivestreams.Publisher<? extends R>>, boolean, );
descriptor: (Lorg/reactivestreams/Publisher;Lreactor/core/CoreSubscriber;Ljava/util/function/Function;ZZ)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
instanceof java.util.concurrent.Callable
ifeq 56
1: aload 0
checkcast java.util.concurrent.Callable
invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
astore 5
start local 5 2: goto 14
end local 5 3: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
start local 6 4: aload 1
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
astore 7
start local 7 5: iload 4
ifeq 7
6: aconst_null
aload 6
aload 7
invokestatic reactor.core.publisher.Operators.onNextError:(Ljava/lang/Object;Ljava/lang/Throwable;Lreactor/util/context/Context;)Ljava/lang/Throwable;
goto 8
7: StackMap locals: org.reactivestreams.Publisher reactor.core.CoreSubscriber java.util.function.Function int int top java.lang.Throwable reactor.util.context.Context
StackMap stack:
aload 6
aload 7
invokestatic reactor.core.publisher.Operators.onOperatorError:(Ljava/lang/Throwable;Lreactor/util/context/Context;)Ljava/lang/Throwable;
8: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
start local 8 9: aload 8
ifnull 12
10: aload 1
aload 8
invokestatic reactor.core.publisher.Operators.error:(Lorg/reactivestreams/Subscriber;Ljava/lang/Throwable;)V
11: goto 13
12: StackMap locals: java.lang.Throwable
StackMap stack:
aload 1
invokestatic reactor.core.publisher.Operators.complete:(Lorg/reactivestreams/Subscriber;)V
13: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 8 end local 7 end local 6 start local 5 14: StackMap locals: org.reactivestreams.Publisher reactor.core.CoreSubscriber java.util.function.Function int int java.lang.Object
StackMap stack:
aload 5
ifnonnull 17
15: aload 1
invokestatic reactor.core.publisher.Operators.complete:(Lorg/reactivestreams/Subscriber;)V
16: iconst_1
ireturn
17: StackMap locals:
StackMap stack:
aload 2
aload 5
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
18: ldc "The mapper returned a null Publisher"
19: invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
astore 6
start local 6 20: goto 32
end local 6 21: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
start local 7 22: aload 1
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
astore 8
start local 8 23: iload 4
ifeq 25
24: aload 5
aload 7
aload 8
invokestatic reactor.core.publisher.Operators.onNextError:(Ljava/lang/Object;Ljava/lang/Throwable;Lreactor/util/context/Context;)Ljava/lang/Throwable;
goto 26
25: StackMap locals: org.reactivestreams.Publisher reactor.core.CoreSubscriber java.util.function.Function int int java.lang.Object top java.lang.Throwable reactor.util.context.Context
StackMap stack:
aconst_null
aload 7
aload 5
aload 8
invokestatic reactor.core.publisher.Operators.onOperatorError:(Lorg/reactivestreams/Subscription;Ljava/lang/Throwable;Ljava/lang/Object;Lreactor/util/context/Context;)Ljava/lang/Throwable;
26: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
start local 9 27: aload 9
ifnull 30
28: aload 1
aload 9
invokestatic reactor.core.publisher.Operators.error:(Lorg/reactivestreams/Subscriber;Ljava/lang/Throwable;)V
29: goto 31
30: StackMap locals: java.lang.Throwable
StackMap stack:
aload 1
invokestatic reactor.core.publisher.Operators.complete:(Lorg/reactivestreams/Subscriber;)V
31: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 9 end local 8 end local 7 start local 6 32: StackMap locals: org.reactivestreams.Publisher reactor.core.CoreSubscriber java.util.function.Function int int java.lang.Object org.reactivestreams.Publisher
StackMap stack:
aload 6
instanceof java.util.concurrent.Callable
ifeq 51
33: aload 6
checkcast java.util.concurrent.Callable
invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
astore 7
start local 7 34: goto 46
end local 7 35: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
start local 8 36: aload 1
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
astore 9
start local 9 37: iload 4
ifeq 39
38: aload 5
aload 8
aload 9
invokestatic reactor.core.publisher.Operators.onNextError:(Ljava/lang/Object;Ljava/lang/Throwable;Lreactor/util/context/Context;)Ljava/lang/Throwable;
goto 40
39: StackMap locals: org.reactivestreams.Publisher reactor.core.CoreSubscriber java.util.function.Function int int java.lang.Object org.reactivestreams.Publisher top java.lang.Throwable reactor.util.context.Context
StackMap stack:
aconst_null
aload 8
aload 5
aload 9
invokestatic reactor.core.publisher.Operators.onOperatorError:(Lorg/reactivestreams/Subscription;Ljava/lang/Throwable;Ljava/lang/Object;Lreactor/util/context/Context;)Ljava/lang/Throwable;
40: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
start local 10 41: aload 10
ifnull 44
42: aload 1
aload 10
invokestatic reactor.core.publisher.Operators.error:(Lorg/reactivestreams/Subscriber;Ljava/lang/Throwable;)V
43: goto 45
44: StackMap locals: java.lang.Throwable
StackMap stack:
aload 1
invokestatic reactor.core.publisher.Operators.complete:(Lorg/reactivestreams/Subscriber;)V
45: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 10 end local 9 end local 8 start local 7 46: StackMap locals: org.reactivestreams.Publisher reactor.core.CoreSubscriber java.util.function.Function int int java.lang.Object org.reactivestreams.Publisher java.lang.Object
StackMap stack:
aload 7
ifnull 49
47: aload 1
aload 1
aload 7
invokestatic reactor.core.publisher.Operators.scalarSubscription:(Lreactor/core/CoreSubscriber;Ljava/lang/Object;)Lorg/reactivestreams/Subscription;
invokeinterface reactor.core.CoreSubscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
48: goto 55
49: StackMap locals:
StackMap stack:
aload 1
invokestatic reactor.core.publisher.Operators.complete:(Lorg/reactivestreams/Subscriber;)V
end local 7 50: goto 55
51: StackMap locals:
StackMap stack:
iload 3
ifeq 52
aload 6
instanceof reactor.core.Fuseable
ifeq 54
52: StackMap locals:
StackMap stack:
aload 6
aload 1
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
53: goto 55
54: StackMap locals:
StackMap stack:
aload 6
new reactor.core.publisher.FluxHide$SuppressFuseableSubscriber
dup
aload 1
invokespecial reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.<init>:(Lreactor/core/CoreSubscriber;)V
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
55: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 6 end local 5 56: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 source Lorg/reactivestreams/Publisher<+TT;>;
0 57 1 s Lreactor/core/CoreSubscriber<-TR;>;
0 57 2 mapper Ljava/util/function/Function<-TT;+Lorg/reactivestreams/Publisher<+TR;>;>;
0 57 3 fuseableExpected Z
0 57 4 errorContinueExpected Z
2 3 5 t TT;
14 56 5 t TT;
4 14 6 e Ljava/lang/Throwable;
5 14 7 ctx Lreactor/util/context/Context;
9 14 8 e_ Ljava/lang/Throwable;
20 21 6 p Lorg/reactivestreams/Publisher<+TR;>;
32 56 6 p Lorg/reactivestreams/Publisher<+TR;>;
22 32 7 e Ljava/lang/Throwable;
23 32 8 ctx Lreactor/util/context/Context;
27 32 9 e_ Ljava/lang/Throwable;
34 35 7 v TR;
46 50 7 v TR;
36 46 8 e Ljava/lang/Throwable;
37 46 9 ctx Lreactor/util/context/Context;
41 46 10 e_ Ljava/lang/Throwable;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
17 20 21 Class java.lang.Throwable
33 34 35 Class java.lang.Throwable
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>(Lorg/reactivestreams/Publisher<+TT;>;Lreactor/core/CoreSubscriber<-TR;>;Ljava/util/function/Function<-TT;+Lorg/reactivestreams/Publisher<+TR;>;>;ZZ)Z
MethodParameters:
Name Flags
source
s
mapper
fuseableExpected
errorContinueExpected
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:
aload 0
aload 1
invokespecial reactor.core.publisher.InternalFluxOperator.scanUnsafe:(Lreactor/core/Scannable$Attr;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lreactor/core/publisher/FluxFlatMap<TT;TR;>;
0 2 1 key Lreactor/core/Scannable$Attr;
MethodParameters:
Name Flags
key
}
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>Lreactor/core/publisher/InternalFluxOperator<TT;TR;>;
SourceFile: "FluxFlatMap.java"
NestMembers:
reactor.core.publisher.FluxFlatMap$FlatMapInner reactor.core.publisher.FluxFlatMap$FlatMapMain
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 FlatMapInner = reactor.core.publisher.FluxFlatMap$FlatMapInner of reactor.core.publisher.FluxFlatMap
final FlatMapMain = reactor.core.publisher.FluxFlatMap$FlatMapMain of reactor.core.publisher.FluxFlatMap
final SuppressFuseableSubscriber = reactor.core.publisher.FluxHide$SuppressFuseableSubscriber of reactor.core.publisher.FluxHide