final class reactor.core.publisher.FluxFlatMap$FlatMapMain<T, R> extends reactor.core.publisher.FlatMapTracker<reactor.core.publisher.FluxFlatMap$FlatMapInner<R>> implements reactor.core.publisher.InnerOperator<T, R>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: reactor.core.publisher.FluxFlatMap$FlatMapMain
super_class: reactor.core.publisher.FlatMapTracker
{
final boolean delayError;
descriptor: Z
flags: (0x0010) ACC_FINAL
final int maxConcurrency;
descriptor: I
flags: (0x0010) ACC_FINAL
final int prefetch;
descriptor: I
flags: (0x0010) ACC_FINAL
final int limit;
descriptor: I
flags: (0x0010) ACC_FINAL
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 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 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;>;>;
final reactor.core.CoreSubscriber<? super R> actual;
descriptor: Lreactor/core/CoreSubscriber;
flags: (0x0010) ACC_FINAL
Signature: Lreactor/core/CoreSubscriber<-TR;>;
volatile java.util.Queue<R> scalarQueue;
descriptor: Ljava/util/Queue;
flags: (0x0040) ACC_VOLATILE
Signature: Ljava/util/Queue<TR;>;
volatile java.lang.Throwable error;
descriptor: Ljava/lang/Throwable;
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<reactor.core.publisher.FluxFlatMap$FlatMapMain, java.lang.Throwable> ERROR;
descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lreactor/core/publisher/FluxFlatMap$FlatMapMain;Ljava/lang/Throwable;>;
volatile boolean done;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
volatile boolean cancelled;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
org.reactivestreams.Subscription s;
descriptor: Lorg/reactivestreams/Subscription;
flags: (0x0000)
volatile long requested;
descriptor: J
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicLongFieldUpdater<reactor.core.publisher.FluxFlatMap$FlatMapMain> REQUESTED;
descriptor: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater<Lreactor/core/publisher/FluxFlatMap$FlatMapMain;>;
volatile int wip;
descriptor: I
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<reactor.core.publisher.FluxFlatMap$FlatMapMain> WIP;
descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lreactor/core/publisher/FluxFlatMap$FlatMapMain;>;
static final reactor.core.publisher.FluxFlatMap$FlatMapInner[] EMPTY;
descriptor: [Lreactor/core/publisher/FluxFlatMap$FlatMapInner;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final reactor.core.publisher.FluxFlatMap$FlatMapInner[] TERMINATED;
descriptor: [Lreactor/core/publisher/FluxFlatMap$FlatMapInner;
flags: (0x0018) ACC_STATIC, ACC_FINAL
int lastIndex;
descriptor: I
flags: (0x0000)
int produced;
descriptor: I
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lreactor/core/publisher/FluxFlatMap$FlatMapMain;
1: ldc Ljava/lang/Throwable;
2: ldc "error"
3: invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
4: putstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
5: ldc Lreactor/core/publisher/FluxFlatMap$FlatMapMain;
ldc "requested"
invokestatic java.util.concurrent.atomic.AtomicLongFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
6: putstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.REQUESTED:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
7: ldc Lreactor/core/publisher/FluxFlatMap$FlatMapMain;
ldc "wip"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
8: putstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
9: iconst_0
anewarray reactor.core.publisher.FluxFlatMap$FlatMapInner
putstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.EMPTY:[Lreactor/core/publisher/FluxFlatMap$FlatMapInner;
10: iconst_0
anewarray reactor.core.publisher.FluxFlatMap$FlatMapInner
putstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.TERMINATED:[Lreactor/core/publisher/FluxFlatMap$FlatMapInner;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(reactor.core.CoreSubscriber<? super R>, 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/CoreSubscriber;Ljava/util/function/Function;ZILjava/util/function/Supplier;ILjava/util/function/Supplier;)V
flags: (0x0000)
Code:
stack=2, 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
invokespecial reactor.core.publisher.FlatMapTracker.<init>:()V
1: aload 0
aload 1
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
2: aload 0
aload 2
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.mapper:Ljava/util/function/Function;
3: aload 0
iload 3
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.delayError:Z
4: aload 0
iload 4
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.maxConcurrency:I
5: aload 0
aload 5
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.mainQueueSupplier:Ljava/util/function/Supplier;
6: aload 0
iload 6
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.prefetch:I
7: aload 0
aload 7
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.innerQueueSupplier:Ljava/util/function/Supplier;
8: aload 0
iload 4
invokestatic reactor.core.publisher.Operators.unboundedOrLimit:(I)I
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.limit:I
9: 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 10 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
0 10 1 actual Lreactor/core/CoreSubscriber<-TR;>;
0 10 2 mapper Ljava/util/function/Function<-TT;+Lorg/reactivestreams/Publisher<+TR;>;>;
0 10 3 delayError Z
0 10 4 maxConcurrency I
0 10 5 mainQueueSupplier Ljava/util/function/Supplier<+Ljava/util/Queue<TR;>;>;
0 10 6 prefetch I
0 10 7 innerQueueSupplier Ljava/util/function/Supplier<+Ljava/util/Queue<TR;>;>;
Signature: (Lreactor/core/CoreSubscriber<-TR;>;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
actual
mapper
delayError
maxConcurrency
mainQueueSupplier
prefetch
innerQueueSupplier
public final reactor.core.CoreSubscriber<? super R> actual();
descriptor: ()Lreactor/core/CoreSubscriber;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
Signature: ()Lreactor/core/CoreSubscriber<-TR;>;
public java.util.stream.Stream<? extends reactor.core.Scannable> inners();
descriptor: ()Ljava/util/stream/Stream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.array:[Ljava/lang/Object;
checkcast reactor.core.publisher.FluxFlatMap$FlatMapInner[]
invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
java/util/Objects.nonNull(Ljava/lang/Object;)Z (6)
(Lreactor/core/publisher/FluxFlatMap$FlatMapInner;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
Signature: ()Ljava/util/stream/Stream<+Lreactor/core/Scannable;>;
public java.lang.Object scanUnsafe(reactor.core.Scannable$Attr);
descriptor: (Lreactor/core/Scannable$Attr;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getstatic reactor.core.Scannable$Attr.PARENT:Lreactor/core/Scannable$Attr;
if_acmpne 1
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.s:Lorg/reactivestreams/Subscription;
areturn
1: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.CANCELLED:Lreactor/core/Scannable$Attr;
if_acmpne 2
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.cancelled:Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
2: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.ERROR:Lreactor/core/Scannable$Attr;
if_acmpne 3
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.error:Ljava/lang/Throwable;
areturn
3: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.TERMINATED:Lreactor/core/Scannable$Attr;
if_acmpne 6
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.done:Z
ifeq 5
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
ifnull 4
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.isEmpty:()Z
ifeq 5
StackMap locals:
StackMap stack:
4: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
StackMap locals:
StackMap stack:
5: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
6: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.DELAY_ERROR:Lreactor/core/Scannable$Attr;
if_acmpne 7
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.delayError:Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
7: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.PREFETCH:Lreactor/core/Scannable$Attr;
if_acmpne 8
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.maxConcurrency:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
8: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.REQUESTED_FROM_DOWNSTREAM:Lreactor/core/Scannable$Attr;
if_acmpne 9
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.requested:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
9: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.LARGE_BUFFERED:Lreactor/core/Scannable$Attr;
if_acmpne 12
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
ifnull 10
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
i2l
goto 11
StackMap locals:
StackMap stack:
10: lconst_0
StackMap locals:
StackMap stack: long
11: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.size:I
i2l
ladd
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
12: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.BUFFERED:Lreactor/core/Scannable$Attr;
if_acmpne 18
13: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
ifnull 14
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
i2l
goto 15
StackMap locals:
StackMap stack:
14: lconst_0
StackMap locals:
StackMap stack: long
15: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.size:I
i2l
ladd
lstore 2
start local 2 16: lload 2
ldc 2147483647
lcmp
ifgt 17
lload 2
l2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
17: StackMap locals: long
StackMap stack:
ldc -2147483648
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 2 18: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.RUN_STYLE:Lreactor/core/Scannable$Attr;
if_acmpne 19
getstatic reactor.core.Scannable$Attr$RunStyle.SYNC:Lreactor/core/Scannable$Attr$RunStyle;
areturn
19: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial reactor.core.publisher.InnerOperator.scanUnsafe:(Lreactor/core/Scannable$Attr;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
0 20 1 key Lreactor/core/Scannable$Attr;
16 18 2 realBuffered J
RuntimeVisibleAnnotations:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
key
reactor.core.publisher.FluxFlatMap$FlatMapInner<R>[] empty();
descriptor: ()[Lreactor/core/publisher/FluxFlatMap$FlatMapInner;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.EMPTY:[Lreactor/core/publisher/FluxFlatMap$FlatMapInner;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
Signature: ()[Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;
reactor.core.publisher.FluxFlatMap$FlatMapInner<R>[] terminated();
descriptor: ()[Lreactor/core/publisher/FluxFlatMap$FlatMapInner;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.TERMINATED:[Lreactor/core/publisher/FluxFlatMap$FlatMapInner;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
Signature: ()[Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;
reactor.core.publisher.FluxFlatMap$FlatMapInner<R>[] newArray(int);
descriptor: (I)[Lreactor/core/publisher/FluxFlatMap$FlatMapInner;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
anewarray reactor.core.publisher.FluxFlatMap$FlatMapInner
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
0 1 1 size I
Signature: (I)[Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;
MethodParameters:
Name Flags
size
void setIndex(reactor.core.publisher.FluxFlatMap$FlatMapInner<R>, );
descriptor: (Lreactor/core/publisher/FluxFlatMap$FlatMapInner;I)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
putfield reactor.core.publisher.FluxFlatMap$FlatMapInner.index:I
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
0 2 1 entry Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;
0 2 2 index I
Signature: (Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;I)V
MethodParameters:
Name Flags
entry
index
void unsubscribeEntry(reactor.core.publisher.FluxFlatMap$FlatMapInner<R>);
descriptor: (Lreactor/core/publisher/FluxFlatMap$FlatMapInner;)V
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapInner.cancel:()V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
0 2 1 entry Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;
Signature: (Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;)V
MethodParameters:
Name Flags
entry
public void request(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: lload 1
invokestatic reactor.core.publisher.Operators.validate:(J)Z
ifeq 3
1: getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.REQUESTED:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
aload 0
lload 1
invokestatic reactor.core.publisher.Operators.addCap:(Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;Ljava/lang/Object;J)J
pop2
2: aload 0
aconst_null
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.drain:(Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
0 4 1 n J
MethodParameters:
Name Flags
n
public void cancel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.cancelled:Z
ifne 7
1: aload 0
iconst_1
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.cancelled:Z
2: getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndIncrement:(Ljava/lang/Object;)I
ifne 7
3: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
aconst_null
invokestatic reactor.core.publisher.Operators.onDiscardQueueWithClear:(Ljava/util/Queue;Lreactor/util/context/Context;Ljava/util/function/Function;)V
4: aload 0
aconst_null
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
5: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.s:Lorg/reactivestreams/Subscription;
invokeinterface org.reactivestreams.Subscription.cancel:()V
6: aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.unsubscribe:()V
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
public void onSubscribe(org.reactivestreams.Subscription);
descriptor: (Lorg/reactivestreams/Subscription;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.s:Lorg/reactivestreams/Subscription;
aload 1
invokestatic reactor.core.publisher.Operators.validate:(Lorg/reactivestreams/Subscription;Lorg/reactivestreams/Subscription;)Z
ifeq 4
1: aload 0
aload 1
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.s:Lorg/reactivestreams/Subscription;
2: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
aload 0
invokeinterface reactor.core.CoreSubscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
3: aload 1
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.maxConcurrency:I
invokestatic reactor.core.publisher.Operators.unboundedOrPrefetch:(I)J
invokeinterface org.reactivestreams.Subscription.request:(J)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
0 5 1 s Lorg/reactivestreams/Subscription;
MethodParameters:
Name Flags
s
public void onNext();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.done:Z
ifeq 3
1: aload 1
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onNextDropped:(Ljava/lang/Object;Lreactor/util/context/Context;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.mapper:Ljava/util/function/Function;
aload 1
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
4: ldc "The mapper returned a null Publisher"
5: invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
astore 2
start local 2 6: goto 16
end local 2 7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 8: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
astore 4
start local 4 9: aload 1
aload 3
aload 4
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.s:Lorg/reactivestreams/Subscription;
invokestatic reactor.core.publisher.Operators.onNextError:(Ljava/lang/Object;Ljava/lang/Throwable;Lreactor/util/context/Context;Lorg/reactivestreams/Subscription;)Ljava/lang/Throwable;
astore 5
start local 5 10: aload 1
aload 4
invokestatic reactor.core.publisher.Operators.onDiscard:(Ljava/lang/Object;Lreactor/util/context/Context;)V
11: aload 5
ifnull 14
12: aload 0
aload 5
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.onError:(Ljava/lang/Throwable;)V
13: goto 15
14: StackMap locals: reactor.core.publisher.FluxFlatMap$FlatMapMain java.lang.Object top java.lang.Throwable reactor.util.context.Context java.lang.Throwable
StackMap stack:
aload 0
aconst_null
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar:(Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 start local 2 16: StackMap locals: reactor.core.publisher.FluxFlatMap$FlatMapMain java.lang.Object org.reactivestreams.Publisher
StackMap stack:
aload 2
instanceof java.util.concurrent.Callable
ifeq 31
17: aload 2
checkcast java.util.concurrent.Callable
invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
astore 3
start local 3 18: goto 29
end local 3 19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
start local 4 20: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
astore 5
start local 5 21: aload 1
aload 4
aload 5
invokestatic reactor.core.publisher.Operators.onNextError:(Ljava/lang/Object;Ljava/lang/Throwable;Lreactor/util/context/Context;)Ljava/lang/Throwable;
astore 6
start local 6 22: aload 6
ifnonnull 25
23: aload 0
aconst_null
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar:(Ljava/lang/Object;)V
24: goto 27
25: StackMap locals: reactor.core.publisher.FluxFlatMap$FlatMapMain java.lang.Object org.reactivestreams.Publisher top java.lang.Throwable reactor.util.context.Context java.lang.Throwable
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.delayError:Z
ifeq 26
getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
aload 6
invokestatic reactor.core.Exceptions.addThrowable:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;Ljava/lang/Throwable;)Z
ifne 27
26: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.s:Lorg/reactivestreams/Subscription;
aload 6
aload 1
aload 5
invokestatic reactor.core.publisher.Operators.onOperatorError:(Lorg/reactivestreams/Subscription;Ljava/lang/Throwable;Ljava/lang/Object;Lreactor/util/context/Context;)Ljava/lang/Throwable;
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.onError:(Ljava/lang/Throwable;)V
27: StackMap locals:
StackMap stack:
aload 1
aload 5
invokestatic reactor.core.publisher.Operators.onDiscard:(Ljava/lang/Object;Lreactor/util/context/Context;)V
28: return
end local 6 end local 5 end local 4 start local 3 29: StackMap locals: reactor.core.publisher.FluxFlatMap$FlatMapMain java.lang.Object org.reactivestreams.Publisher java.lang.Object
StackMap stack:
aload 0
aload 3
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar:(Ljava/lang/Object;)V
end local 3 30: goto 36
31: StackMap locals:
StackMap stack:
new reactor.core.publisher.FluxFlatMap$FlatMapInner
dup
aload 0
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.prefetch:I
invokespecial reactor.core.publisher.FluxFlatMap$FlatMapInner.<init>:(Lreactor/core/publisher/FluxFlatMap$FlatMapMain;I)V
astore 3
start local 3 32: aload 0
aload 3
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.add:(Ljava/lang/Object;)Z
ifeq 35
33: aload 2
aload 3
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
34: goto 36
35: StackMap locals: reactor.core.publisher.FluxFlatMap$FlatMapInner
StackMap stack:
aload 1
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscard:(Ljava/lang/Object;Lreactor/util/context/Context;)V
end local 3 36: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
0 37 1 t TT;
6 7 2 p Lorg/reactivestreams/Publisher<+TR;>;
16 37 2 p Lorg/reactivestreams/Publisher<+TR;>;
8 16 3 e Ljava/lang/Throwable;
9 16 4 ctx Lreactor/util/context/Context;
10 16 5 e_ Ljava/lang/Throwable;
18 19 3 v TR;
29 30 3 v TR;
20 29 4 e Ljava/lang/Throwable;
21 29 5 ctx Lreactor/util/context/Context;
22 29 6 e_ Ljava/lang/Throwable;
32 36 3 inner Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;
Exception table:
from to target type
3 6 7 Class java.lang.Throwable
17 18 19 Class java.lang.Throwable
Signature: (TT;)V
MethodParameters:
Name Flags
t
java.util.Queue<R> getOrCreateScalarQueue();
descriptor: ()Ljava/util/Queue;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
astore 1
start local 1 1: aload 1
ifnonnull 4
2: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.mainQueueSupplier:Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.util.Queue
astore 1
3: aload 0
aload 1
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
4: StackMap locals: java.util.Queue
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
1 5 1 q Ljava/util/Queue<TR;>;
Signature: ()Ljava/util/Queue<TR;>;
public void onError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.done:Z
ifeq 3
1: aload 1
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onErrorDropped:(Ljava/lang/Throwable;Lreactor/util/context/Context;)V
2: return
3: StackMap locals:
StackMap stack:
getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
aload 1
invokestatic reactor.core.Exceptions.addThrowable:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;Ljava/lang/Throwable;)Z
ifeq 7
4: aload 0
iconst_1
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.done:Z
5: aload 0
aconst_null
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.drain:(Ljava/lang/Object;)V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onErrorDropped:(Ljava/lang/Throwable;Lreactor/util/context/Context;)V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
0 9 1 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
t
public void onComplete();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.done:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.done:Z
3: aload 0
aconst_null
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.drain:(Ljava/lang/Object;)V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
void tryEmitScalar();
descriptor: (Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 9
1: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.maxConcurrency:I
ldc 2147483647
if_icmpeq 8
2: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.produced:I
iconst_1
iadd
istore 2
start local 2 3: iload 2
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.limit:I
if_icmpne 7
4: aload 0
iconst_0
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.produced:I
5: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.s:Lorg/reactivestreams/Subscription;
iload 2
i2l
invokeinterface org.reactivestreams.Subscription.request:(J)V
6: goto 8
7: StackMap locals: int
StackMap stack:
aload 0
iload 2
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.produced:I
end local 2 8: StackMap locals:
StackMap stack:
return
9: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.wip:I
ifne 36
getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 36
10: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.requested:J
lstore 2
start local 2 11: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
astore 4
start local 4 12: lload 2
lconst_0
lcmp
ifeq 24
aload 4
ifnull 13
aload 4
invokeinterface java.util.Queue.isEmpty:()Z
ifeq 24
13: StackMap locals: long java.util.Queue
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
aload 1
invokeinterface reactor.core.CoreSubscriber.onNext:(Ljava/lang/Object;)V
14: lload 2
ldc 9223372036854775807
lcmp
ifeq 16
15: getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.REQUESTED:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicLongFieldUpdater.decrementAndGet:(Ljava/lang/Object;)J
pop2
16: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.maxConcurrency:I
ldc 2147483647
if_icmpeq 30
17: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.produced:I
iconst_1
iadd
istore 5
start local 5 18: iload 5
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.limit:I
if_icmpne 22
19: aload 0
iconst_0
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.produced:I
20: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.s:Lorg/reactivestreams/Subscription;
iload 5
i2l
invokeinterface org.reactivestreams.Subscription.request:(J)V
21: goto 30
22: StackMap locals: int
StackMap stack:
aload 0
iload 5
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.produced:I
end local 5 23: goto 30
24: StackMap locals:
StackMap stack:
aload 4
ifnonnull 26
25: aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.getOrCreateScalarQueue:()Ljava/util/Queue;
astore 4
26: StackMap locals:
StackMap stack:
aload 4
aload 1
invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
ifne 30
aload 0
aload 1
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.s:Lorg/reactivestreams/Subscription;
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.failOverflow:(Ljava/lang/Object;Lorg/reactivestreams/Subscription;)Z
ifeq 30
27: aload 0
iconst_1
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.done:Z
28: aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop:()V
29: return
30: StackMap locals:
StackMap stack:
getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.decrementAndGet:(Ljava/lang/Object;)I
ifne 34
31: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.cancelled:Z
ifeq 33
32: aload 1
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscard:(Ljava/lang/Object;Lreactor/util/context/Context;)V
33: StackMap locals:
StackMap stack:
return
34: StackMap locals:
StackMap stack:
aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop:()V
end local 4 end local 2 35: goto 40
36: StackMap locals:
StackMap stack:
aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.getOrCreateScalarQueue:()Ljava/util/Queue;
astore 2
start local 2 37: aload 2
aload 1
invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
ifne 39
aload 0
aload 1
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.s:Lorg/reactivestreams/Subscription;
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.failOverflow:(Ljava/lang/Object;Lorg/reactivestreams/Subscription;)Z
ifeq 39
38: aload 0
iconst_1
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.done:Z
39: StackMap locals: java.util.Queue
StackMap stack:
aload 0
aload 1
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.drain:(Ljava/lang/Object;)V
end local 2 40: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
0 41 1 v TR;
3 8 2 p I
11 35 2 r J
12 35 4 q Ljava/util/Queue<TR;>;
18 23 5 p I
37 40 2 q Ljava/util/Queue<TR;>;
Signature: (TR;)V
RuntimeVisibleParameterAnnotations:
0:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
v
void tryEmit(reactor.core.publisher.FluxFlatMap$FlatMapInner<R>, );
descriptor: (Lreactor/core/publisher/FluxFlatMap$FlatMapInner;Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.wip:I
ifne 21
getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 21
1: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.requested:J
lstore 3
start local 3 2: aload 1
getfield reactor.core.publisher.FluxFlatMap$FlatMapInner.queue:Ljava/util/Queue;
astore 5
start local 5 3: lload 3
lconst_0
lcmp
ifeq 9
aload 5
ifnull 4
aload 5
invokeinterface java.util.Queue.isEmpty:()Z
ifeq 9
4: StackMap locals: long java.util.Queue
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
aload 2
invokeinterface reactor.core.CoreSubscriber.onNext:(Ljava/lang/Object;)V
5: lload 3
ldc 9223372036854775807
lcmp
ifeq 7
6: getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.REQUESTED:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicLongFieldUpdater.decrementAndGet:(Ljava/lang/Object;)J
pop2
7: StackMap locals:
StackMap stack:
aload 1
lconst_1
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapInner.request:(J)V
8: goto 15
9: StackMap locals:
StackMap stack:
aload 5
ifnonnull 11
10: aload 0
aload 1
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.getOrCreateInnerQueue:(Lreactor/core/publisher/FluxFlatMap$FlatMapInner;)Ljava/util/Queue;
astore 5
11: StackMap locals:
StackMap stack:
aload 5
aload 2
invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
ifne 15
aload 0
aload 2
aload 1
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.failOverflow:(Ljava/lang/Object;Lorg/reactivestreams/Subscription;)Z
ifeq 15
12: aload 1
iconst_1
putfield reactor.core.publisher.FluxFlatMap$FlatMapInner.done:Z
13: aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop:()V
14: return
15: StackMap locals:
StackMap stack:
getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.decrementAndGet:(Ljava/lang/Object;)I
ifne 19
16: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.cancelled:Z
ifeq 18
17: aload 2
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscard:(Ljava/lang/Object;Lreactor/util/context/Context;)V
18: StackMap locals:
StackMap stack:
return
19: StackMap locals:
StackMap stack:
aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop:()V
end local 5 end local 3 20: goto 25
21: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.getOrCreateInnerQueue:(Lreactor/core/publisher/FluxFlatMap$FlatMapInner;)Ljava/util/Queue;
astore 3
start local 3 22: aload 3
aload 2
invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
ifne 24
aload 0
aload 2
aload 1
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.failOverflow:(Ljava/lang/Object;Lorg/reactivestreams/Subscription;)Z
ifeq 24
23: aload 1
iconst_1
putfield reactor.core.publisher.FluxFlatMap$FlatMapInner.done:Z
24: StackMap locals: java.util.Queue
StackMap stack:
aload 0
aload 2
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.drain:(Ljava/lang/Object;)V
end local 3 25: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
0 26 1 inner Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;
0 26 2 v TR;
2 20 3 r J
3 20 5 q Ljava/util/Queue<TR;>;
22 25 3 q Ljava/util/Queue<TR;>;
Signature: (Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;TR;)V
MethodParameters:
Name Flags
inner
v
void drain();
descriptor: (Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndIncrement:(Ljava/lang/Object;)I
ifeq 4
1: aload 1
ifnull 3
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.cancelled:Z
ifeq 3
2: aload 1
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscard:(Ljava/lang/Object;Lreactor/util/context/Context;)V
3: StackMap locals:
StackMap stack:
return
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
0 6 1 dataSignal TR;
Signature: (TR;)V
RuntimeVisibleParameterAnnotations:
0:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
dataSignal
void drainLoop();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=21, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
astore 2
start local 2 2: StackMap locals: int org.reactivestreams.Subscriber
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.done:Z
istore 3
start local 3 3: aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.get:()[Ljava/lang/Object;
checkcast reactor.core.publisher.FluxFlatMap$FlatMapInner[]
astore 4
start local 4 4: aload 4
arraylength
istore 5
start local 5 5: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
astore 6
start local 6 6: aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.isEmpty:()Z
istore 7
start local 7 7: aload 0
iload 3
iload 7
ifeq 9
aload 6
ifnull 8
aload 6
invokeinterface java.util.Queue.isEmpty:()Z
ifeq 9
StackMap locals: reactor.core.publisher.FluxFlatMap$FlatMapMain int org.reactivestreams.Subscriber int reactor.core.publisher.FluxFlatMap$FlatMapInner[] int java.util.Queue int
StackMap stack: reactor.core.publisher.FluxFlatMap$FlatMapMain int
8: iconst_1
goto 10
StackMap locals: reactor.core.publisher.FluxFlatMap$FlatMapMain int org.reactivestreams.Subscriber int reactor.core.publisher.FluxFlatMap$FlatMapInner[] int java.util.Queue int
StackMap stack: reactor.core.publisher.FluxFlatMap$FlatMapMain int
9: iconst_0
StackMap locals: reactor.core.publisher.FluxFlatMap$FlatMapMain int org.reactivestreams.Subscriber int reactor.core.publisher.FluxFlatMap$FlatMapInner[] int java.util.Queue int
StackMap stack: reactor.core.publisher.FluxFlatMap$FlatMapMain int int
10: aload 2
aconst_null
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated:(ZZLorg/reactivestreams/Subscriber;Ljava/lang/Object;)Z
ifeq 12
11: return
12: StackMap locals:
StackMap stack:
iconst_0
istore 8
start local 8 13: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.requested:J
lstore 9
start local 9 14: lconst_0
lstore 11
start local 11 15: lconst_0
lstore 13
start local 13 16: lload 9
lconst_0
lcmp
ifeq 36
aload 6
ifnull 36
17: goto 29
18: StackMap locals: reactor.core.publisher.FluxFlatMap$FlatMapMain int org.reactivestreams.Subscriber int reactor.core.publisher.FluxFlatMap$FlatMapInner[] int java.util.Queue int int long long long
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.done:Z
istore 3
19: aload 6
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
astore 15
start local 15 20: aload 15
ifnonnull 21
iconst_1
goto 22
StackMap locals: java.lang.Object
StackMap stack:
21: iconst_0
StackMap locals:
StackMap stack: int
22: istore 16
start local 16 23: aload 0
iload 3
iconst_0
aload 2
aload 15
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated:(ZZLorg/reactivestreams/Subscriber;Ljava/lang/Object;)Z
ifeq 25
24: return
25: StackMap locals: int
StackMap stack:
iload 16
ifeq 27
26: goto 30
27: StackMap locals:
StackMap stack:
aload 2
aload 15
invokeinterface org.reactivestreams.Subscriber.onNext:(Ljava/lang/Object;)V
28: lload 11
lconst_1
ladd
lstore 11
end local 16 end local 15 29: StackMap locals:
StackMap stack:
lload 11
lload 9
lcmp
ifne 18
30: StackMap locals:
StackMap stack:
lload 11
lconst_0
lcmp
ifeq 36
31: lload 13
lload 11
ladd
lstore 13
32: lload 9
ldc 9223372036854775807
lcmp
ifeq 34
33: getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.REQUESTED:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
aload 0
lload 11
lneg
invokevirtual java.util.concurrent.atomic.AtomicLongFieldUpdater.addAndGet:(Ljava/lang/Object;J)J
lstore 9
34: StackMap locals:
StackMap stack:
lconst_0
lstore 11
35: iconst_1
istore 8
36: StackMap locals:
StackMap stack:
lload 9
lconst_0
lcmp
ifeq 107
iload 7
ifne 107
37: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.lastIndex:I
istore 15
start local 15 38: iconst_0
istore 16
start local 16 39: goto 105
40: StackMap locals: int int
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.cancelled:Z
ifeq 46
41: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
aconst_null
invokestatic reactor.core.publisher.Operators.onDiscardQueueWithClear:(Ljava/util/Queue;Lreactor/util/context/Context;Ljava/util/function/Function;)V
42: aload 0
aconst_null
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
43: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.s:Lorg/reactivestreams/Subscription;
invokeinterface org.reactivestreams.Subscription.cancel:()V
44: aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.unsubscribe:()V
45: return
46: StackMap locals:
StackMap stack:
aload 4
iload 15
aaload
astore 17
start local 17 47: aload 17
ifnull 100
48: aload 17
getfield reactor.core.publisher.FluxFlatMap$FlatMapInner.done:Z
istore 3
49: aload 17
getfield reactor.core.publisher.FluxFlatMap$FlatMapInner.queue:Ljava/util/Queue;
astore 18
start local 18 50: iload 3
ifeq 55
aload 18
ifnonnull 55
51: aload 0
aload 17
getfield reactor.core.publisher.FluxFlatMap$FlatMapInner.index:I
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.remove:(I)V
52: iconst_1
istore 8
53: lload 13
lconst_1
ladd
lstore 13
54: goto 100
55: StackMap locals: reactor.core.publisher.FluxFlatMap$FlatMapInner java.util.Queue
StackMap stack:
aload 18
ifnull 100
56: goto 84
57: StackMap locals:
StackMap stack:
aload 17
getfield reactor.core.publisher.FluxFlatMap$FlatMapInner.done:Z
istore 3
58: aload 18
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
astore 19
start local 19 59: goto 70
end local 19 60: StackMap locals:
StackMap stack: java.lang.Throwable
astore 20
start local 20 61: aload 17
aload 20
62: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
63: invokestatic reactor.core.publisher.Operators.onOperatorError:(Lorg/reactivestreams/Subscription;Ljava/lang/Throwable;Lreactor/util/context/Context;)Ljava/lang/Throwable;
astore 20
64: getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
aload 20
invokestatic reactor.core.Exceptions.addThrowable:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;Ljava/lang/Throwable;)Z
ifne 68
65: aload 20
66: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
67: invokestatic reactor.core.publisher.Operators.onErrorDropped:(Ljava/lang/Throwable;Lreactor/util/context/Context;)V
68: StackMap locals: reactor.core.publisher.FluxFlatMap$FlatMapMain int org.reactivestreams.Subscriber int reactor.core.publisher.FluxFlatMap$FlatMapInner[] int java.util.Queue int int long long long int int reactor.core.publisher.FluxFlatMap$FlatMapInner java.util.Queue top java.lang.Throwable
StackMap stack:
aconst_null
astore 19
start local 19 69: iconst_1
istore 3
end local 20 70: StackMap locals: reactor.core.publisher.FluxFlatMap$FlatMapMain int org.reactivestreams.Subscriber int reactor.core.publisher.FluxFlatMap$FlatMapInner[] int java.util.Queue int int long long long int int reactor.core.publisher.FluxFlatMap$FlatMapInner java.util.Queue java.lang.Object
StackMap stack:
aload 19
ifnonnull 71
iconst_1
goto 72
StackMap locals:
StackMap stack:
71: iconst_0
StackMap locals:
StackMap stack: int
72: istore 20
start local 20 73: aload 0
iload 3
iconst_0
aload 2
aload 19
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated:(ZZLorg/reactivestreams/Subscriber;Ljava/lang/Object;)Z
ifeq 75
74: return
75: StackMap locals: int
StackMap stack:
iload 3
ifeq 80
iload 20
ifeq 80
76: aload 0
aload 17
getfield reactor.core.publisher.FluxFlatMap$FlatMapInner.index:I
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.remove:(I)V
77: iconst_1
istore 8
78: lload 13
lconst_1
ladd
lstore 13
79: goto 85
80: StackMap locals:
StackMap stack:
iload 20
ifeq 82
81: goto 85
82: StackMap locals:
StackMap stack:
aload 2
aload 19
invokeinterface org.reactivestreams.Subscriber.onNext:(Ljava/lang/Object;)V
83: lload 11
lconst_1
ladd
lstore 11
end local 20 end local 19 84: StackMap locals:
StackMap stack:
lload 11
lload 9
lcmp
ifne 57
85: StackMap locals:
StackMap stack:
lload 11
lload 9
lcmp
ifne 92
86: aload 17
getfield reactor.core.publisher.FluxFlatMap$FlatMapInner.done:Z
istore 3
87: aload 18
invokeinterface java.util.Queue.isEmpty:()Z
istore 19
start local 19 88: iload 3
ifeq 92
iload 19
ifeq 92
89: aload 0
aload 17
getfield reactor.core.publisher.FluxFlatMap$FlatMapInner.index:I
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.remove:(I)V
90: iconst_1
istore 8
91: lload 13
lconst_1
ladd
lstore 13
end local 19 92: StackMap locals:
StackMap stack:
lload 11
lconst_0
lcmp
ifeq 100
93: aload 17
getfield reactor.core.publisher.FluxFlatMap$FlatMapInner.done:Z
ifne 95
94: aload 17
lload 11
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapInner.request:(J)V
95: StackMap locals:
StackMap stack:
lload 9
ldc 9223372036854775807
lcmp
ifeq 99
96: getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.REQUESTED:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
aload 0
lload 11
lneg
invokevirtual java.util.concurrent.atomic.AtomicLongFieldUpdater.addAndGet:(Ljava/lang/Object;J)J
lstore 9
97: lload 9
lconst_0
lcmp
ifne 99
98: goto 106
99: StackMap locals:
StackMap stack:
lconst_0
lstore 11
end local 18 100: StackMap locals:
StackMap stack:
lload 9
lconst_0
lcmp
ifne 102
101: goto 106
102: StackMap locals:
StackMap stack:
iinc 15 1
iload 15
iload 5
if_icmpne 104
103: iconst_0
istore 15
end local 17 104: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
105: iload 16
iload 5
if_icmplt 40
end local 16 106: StackMap locals:
StackMap stack:
aload 0
iload 15
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.lastIndex:I
end local 15 107: StackMap locals:
StackMap stack:
lload 9
lconst_0
lcmp
ifne 134
iload 7
ifne 134
108: aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.get:()[Ljava/lang/Object;
checkcast reactor.core.publisher.FluxFlatMap$FlatMapInner[]
astore 4
109: aload 4
arraylength
istore 5
110: iconst_0
istore 15
start local 15 111: goto 133
112: StackMap locals: int
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.cancelled:Z
ifeq 118
113: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
aconst_null
invokestatic reactor.core.publisher.Operators.onDiscardQueueWithClear:(Ljava/util/Queue;Lreactor/util/context/Context;Ljava/util/function/Function;)V
114: aload 0
aconst_null
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
115: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.s:Lorg/reactivestreams/Subscription;
invokeinterface org.reactivestreams.Subscription.cancel:()V
116: aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.unsubscribe:()V
117: return
118: StackMap locals:
StackMap stack:
aload 4
iload 15
aaload
astore 16
start local 16 119: aload 16
ifnonnull 121
120: goto 132
121: StackMap locals: reactor.core.publisher.FluxFlatMap$FlatMapInner
StackMap stack:
aload 16
getfield reactor.core.publisher.FluxFlatMap$FlatMapInner.done:Z
istore 3
122: aload 16
getfield reactor.core.publisher.FluxFlatMap$FlatMapInner.queue:Ljava/util/Queue;
astore 17
start local 17 123: aload 17
ifnull 124
aload 17
invokeinterface java.util.Queue.isEmpty:()Z
ifne 124
iconst_0
goto 125
StackMap locals: java.util.Queue
StackMap stack:
124: iconst_1
StackMap locals:
StackMap stack: int
125: istore 18
start local 18 126: iload 18
ifne 128
127: goto 134
128: StackMap locals: int
StackMap stack:
iload 3
ifeq 132
iload 18
ifeq 132
129: aload 0
aload 16
getfield reactor.core.publisher.FluxFlatMap$FlatMapInner.index:I
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.remove:(I)V
130: iconst_1
istore 8
131: lload 13
lconst_1
ladd
lstore 13
end local 18 end local 17 end local 16 132: StackMap locals:
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
133: iload 15
iload 5
if_icmplt 112
end local 15 134: StackMap locals:
StackMap stack:
lload 13
lconst_0
lcmp
ifeq 136
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.done:Z
ifne 136
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.cancelled:Z
ifne 136
135: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.s:Lorg/reactivestreams/Subscription;
lload 13
invokeinterface org.reactivestreams.Subscription.request:(J)V
136: StackMap locals:
StackMap stack:
iload 8
ifeq 138
137: goto 2
138: StackMap locals:
StackMap stack:
getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iload 1
ineg
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.addAndGet:(Ljava/lang/Object;I)I
istore 1
139: iload 1
ifne 2
end local 13 end local 11 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 140: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 141 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
1 141 1 missed I
2 141 2 a Lorg/reactivestreams/Subscriber<-TR;>;
3 140 3 d Z
4 140 4 as [Lreactor/core/publisher/FluxFlatMap$FlatMapInner;
5 140 5 n I
6 140 6 sq Ljava/util/Queue<TR;>;
7 140 7 noSources Z
13 140 8 again Z
14 140 9 r J
15 140 11 e J
16 140 13 replenishMain J
20 29 15 v TR;
23 29 16 empty Z
38 107 15 j I
39 106 16 i I
47 104 17 inner Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;
50 100 18 q Ljava/util/Queue<TR;>;
59 60 19 v TR;
69 84 19 v TR;
61 70 20 ex Ljava/lang/Throwable;
73 84 20 empty Z
88 92 19 empty Z
111 134 15 i I
119 132 16 inner Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;
123 132 17 q Ljava/util/Queue<TR;>;
126 132 18 empty Z
Exception table:
from to target type
58 59 60 Class java.lang.Throwable
boolean checkTerminated(boolean, boolean, org.reactivestreams.Subscriber<?>, );
descriptor: (ZZLorg/reactivestreams/Subscriber;Ljava/lang/Object;)Z
flags: (0x0000)
Code:
stack=3, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.cancelled:Z
ifeq 8
1: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
astore 5
start local 5 2: aload 4
aload 5
invokestatic reactor.core.publisher.Operators.onDiscard:(Ljava/lang/Object;Lreactor/util/context/Context;)V
3: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
aload 5
aconst_null
invokestatic reactor.core.publisher.Operators.onDiscardQueueWithClear:(Ljava/util/Queue;Lreactor/util/context/Context;Ljava/util/function/Function;)V
4: aload 0
aconst_null
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
5: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.s:Lorg/reactivestreams/Subscription;
invokeinterface org.reactivestreams.Subscription.cancel:()V
6: aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.unsubscribe:()V
7: iconst_1
ireturn
end local 5 8: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.delayError:Z
ifeq 17
9: iload 1
ifeq 32
iload 2
ifeq 32
10: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.error:Ljava/lang/Throwable;
astore 5
start local 5 11: aload 5
ifnull 15
aload 5
getstatic reactor.core.Exceptions.TERMINATED:Ljava/lang/Throwable;
if_acmpeq 15
12: getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.Exceptions.terminate:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;)Ljava/lang/Throwable;
astore 5
13: aload 3
aload 5
invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
14: goto 16
15: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
invokeinterface org.reactivestreams.Subscriber.onComplete:()V
16: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 5 17: StackMap locals:
StackMap stack:
iload 1
ifeq 32
18: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.error:Ljava/lang/Throwable;
astore 5
start local 5 19: aload 5
ifnull 29
aload 5
getstatic reactor.core.Exceptions.TERMINATED:Ljava/lang/Throwable;
if_acmpeq 29
20: getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.Exceptions.terminate:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;)Ljava/lang/Throwable;
astore 5
21: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
astore 6
start local 6 22: aload 4
aload 6
invokestatic reactor.core.publisher.Operators.onDiscard:(Ljava/lang/Object;Lreactor/util/context/Context;)V
23: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
aload 6
aconst_null
invokestatic reactor.core.publisher.Operators.onDiscardQueueWithClear:(Ljava/util/Queue;Lreactor/util/context/Context;Ljava/util/function/Function;)V
24: aload 0
aconst_null
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.scalarQueue:Ljava/util/Queue;
25: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.s:Lorg/reactivestreams/Subscription;
invokeinterface org.reactivestreams.Subscription.cancel:()V
26: aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.unsubscribe:()V
27: aload 3
aload 5
invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
28: iconst_1
ireturn
end local 6 29: StackMap locals: java.lang.Throwable
StackMap stack:
iload 2
ifeq 32
30: aload 3
invokeinterface org.reactivestreams.Subscriber.onComplete:()V
31: iconst_1
ireturn
end local 5 32: 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 33 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
0 33 1 d Z
0 33 2 empty Z
0 33 3 a Lorg/reactivestreams/Subscriber<*>;
0 33 4 value TR;
2 8 5 ctx Lreactor/util/context/Context;
11 17 5 e Ljava/lang/Throwable;
19 32 5 e Ljava/lang/Throwable;
22 29 6 ctx Lreactor/util/context/Context;
Signature: (ZZLorg/reactivestreams/Subscriber<*>;TR;)Z
RuntimeVisibleParameterAnnotations:
0:
1:
2:
3:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
d
empty
a
value
void innerError(reactor.core.publisher.FluxFlatMap$FlatMapInner<R>, java.lang.Throwable);
descriptor: (Lreactor/core/publisher/FluxFlatMap$FlatMapInner;Ljava/lang/Throwable;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.currentContext:()Lreactor/util/context/Context;
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.s:Lorg/reactivestreams/Subscription;
invokestatic reactor.core.publisher.Operators.onNextInnerError:(Ljava/lang/Throwable;Lreactor/util/context/Context;Lorg/reactivestreams/Subscription;)Ljava/lang/Throwable;
astore 2
1: aload 2
ifnull 10
2: getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
aload 2
invokestatic reactor.core.Exceptions.addThrowable:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;Ljava/lang/Throwable;)Z
ifeq 8
3: aload 1
iconst_1
putfield reactor.core.publisher.FluxFlatMap$FlatMapInner.done:Z
4: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.delayError:Z
ifne 6
5: aload 0
iconst_1
putfield reactor.core.publisher.FluxFlatMap$FlatMapMain.done:Z
6: StackMap locals:
StackMap stack:
aload 0
aconst_null
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.drain:(Ljava/lang/Object;)V
7: goto 11
8: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onErrorDropped:(Ljava/lang/Throwable;Lreactor/util/context/Context;)V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
aconst_null
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.drain:(Ljava/lang/Object;)V
11: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
0 12 1 inner Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;
0 12 2 e Ljava/lang/Throwable;
Signature: (Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;Ljava/lang/Throwable;)V
MethodParameters:
Name Flags
inner
e
boolean failOverflow(R, org.reactivestreams.Subscription);
descriptor: (Ljava/lang/Object;Lorg/reactivestreams/Subscription;)Z
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
1: ldc "Queue is full: Reactive Streams source doesn't respect backpressure"
invokestatic reactor.core.Exceptions.failWithOverflow:(Ljava/lang/String;)Ljava/lang/IllegalStateException;
2: aload 1
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
3: invokestatic reactor.core.publisher.Operators.onOperatorError:(Lorg/reactivestreams/Subscription;Ljava/lang/Throwable;Ljava/lang/Object;Lreactor/util/context/Context;)Ljava/lang/Throwable;
astore 3
start local 3 4: aload 1
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscard:(Ljava/lang/Object;Lreactor/util/context/Context;)V
5: getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
aload 3
invokestatic reactor.core.Exceptions.addThrowable:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;Ljava/lang/Throwable;)Z
ifne 8
6: aload 3
aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onErrorDropped:(Ljava/lang/Throwable;Lreactor/util/context/Context;)V
7: iconst_0
ireturn
8: StackMap locals: java.lang.Throwable
StackMap stack:
iconst_1
ireturn
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/FluxFlatMap$FlatMapMain<TT;TR;>;
0 9 1 v TR;
0 9 2 toCancel Lorg/reactivestreams/Subscription;
4 9 3 e Ljava/lang/Throwable;
Signature: (TR;Lorg/reactivestreams/Subscription;)Z
MethodParameters:
Name Flags
v
toCancel
void innerComplete(reactor.core.publisher.FluxFlatMap$FlatMapInner<R>);
descriptor: (Lreactor/core/publisher/FluxFlatMap$FlatMapInner;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic reactor.core.publisher.FluxFlatMap$FlatMapMain.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndIncrement:(Ljava/lang/Object;)I
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop:()V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
0 4 1 inner Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;
Signature: (Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;)V
MethodParameters:
Name Flags
inner
java.util.Queue<R> getOrCreateInnerQueue(reactor.core.publisher.FluxFlatMap$FlatMapInner<R>);
descriptor: (Lreactor/core/publisher/FluxFlatMap$FlatMapInner;)Ljava/util/Queue;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getfield reactor.core.publisher.FluxFlatMap$FlatMapInner.queue:Ljava/util/Queue;
astore 2
start local 2 1: aload 2
ifnonnull 4
2: aload 0
getfield reactor.core.publisher.FluxFlatMap$FlatMapMain.innerQueueSupplier:Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.util.Queue
astore 2
3: aload 1
aload 2
putfield reactor.core.publisher.FluxFlatMap$FlatMapInner.queue:Ljava/util/Queue;
4: StackMap locals: java.util.Queue
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lreactor/core/publisher/FluxFlatMap$FlatMapMain<TT;TR;>;
0 5 1 inner Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;
1 5 2 q Ljava/util/Queue<TR;>;
Signature: (Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;)Ljava/util/Queue<TR;>;
MethodParameters:
Name Flags
inner
java.lang.Object[] terminated();
descriptor: ()[Ljava/lang/Object;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.terminated:()[Lreactor/core/publisher/FluxFlatMap$FlatMapInner;
areturn
LocalVariableTable:
Start End Slot Name Signature
void setIndex(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)V
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast reactor.core.publisher.FluxFlatMap$FlatMapInner
iload 2
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.setIndex:(Lreactor/core/publisher/FluxFlatMap$FlatMapInner;I)V
return
LocalVariableTable:
Start End Slot Name Signature
void unsubscribeEntry(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast reactor.core.publisher.FluxFlatMap$FlatMapInner
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.unsubscribeEntry:(Lreactor/core/publisher/FluxFlatMap$FlatMapInner;)V
return
LocalVariableTable:
Start End Slot Name Signature
java.lang.Object[] empty();
descriptor: ()[Ljava/lang/Object;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.empty:()[Lreactor/core/publisher/FluxFlatMap$FlatMapInner;
areturn
LocalVariableTable:
Start End Slot Name Signature
java.lang.Object[] newArray(int);
descriptor: (I)[Ljava/lang/Object;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual reactor.core.publisher.FluxFlatMap$FlatMapMain.newArray:(I)[Lreactor/core/publisher/FluxFlatMap$FlatMapInner;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>Lreactor/core/publisher/FlatMapTracker<Lreactor/core/publisher/FluxFlatMap$FlatMapInner<TR;>;>;Lreactor/core/publisher/InnerOperator<TT;TR;>;
SourceFile: "FluxFlatMap.java"
NestHost: reactor.core.publisher.FluxFlatMap
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
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