final class reactor.core.publisher.FluxConcatMap$ConcatMapImmediate<T, R> implements reactor.core.publisher.FluxConcatMap$FluxConcatMapSupport<T, R>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: reactor.core.publisher.FluxConcatMap$ConcatMapImmediate
super_class: java.lang.Object
{
final reactor.core.CoreSubscriber<? super R> actual;
descriptor: Lreactor/core/CoreSubscriber;
flags: (0x0010) ACC_FINAL
Signature: Lreactor/core/CoreSubscriber<-TR;>;
final reactor.util.context.Context ctx;
descriptor: Lreactor/util/context/Context;
flags: (0x0010) ACC_FINAL
final reactor.core.publisher.FluxConcatMap$ConcatMapInner<R> inner;
descriptor: Lreactor/core/publisher/FluxConcatMap$ConcatMapInner;
flags: (0x0010) ACC_FINAL
Signature: Lreactor/core/publisher/FluxConcatMap$ConcatMapInner<TR;>;
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<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
final int limit;
descriptor: I
flags: (0x0010) ACC_FINAL
org.reactivestreams.Subscription s;
descriptor: Lorg/reactivestreams/Subscription;
flags: (0x0000)
int consumed;
descriptor: I
flags: (0x0000)
volatile java.util.Queue<T> queue;
descriptor: Ljava/util/Queue;
flags: (0x0040) ACC_VOLATILE
Signature: Ljava/util/Queue<TT;>;
volatile boolean done;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
volatile boolean cancelled;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
volatile java.lang.Throwable error;
descriptor: Ljava/lang/Throwable;
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<reactor.core.publisher.FluxConcatMap$ConcatMapImmediate, 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/FluxConcatMap$ConcatMapImmediate;Ljava/lang/Throwable;>;
volatile boolean active;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
volatile int wip;
descriptor: I
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<reactor.core.publisher.FluxConcatMap$ConcatMapImmediate> WIP;
descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lreactor/core/publisher/FluxConcatMap$ConcatMapImmediate;>;
volatile int guard;
descriptor: I
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<reactor.core.publisher.FluxConcatMap$ConcatMapImmediate> GUARD;
descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lreactor/core/publisher/FluxConcatMap$ConcatMapImmediate;>;
int sourceMode;
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/FluxConcatMap$ConcatMapImmediate;
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.FluxConcatMap$ConcatMapImmediate.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
5: ldc Lreactor/core/publisher/FluxConcatMap$ConcatMapImmediate;
ldc "wip"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
6: putstatic reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
7: ldc Lreactor/core/publisher/FluxConcatMap$ConcatMapImmediate;
ldc "guard"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
8: putstatic reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.GUARD:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
9: 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>>, java.util.function.Supplier<? extends java.util.Queue<T>>, );
descriptor: (Lreactor/core/CoreSubscriber;Ljava/util/function/Function;Ljava/util/function/Supplier;I)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.actual:Lreactor/core/CoreSubscriber;
2: aload 0
aload 1
invokeinterface reactor.core.CoreSubscriber.currentContext:()Lreactor/util/context/Context;
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.ctx:Lreactor/util/context/Context;
3: aload 0
aload 2
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.mapper:Ljava/util/function/Function;
4: aload 0
aload 3
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.queueSupplier:Ljava/util/function/Supplier;
5: aload 0
iload 4
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.prefetch:I
6: aload 0
iload 4
invokestatic reactor.core.publisher.Operators.unboundedOrLimit:(I)I
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.limit:I
7: aload 0
new reactor.core.publisher.FluxConcatMap$ConcatMapInner
dup
aload 0
invokespecial reactor.core.publisher.FluxConcatMap$ConcatMapInner.<init>:(Lreactor/core/publisher/FluxConcatMap$FluxConcatMapSupport;)V
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.inner:Lreactor/core/publisher/FluxConcatMap$ConcatMapInner;
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/FluxConcatMap$ConcatMapImmediate<TT;TR;>;
0 9 1 actual Lreactor/core/CoreSubscriber<-TR;>;
0 9 2 mapper Ljava/util/function/Function<-TT;+Lorg/reactivestreams/Publisher<+TR;>;>;
0 9 3 queueSupplier Ljava/util/function/Supplier<+Ljava/util/Queue<TT;>;>;
0 9 4 prefetch I
Signature: (Lreactor/core/CoreSubscriber<-TR;>;Ljava/util/function/Function<-TT;+Lorg/reactivestreams/Publisher<+TR;>;>;Ljava/util/function/Supplier<+Ljava/util/Queue<TT;>;>;I)V
MethodParameters:
Name Flags
actual
mapper
queueSupplier
prefetch
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.PARENT:Lreactor/core/Scannable$Attr;
if_acmpne 1
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.s:Lorg/reactivestreams/Subscription;
areturn
1: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.TERMINATED:Lreactor/core/Scannable$Attr;
if_acmpne 3
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.done:Z
ifne 2
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.error:Ljava/lang/Throwable;
getstatic reactor.core.Exceptions.TERMINATED:Ljava/lang/Throwable;
if_acmpeq 2
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
StackMap locals:
StackMap stack:
2: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
3: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.CANCELLED:Lreactor/core/Scannable$Attr;
if_acmpne 4
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.cancelled:Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
4: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.PREFETCH:Lreactor/core/Scannable$Attr;
if_acmpne 5
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.prefetch:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
5: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.BUFFERED:Lreactor/core/Scannable$Attr;
if_acmpne 8
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.queue:Ljava/util/Queue;
ifnull 6
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.queue:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
goto 7
StackMap locals:
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
8: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.ERROR:Lreactor/core/Scannable$Attr;
if_acmpne 9
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.error:Ljava/lang/Throwable;
areturn
9: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.RUN_STYLE:Lreactor/core/Scannable$Attr;
if_acmpne 10
getstatic reactor.core.Scannable$Attr$RunStyle.SYNC:Lreactor/core/Scannable$Attr$RunStyle;
areturn
10: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial reactor.core.publisher.FluxConcatMap$FluxConcatMapSupport.scanUnsafe:(Lreactor/core/Scannable$Attr;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lreactor/core/publisher/FluxConcatMap$ConcatMapImmediate<TT;TR;>;
0 11 1 key Lreactor/core/Scannable$Attr;
RuntimeVisibleAnnotations:
reactor.util.annotation.Nullable()
MethodParameters:
Name Flags
key
public void onSubscribe(org.reactivestreams.Subscription);
descriptor: (Lorg/reactivestreams/Subscription;)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.FluxConcatMap$ConcatMapImmediate.s:Lorg/reactivestreams/Subscription;
aload 1
invokestatic reactor.core.publisher.Operators.validate:(Lorg/reactivestreams/Subscription;Lorg/reactivestreams/Subscription;)Z
ifeq 22
1: aload 0
aload 1
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.s:Lorg/reactivestreams/Subscription;
2: aload 1
instanceof reactor.core.Fuseable$QueueSubscription
ifeq 19
3: aload 1
checkcast reactor.core.Fuseable$QueueSubscription
4: astore 2
start local 2 5: aload 2
bipush 7
invokeinterface reactor.core.Fuseable$QueueSubscription.requestFusion:(I)I
istore 3
start local 3 6: iload 3
iconst_1
if_icmpne 13
7: aload 0
iconst_1
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.sourceMode:I
8: aload 0
aload 2
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.queue:Ljava/util/Queue;
9: aload 0
iconst_1
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.done:Z
10: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.actual:Lreactor/core/CoreSubscriber;
aload 0
invokeinterface reactor.core.CoreSubscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
11: aload 0
invokevirtual reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain:()V
12: return
13: StackMap locals: reactor.core.Fuseable$QueueSubscription int
StackMap stack:
iload 3
iconst_2
if_icmpne 17
14: aload 0
iconst_2
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.sourceMode:I
15: aload 0
aload 2
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.queue:Ljava/util/Queue;
16: goto 20
17: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.queueSupplier:Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.util.Queue
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.queue:Ljava/util/Queue;
end local 3 end local 2 18: goto 20
19: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.queueSupplier:Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast java.util.Queue
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.queue:Ljava/util/Queue;
20: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.actual:Lreactor/core/CoreSubscriber;
aload 0
invokeinterface reactor.core.CoreSubscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
21: aload 1
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.prefetch:I
invokestatic reactor.core.publisher.Operators.unboundedOrPrefetch:(I)J
invokeinterface org.reactivestreams.Subscription.request:(J)V
22: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lreactor/core/publisher/FluxConcatMap$ConcatMapImmediate<TT;TR;>;
0 23 1 s Lorg/reactivestreams/Subscription;
5 18 2 f Lreactor/core/Fuseable$QueueSubscription<TT;>;
6 18 3 m I
MethodParameters:
Name Flags
s
public void onNext();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.sourceMode:I
iconst_2
if_icmpne 3
1: aload 0
invokevirtual reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain:()V
2: goto 10
3: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.queue:Ljava/util/Queue;
aload 1
invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
ifne 9
4: aload 0
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.s:Lorg/reactivestreams/Subscription;
ldc "Queue is full: Reactive Streams source doesn't respect backpressure"
invokestatic reactor.core.Exceptions.failWithOverflow:(Ljava/lang/String;)Ljava/lang/IllegalStateException;
aload 1
5: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.ctx:Lreactor/util/context/Context;
6: 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.FluxConcatMap$ConcatMapImmediate.onError:(Ljava/lang/Throwable;)V
7: aload 1
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscard:(Ljava/lang/Object;Lreactor/util/context/Context;)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain:()V
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lreactor/core/publisher/FluxConcatMap$ConcatMapImmediate<TT;TR;>;
0 11 1 t TT;
Signature: (TT;)V
MethodParameters:
Name Flags
t
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: getstatic reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.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 8
1: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.inner:Lreactor/core/publisher/FluxConcatMap$ConcatMapInner;
invokevirtual reactor.core.publisher.FluxConcatMap$ConcatMapInner.cancel:()V
2: getstatic reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.GUARD:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndIncrement:(Ljava/lang/Object;)I
ifne 9
3: getstatic reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.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 1
4: aload 1
getstatic reactor.core.Exceptions.TERMINATED:Ljava/lang/Throwable;
if_acmpeq 9
5: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.actual:Lreactor/core/CoreSubscriber;
aload 1
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
6: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.queue:Ljava/util/Queue;
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.ctx:Lreactor/util/context/Context;
aconst_null
invokestatic reactor.core.publisher.Operators.onDiscardQueueWithClear:(Ljava/util/Queue;Lreactor/util/context/Context;Ljava/util/function/Function;)V
7: goto 9
8: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onErrorDropped:(Ljava/lang/Throwable;Lreactor/util/context/Context;)V
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lreactor/core/publisher/FluxConcatMap$ConcatMapImmediate<TT;TR;>;
0 10 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
iconst_1
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.done:Z
1: aload 0
invokevirtual reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lreactor/core/publisher/FluxConcatMap$ConcatMapImmediate<TT;TR;>;
public void innerNext();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.guard:I
ifne 7
getstatic reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.GUARD:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 7
1: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.actual:Lreactor/core/CoreSubscriber;
aload 1
invokeinterface reactor.core.CoreSubscriber.onNext:(Ljava/lang/Object;)V
2: getstatic reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.GUARD:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iconst_1
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 4
3: return
4: StackMap locals:
StackMap stack:
getstatic reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.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 2
start local 2 5: aload 2
getstatic reactor.core.Exceptions.TERMINATED:Ljava/lang/Throwable;
if_acmpeq 7
6: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.actual:Lreactor/core/CoreSubscriber;
aload 2
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lreactor/core/publisher/FluxConcatMap$ConcatMapImmediate<TT;TR;>;
0 8 1 value TR;
5 7 2 e Ljava/lang/Throwable;
Signature: (TR;)V
MethodParameters:
Name Flags
value
public void innerComplete();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.active:Z
1: aload 0
invokevirtual reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lreactor/core/publisher/FluxConcatMap$ConcatMapImmediate<TT;TR;>;
public void innerError(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 1
aload 0
invokevirtual reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.currentContext:()Lreactor/util/context/Context;
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.s:Lorg/reactivestreams/Subscription;
invokestatic reactor.core.publisher.Operators.onNextInnerError:(Ljava/lang/Throwable;Lreactor/util/context/Context;Lorg/reactivestreams/Subscription;)Ljava/lang/Throwable;
astore 1
1: aload 1
ifnull 11
2: getstatic reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.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 9
3: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.s:Lorg/reactivestreams/Subscription;
invokeinterface org.reactivestreams.Subscription.cancel:()V
4: getstatic reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.GUARD:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndIncrement:(Ljava/lang/Object;)I
ifne 13
5: getstatic reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.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 1
6: aload 1
getstatic reactor.core.Exceptions.TERMINATED:Ljava/lang/Throwable;
if_acmpeq 13
7: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.actual:Lreactor/core/CoreSubscriber;
aload 1
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
8: goto 13
9: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onErrorDropped:(Ljava/lang/Throwable;Lreactor/util/context/Context;)V
10: goto 13
11: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.active:Z
12: aload 0
invokevirtual reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain:()V
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lreactor/core/publisher/FluxConcatMap$ConcatMapImmediate<TT;TR;>;
0 14 1 e Ljava/lang/Throwable;
MethodParameters:
Name Flags
e
public reactor.core.CoreSubscriber<? super R> actual();
descriptor: ()Lreactor/core/CoreSubscriber;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.actual:Lreactor/core/CoreSubscriber;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/FluxConcatMap$ConcatMapImmediate<TT;TR;>;
Signature: ()Lreactor/core/CoreSubscriber<-TR;>;
public void request(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.inner:Lreactor/core/publisher/FluxConcatMap$ConcatMapInner;
lload 1
invokevirtual reactor.core.publisher.FluxConcatMap$ConcatMapInner.request:(J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lreactor/core/publisher/FluxConcatMap$ConcatMapImmediate<TT;TR;>;
0 2 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.FluxConcatMap$ConcatMapImmediate.cancelled:Z
ifne 5
1: aload 0
iconst_1
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.cancelled:Z
2: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.inner:Lreactor/core/publisher/FluxConcatMap$ConcatMapInner;
invokevirtual reactor.core.publisher.FluxConcatMap$ConcatMapInner.cancel:()V
3: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.s:Lorg/reactivestreams/Subscription;
invokeinterface org.reactivestreams.Subscription.cancel:()V
4: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.queue:Ljava/util/Queue;
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.ctx:Lreactor/util/context/Context;
aconst_null
invokestatic reactor.core.publisher.Operators.onDiscardQueueWithClear:(Ljava/util/Queue;Lreactor/util/context/Context;Ljava/util/function/Function;)V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lreactor/core/publisher/FluxConcatMap$ConcatMapImmediate<TT;TR;>;
void drain();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=9, args_size=1
start local 0 0: getstatic reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndIncrement:(Ljava/lang/Object;)I
ifne 65
1: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.cancelled:Z
ifeq 3
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.active:Z
ifne 64
4: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.done:Z
istore 1
start local 1 5: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.queue:Ljava/util/Queue;
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
astore 2
start local 2 6: goto 10
end local 2 7: StackMap locals: reactor.core.publisher.FluxConcatMap$ConcatMapImmediate int
StackMap stack: java.lang.Throwable
astore 3
start local 3 8: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.actual:Lreactor/core/CoreSubscriber;
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.s:Lorg/reactivestreams/Subscription;
aload 3
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onOperatorError:(Lorg/reactivestreams/Subscription;Ljava/lang/Throwable;Lreactor/util/context/Context;)Ljava/lang/Throwable;
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
9: return
end local 3 start local 2 10: StackMap locals: java.lang.Object
StackMap stack:
aload 2
ifnonnull 11
iconst_1
goto 12
StackMap locals:
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 3
start local 3 13: iload 1
ifeq 16
iload 3
ifeq 16
14: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.actual:Lreactor/core/CoreSubscriber;
invokeinterface reactor.core.CoreSubscriber.onComplete:()V
15: return
16: StackMap locals: int
StackMap stack:
iload 3
ifne 64
17: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.mapper:Ljava/util/function/Function;
aload 2
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 4
start local 4 20: goto 29
end local 4 21: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
start local 5 22: aload 2
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.ctx:Lreactor/util/context/Context;
invokestatic reactor.core.publisher.Operators.onDiscard:(Ljava/lang/Object;Lreactor/util/context/Context;)V
23: aload 2
aload 5
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.ctx:Lreactor/util/context/Context;
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.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 6
start local 6 24: aload 6
ifnull 1
25: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.actual:Lreactor/core/CoreSubscriber;
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.s:Lorg/reactivestreams/Subscription;
aload 5
aload 2
26: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.ctx:Lreactor/util/context/Context;
27: invokestatic reactor.core.publisher.Operators.onOperatorError:(Lorg/reactivestreams/Subscription;Ljava/lang/Throwable;Ljava/lang/Object;Lreactor/util/context/Context;)Ljava/lang/Throwable;
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
28: return
end local 6 end local 5 start local 4 29: StackMap locals: org.reactivestreams.Publisher
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.sourceMode:I
iconst_1
if_icmpeq 36
30: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.consumed:I
iconst_1
iadd
istore 5
start local 5 31: iload 5
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.limit:I
if_icmpne 35
32: aload 0
iconst_0
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.consumed:I
33: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.s:Lorg/reactivestreams/Subscription;
iload 5
i2l
invokeinterface org.reactivestreams.Subscription.request:(J)V
34: goto 36
35: StackMap locals: int
StackMap stack:
aload 0
iload 5
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.consumed:I
end local 5 36: StackMap locals:
StackMap stack:
aload 4
instanceof java.util.concurrent.Callable
ifeq 62
37: aload 4
checkcast java.util.concurrent.Callable
38: astore 5
start local 5 39: aload 5
invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
astore 6
start local 6 40: goto 48
end local 6 41: StackMap locals: reactor.core.publisher.FluxConcatMap$ConcatMapImmediate int java.lang.Object int org.reactivestreams.Publisher java.util.concurrent.Callable
StackMap stack: java.lang.Throwable
astore 7
start local 7 42: aload 2
aload 7
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.ctx:Lreactor/util/context/Context;
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.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 8
start local 8 43: aload 8
ifnull 1
44: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.actual:Lreactor/core/CoreSubscriber;
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.s:Lorg/reactivestreams/Subscription;
aload 7
aload 2
45: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.ctx:Lreactor/util/context/Context;
46: invokestatic reactor.core.publisher.Operators.onOperatorError:(Lorg/reactivestreams/Subscription;Ljava/lang/Throwable;Ljava/lang/Object;Lreactor/util/context/Context;)Ljava/lang/Throwable;
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
47: return
end local 8 end local 7 start local 6 48: StackMap locals: java.lang.Object
StackMap stack:
aload 6
ifnonnull 50
49: goto 1
50: StackMap locals:
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.inner:Lreactor/core/publisher/FluxConcatMap$ConcatMapInner;
invokevirtual reactor.core.publisher.FluxConcatMap$ConcatMapInner.isUnbounded:()Z
ifeq 59
51: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.guard:I
ifne 1
getstatic reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.GUARD:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 1
52: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.actual:Lreactor/core/CoreSubscriber;
aload 6
invokeinterface reactor.core.CoreSubscriber.onNext:(Ljava/lang/Object;)V
53: getstatic reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.GUARD:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iconst_1
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifne 1
54: getstatic reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.Exceptions.terminate:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;)Ljava/lang/Throwable;
55: astore 7
start local 7 56: aload 7
getstatic reactor.core.Exceptions.TERMINATED:Ljava/lang/Throwable;
if_acmpeq 58
57: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.actual:Lreactor/core/CoreSubscriber;
aload 7
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
58: StackMap locals: java.lang.Throwable
StackMap stack:
return
end local 7 59: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.active:Z
60: aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.inner:Lreactor/core/publisher/FluxConcatMap$ConcatMapInner;
new reactor.core.publisher.FluxConcatMap$WeakScalarSubscription
dup
aload 6
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.inner:Lreactor/core/publisher/FluxConcatMap$ConcatMapInner;
invokespecial reactor.core.publisher.FluxConcatMap$WeakScalarSubscription.<init>:(Ljava/lang/Object;Lreactor/core/CoreSubscriber;)V
invokevirtual reactor.core.publisher.FluxConcatMap$ConcatMapInner.set:(Lorg/reactivestreams/Subscription;)V
end local 6 end local 5 61: goto 64
62: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.active:Z
63: aload 4
aload 0
getfield reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.inner:Lreactor/core/publisher/FluxConcatMap$ConcatMapInner;
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
end local 4 end local 3 end local 2 end local 1 64: StackMap locals: reactor.core.publisher.FluxConcatMap$ConcatMapImmediate
StackMap stack:
getstatic reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.decrementAndGet:(Ljava/lang/Object;)I
ifne 1
65: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 66 0 this Lreactor/core/publisher/FluxConcatMap$ConcatMapImmediate<TT;TR;>;
5 64 1 d Z
6 7 2 v TT;
10 64 2 v TT;
8 10 3 e Ljava/lang/Throwable;
13 64 3 empty Z
20 21 4 p Lorg/reactivestreams/Publisher<+TR;>;
29 64 4 p Lorg/reactivestreams/Publisher<+TR;>;
22 29 5 e Ljava/lang/Throwable;
24 29 6 e_ Ljava/lang/Throwable;
31 36 5 c I
39 61 5 callable Ljava/util/concurrent/Callable<TR;>;
40 41 6 vr TR;
48 61 6 vr TR;
42 48 7 e Ljava/lang/Throwable;
43 48 8 e_ Ljava/lang/Throwable;
56 59 7 e Ljava/lang/Throwable;
Exception table:
from to target type
5 6 7 Class java.lang.Throwable
17 20 21 Class java.lang.Throwable
39 40 41 Class java.lang.Throwable
}
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>Ljava/lang/Object;Lreactor/core/publisher/FluxConcatMap$FluxConcatMapSupport<TT;TR;>;
SourceFile: "FluxConcatMap.java"
NestHost: reactor.core.publisher.FluxConcatMap
InnerClasses:
public abstract QueueSubscription = reactor.core.Fuseable$QueueSubscription of reactor.core.Fuseable
public Attr = reactor.core.Scannable$Attr of reactor.core.Scannable
public final RunStyle = reactor.core.Scannable$Attr$RunStyle of reactor.core.Scannable$Attr
final ConcatMapImmediate = reactor.core.publisher.FluxConcatMap$ConcatMapImmediate of reactor.core.publisher.FluxConcatMap
final ConcatMapInner = reactor.core.publisher.FluxConcatMap$ConcatMapInner of reactor.core.publisher.FluxConcatMap
abstract FluxConcatMapSupport = reactor.core.publisher.FluxConcatMap$FluxConcatMapSupport of reactor.core.publisher.FluxConcatMap
final WeakScalarSubscription = reactor.core.publisher.FluxConcatMap$WeakScalarSubscription of reactor.core.publisher.FluxConcatMap