final class io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver<T, U> extends java.util.concurrent.atomic.AtomicInteger implements io.reactivex.disposables.Disposable, io.reactivex.Observer<T>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver
super_class: java.util.concurrent.atomic.AtomicInteger
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -2117620485640801370
final io.reactivex.Observer<? super U> downstream;
descriptor: Lio/reactivex/Observer;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/Observer<-TU;>;
final io.reactivex.functions.Function<? super T, ? extends io.reactivex.ObservableSource<? extends U>> mapper;
descriptor: Lio/reactivex/functions/Function;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/functions/Function<-TT;+Lio/reactivex/ObservableSource<+TU;>;>;
final boolean delayErrors;
descriptor: Z
flags: (0x0010) ACC_FINAL
final int maxConcurrency;
descriptor: I
flags: (0x0010) ACC_FINAL
final int bufferSize;
descriptor: I
flags: (0x0010) ACC_FINAL
volatile io.reactivex.internal.fuseable.SimplePlainQueue<U> queue;
descriptor: Lio/reactivex/internal/fuseable/SimplePlainQueue;
flags: (0x0040) ACC_VOLATILE
Signature: Lio/reactivex/internal/fuseable/SimplePlainQueue<TU;>;
volatile boolean done;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
final io.reactivex.internal.util.AtomicThrowable errors;
descriptor: Lio/reactivex/internal/util/AtomicThrowable;
flags: (0x0010) ACC_FINAL
volatile boolean cancelled;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
final java.util.concurrent.atomic.AtomicReference<io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver<?, ?>[]> observers;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<[Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver<**>;>;
static final io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver<?, ?>[] EMPTY;
descriptor: [Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: [Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver<**>;
static final io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver<?, ?>[] CANCELLED;
descriptor: [Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: [Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver<**>;
io.reactivex.disposables.Disposable upstream;
descriptor: Lio/reactivex/disposables/Disposable;
flags: (0x0000)
long uniqueId;
descriptor: J
flags: (0x0000)
long lastId;
descriptor: J
flags: (0x0000)
int lastIndex;
descriptor: I
flags: (0x0000)
java.util.Queue<io.reactivex.ObservableSource<? extends U>> sources;
descriptor: Ljava/util/Queue;
flags: (0x0000)
Signature: Ljava/util/Queue<Lio/reactivex/ObservableSource<+TU;>;>;
int wip;
descriptor: I
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
anewarray io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver
putstatic io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.EMPTY:[Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;
1: iconst_0
anewarray io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver
putstatic io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.CANCELLED:[Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(io.reactivex.Observer<? super U>, io.reactivex.functions.Function<? super T, ? extends io.reactivex.ObservableSource<? extends U>>, boolean, int, );
descriptor: (Lio/reactivex/Observer;Lio/reactivex/functions/Function;ZII)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
1: aload 0
new io.reactivex.internal.util.AtomicThrowable
dup
invokespecial io.reactivex.internal.util.AtomicThrowable.<init>:()V
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.errors:Lio/reactivex/internal/util/AtomicThrowable;
2: aload 0
aload 1
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.downstream:Lio/reactivex/Observer;
3: aload 0
aload 2
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.mapper:Lio/reactivex/functions/Function;
4: aload 0
iload 3
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.delayErrors:Z
5: aload 0
iload 4
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.maxConcurrency:I
6: aload 0
iload 5
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.bufferSize:I
7: iload 4
ldc 2147483647
if_icmpeq 9
8: aload 0
new java.util.ArrayDeque
dup
iload 4
invokespecial java.util.ArrayDeque.<init>:(I)V
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.sources:Ljava/util/Queue;
9: StackMap locals: io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver io.reactivex.Observer io.reactivex.functions.Function int int int
StackMap stack:
aload 0
new java.util.concurrent.atomic.AtomicReference
dup
getstatic io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.EMPTY:[Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.observers:Ljava/util/concurrent/atomic/AtomicReference;
10: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/reactivex/internal/operators/observable/ObservableFlatMap$MergeObserver<TT;TU;>;
0 11 1 actual Lio/reactivex/Observer<-TU;>;
0 11 2 mapper Lio/reactivex/functions/Function<-TT;+Lio/reactivex/ObservableSource<+TU;>;>;
0 11 3 delayErrors Z
0 11 4 maxConcurrency I
0 11 5 bufferSize I
Signature: (Lio/reactivex/Observer<-TU;>;Lio/reactivex/functions/Function<-TT;+Lio/reactivex/ObservableSource<+TU;>;>;ZII)V
MethodParameters:
Name Flags
actual
mapper
delayErrors
maxConcurrency
bufferSize
public void onSubscribe(io.reactivex.disposables.Disposable);
descriptor: (Lio/reactivex/disposables/Disposable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.upstream:Lio/reactivex/disposables/Disposable;
aload 1
invokestatic io.reactivex.internal.disposables.DisposableHelper.validate:(Lio/reactivex/disposables/Disposable;Lio/reactivex/disposables/Disposable;)Z
ifeq 3
1: aload 0
aload 1
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.upstream:Lio/reactivex/disposables/Disposable;
2: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.downstream:Lio/reactivex/Observer;
aload 0
invokeinterface io.reactivex.Observer.onSubscribe:(Lio/reactivex/disposables/Disposable;)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/reactivex/internal/operators/observable/ObservableFlatMap$MergeObserver<TT;TU;>;
0 4 1 d Lio/reactivex/disposables/Disposable;
MethodParameters:
Name Flags
d
public void onNext();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.done:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.mapper:Lio/reactivex/functions/Function;
aload 1
invokeinterface io.reactivex.functions.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.reactivex.ObservableSource
ldc "The mapper returned a null ObservableSource"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast io.reactivex.ObservableSource
astore 2
start local 2 3: goto 9
end local 2 StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 3
start local 3 5: aload 3
invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
6: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.upstream:Lio/reactivex/disposables/Disposable;
invokeinterface io.reactivex.disposables.Disposable.dispose:()V
7: aload 0
aload 3
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onError:(Ljava/lang/Throwable;)V
8: return
end local 3 start local 2 9: StackMap locals: io.reactivex.ObservableSource
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.maxConcurrency:I
ldc 2147483647
if_icmpeq 20
10: aload 0
dup
astore 3
monitorenter
11: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.wip:I
aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.maxConcurrency:I
if_icmpne 15
12: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.sources:Ljava/util/Queue;
aload 2
invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
pop
13: aload 3
monitorexit
14: return
15: StackMap locals: io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver
StackMap stack:
aload 0
dup
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.wip:I
iconst_1
iadd
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.wip:I
16: aload 3
monitorexit
17: goto 20
StackMap locals:
StackMap stack: java.lang.Throwable
18: aload 3
monitorexit
19: athrow
20: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.subscribeInner:(Lio/reactivex/ObservableSource;)V
21: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lio/reactivex/internal/operators/observable/ObservableFlatMap$MergeObserver<TT;TU;>;
0 22 1 t TT;
3 4 2 p Lio/reactivex/ObservableSource<+TU;>;
9 22 2 p Lio/reactivex/ObservableSource<+TU;>;
5 9 3 e Ljava/lang/Throwable;
Exception table:
from to target type
2 3 4 Class java.lang.Throwable
11 14 18 any
15 17 18 any
18 19 18 any
Signature: (TT;)V
MethodParameters:
Name Flags
t
void subscribeInner(io.reactivex.ObservableSource<? extends U>);
descriptor: (Lio/reactivex/ObservableSource;)V
flags: (0x0000)
Code:
stack=10, locals=4, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 1
instanceof java.util.concurrent.Callable
ifeq 15
1: aload 0
aload 1
checkcast java.util.concurrent.Callable
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.tryEmitScalar:(Ljava/util/concurrent/Callable;)Z
ifeq 18
aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.maxConcurrency:I
ldc 2147483647
if_icmpeq 18
2: iconst_0
istore 2
start local 2 3: aload 0
dup
astore 3
monitorenter
4: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.sources:Ljava/util/Queue;
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
checkcast io.reactivex.ObservableSource
astore 1
5: aload 1
ifnonnull 8
6: aload 0
dup
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.wip:I
iconst_1
isub
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.wip:I
7: iconst_1
istore 2
8: StackMap locals: int io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver
StackMap stack:
aload 3
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 3
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
iload 2
ifeq 0
13: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.drain:()V
14: goto 18
end local 2 15: StackMap locals:
StackMap stack:
new io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver
dup
aload 0
aload 0
dup
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.uniqueId:J
dup2_x1
lconst_1
ladd
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.uniqueId:J
invokespecial io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.<init>:(Lio/reactivex/internal/operators/observable/ObservableFlatMap$MergeObserver;J)V
astore 2
start local 2 16: aload 0
aload 2
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.addInner:(Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;)Z
ifeq 18
17: aload 1
aload 2
invokeinterface io.reactivex.ObservableSource.subscribe:(Lio/reactivex/Observer;)V
end local 2 18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/reactivex/internal/operators/observable/ObservableFlatMap$MergeObserver<TT;TU;>;
0 19 1 p Lio/reactivex/ObservableSource<+TU;>;
3 15 2 empty Z
16 18 2 inner Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver<TT;TU;>;
Exception table:
from to target type
4 9 10 any
10 11 10 any
Signature: (Lio/reactivex/ObservableSource<+TU;>;)V
MethodParameters:
Name Flags
p
boolean addInner(io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver<T, U>);
descriptor: (Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;)Z
flags: (0x0000)
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.observers:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[]
astore 2
start local 2 1: aload 2
getstatic io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.CANCELLED:[Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;
if_acmpne 4
2: aload 1
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.dispose:()V
3: iconst_0
ireturn
4: StackMap locals: io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[]
StackMap stack:
aload 2
arraylength
istore 3
start local 3 5: iload 3
iconst_1
iadd
anewarray io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver
astore 4
start local 4 6: aload 2
iconst_0
aload 4
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 4
iload 3
aload 1
aastore
8: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.observers:Ljava/util/concurrent/atomic/AtomicReference;
aload 2
aload 4
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
9: iconst_1
ireturn
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 Lio/reactivex/internal/operators/observable/ObservableFlatMap$MergeObserver<TT;TU;>;
0 10 1 inner Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver<TT;TU;>;
1 10 2 a [Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;
5 10 3 n I
6 10 4 b [Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;
Signature: (Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver<TT;TU;>;)Z
MethodParameters:
Name Flags
inner
void removeInner(io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver<T, U>);
descriptor: (Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;)V
flags: (0x0000)
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.observers:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[]
astore 2
start local 2 1: aload 2
arraylength
istore 3
start local 3 2: iload 3
ifne 4
3: return
4: StackMap locals: io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[] int
StackMap stack:
iconst_m1
istore 4
start local 4 5: iconst_0
istore 5
start local 5 6: goto 11
7: StackMap locals: int int
StackMap stack:
aload 2
iload 5
aaload
aload 1
if_acmpne 10
8: iload 5
istore 4
9: goto 12
10: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
11: iload 5
iload 3
if_icmplt 7
end local 5 12: StackMap locals:
StackMap stack:
iload 4
ifge 14
13: return
14: StackMap locals:
StackMap stack:
iload 3
iconst_1
if_icmpne 17
15: getstatic io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.EMPTY:[Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;
astore 5
start local 5 16: goto 20
end local 5 17: StackMap locals:
StackMap stack:
iload 3
iconst_1
isub
anewarray io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver
astore 5
start local 5 18: aload 2
iconst_0
aload 5
iconst_0
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
19: aload 2
iload 4
iconst_1
iadd
aload 5
iload 4
iload 3
iload 4
isub
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
20: StackMap locals: io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[]
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.observers:Ljava/util/concurrent/atomic/AtomicReference;
aload 2
aload 5
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
21: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lio/reactivex/internal/operators/observable/ObservableFlatMap$MergeObserver<TT;TU;>;
0 22 1 inner Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver<TT;TU;>;
1 22 2 a [Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;
2 22 3 n I
5 22 4 j I
6 12 5 i I
16 17 5 b [Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;
18 22 5 b [Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;
Signature: (Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver<TT;TU;>;)V
MethodParameters:
Name Flags
inner
boolean tryEmitScalar(java.util.concurrent.Callable<? extends U>);
descriptor: (Ljava/util/concurrent/Callable;)Z
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
astore 2
start local 2 1: goto 7
end local 2 StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 3
start local 3 3: aload 3
invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
4: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.errors:Lio/reactivex/internal/util/AtomicThrowable;
aload 3
invokevirtual io.reactivex.internal.util.AtomicThrowable.addThrowable:(Ljava/lang/Throwable;)Z
pop
5: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.drain:()V
6: iconst_1
ireturn
end local 3 start local 2 7: StackMap locals: java.lang.Object
StackMap stack:
aload 2
ifnonnull 9
8: iconst_1
ireturn
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.get:()I
ifne 13
aload 0
iconst_0
iconst_1
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.compareAndSet:(II)Z
ifeq 13
10: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.downstream:Lio/reactivex/Observer;
aload 2
invokeinterface io.reactivex.Observer.onNext:(Ljava/lang/Object;)V
11: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.decrementAndGet:()I
ifne 25
12: iconst_1
ireturn
13: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.queue:Lio/reactivex/internal/fuseable/SimplePlainQueue;
astore 3
start local 3 14: aload 3
ifnonnull 20
15: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.maxConcurrency:I
ldc 2147483647
if_icmpne 18
16: new io.reactivex.internal.queue.SpscLinkedArrayQueue
dup
aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.bufferSize:I
invokespecial io.reactivex.internal.queue.SpscLinkedArrayQueue.<init>:(I)V
astore 3
17: goto 19
18: StackMap locals: io.reactivex.internal.fuseable.SimplePlainQueue
StackMap stack:
new io.reactivex.internal.queue.SpscArrayQueue
dup
aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.maxConcurrency:I
invokespecial io.reactivex.internal.queue.SpscArrayQueue.<init>:(I)V
astore 3
19: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.queue:Lio/reactivex/internal/fuseable/SimplePlainQueue;
20: StackMap locals:
StackMap stack:
aload 3
aload 2
invokeinterface io.reactivex.internal.fuseable.SimplePlainQueue.offer:(Ljava/lang/Object;)Z
ifne 23
21: aload 0
new java.lang.IllegalStateException
dup
ldc "Scalar queue full?!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.onError:(Ljava/lang/Throwable;)V
22: iconst_1
ireturn
23: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.getAndIncrement:()I
ifeq 25
24: iconst_0
ireturn
end local 3 25: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.drainLoop:()V
26: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lio/reactivex/internal/operators/observable/ObservableFlatMap$MergeObserver<TT;TU;>;
0 27 1 value Ljava/util/concurrent/Callable<+TU;>;
1 2 2 u TU;
7 27 2 u TU;
3 7 3 ex Ljava/lang/Throwable;
14 25 3 q Lio/reactivex/internal/fuseable/SimplePlainQueue<TU;>;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
Signature: (Ljava/util/concurrent/Callable<+TU;>;)Z
MethodParameters:
Name Flags
value
void tryEmit(U, io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver<T, U>);
descriptor: (Ljava/lang/Object;Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.get:()I
ifne 4
aload 0
iconst_0
iconst_1
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.compareAndSet:(II)Z
ifeq 4
1: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.downstream:Lio/reactivex/Observer;
aload 1
invokeinterface io.reactivex.Observer.onNext:(Ljava/lang/Object;)V
2: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.decrementAndGet:()I
ifne 11
3: return
4: StackMap locals:
StackMap stack:
aload 2
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.queue:Lio/reactivex/internal/fuseable/SimpleQueue;
astore 3
start local 3 5: aload 3
ifnonnull 8
6: new io.reactivex.internal.queue.SpscLinkedArrayQueue
dup
aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.bufferSize:I
invokespecial io.reactivex.internal.queue.SpscLinkedArrayQueue.<init>:(I)V
astore 3
7: aload 2
aload 3
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.queue:Lio/reactivex/internal/fuseable/SimpleQueue;
8: StackMap locals: io.reactivex.internal.fuseable.SimpleQueue
StackMap stack:
aload 3
aload 1
invokeinterface io.reactivex.internal.fuseable.SimpleQueue.offer:(Ljava/lang/Object;)Z
pop
9: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.getAndIncrement:()I
ifeq 11
10: return
end local 3 11: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.drainLoop:()V
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/reactivex/internal/operators/observable/ObservableFlatMap$MergeObserver<TT;TU;>;
0 13 1 value TU;
0 13 2 inner Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver<TT;TU;>;
5 11 3 q Lio/reactivex/internal/fuseable/SimpleQueue<TU;>;
Signature: (TU;Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver<TT;TU;>;)V
MethodParameters:
Name Flags
value
inner
public void onError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.done:Z
ifeq 3
1: aload 1
invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.errors:Lio/reactivex/internal/util/AtomicThrowable;
aload 1
invokevirtual io.reactivex.internal.util.AtomicThrowable.addThrowable:(Ljava/lang/Throwable;)Z
ifeq 7
4: aload 0
iconst_1
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.done:Z
5: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.drain:()V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 1
invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/reactivex/internal/operators/observable/ObservableFlatMap$MergeObserver<TT;TU;>;
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 io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.done:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.done:Z
3: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.drain:()V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/reactivex/internal/operators/observable/ObservableFlatMap$MergeObserver<TT;TU;>;
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.cancelled:Z
ifne 6
1: aload 0
iconst_1
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.cancelled:Z
2: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.disposeAll:()Z
ifeq 6
3: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.errors:Lio/reactivex/internal/util/AtomicThrowable;
invokevirtual io.reactivex.internal.util.AtomicThrowable.terminate:()Ljava/lang/Throwable;
astore 1
start local 1 4: aload 1
ifnull 6
aload 1
getstatic io.reactivex.internal.util.ExceptionHelper.TERMINATED:Ljava/lang/Throwable;
if_acmpeq 6
5: aload 1
invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/reactivex/internal/operators/observable/ObservableFlatMap$MergeObserver<TT;TU;>;
4 6 1 ex Ljava/lang/Throwable;
public boolean isDisposed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.cancelled:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/reactivex/internal/operators/observable/ObservableFlatMap$MergeObserver<TT;TU;>;
void drain();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.getAndIncrement:()I
ifne 2
1: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.drainLoop:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/reactivex/internal/operators/observable/ObservableFlatMap$MergeObserver<TT;TU;>;
void drainLoop();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=18, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.downstream:Lio/reactivex/Observer;
astore 1
start local 1 1: iconst_1
istore 2
start local 2 2: StackMap locals: io.reactivex.Observer int
StackMap stack:
aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.checkTerminate:()Z
ifeq 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.queue:Lio/reactivex/internal/fuseable/SimplePlainQueue;
astore 3
start local 3 5: aload 3
ifnull 13
6: StackMap locals: io.reactivex.internal.fuseable.SimplePlainQueue
StackMap stack:
aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.checkTerminate:()Z
ifeq 8
7: return
8: StackMap locals:
StackMap stack:
aload 3
invokeinterface io.reactivex.internal.fuseable.SimplePlainQueue.poll:()Ljava/lang/Object;
astore 4
start local 4 9: aload 4
ifnonnull 11
10: goto 13
11: StackMap locals: java.lang.Object
StackMap stack:
aload 1
aload 4
invokeinterface io.reactivex.Observer.onNext:(Ljava/lang/Object;)V
end local 4 12: goto 6
13: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.done:Z
istore 4
start local 4 14: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.queue:Lio/reactivex/internal/fuseable/SimplePlainQueue;
astore 3
15: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.observers:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[]
astore 5
start local 5 16: aload 5
arraylength
istore 6
start local 6 17: iconst_0
istore 7
start local 7 18: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.maxConcurrency:I
ldc 2147483647
if_icmpeq 25
19: aload 0
dup
astore 8
monitorenter
20: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.sources:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
istore 7
21: aload 8
monitorexit
22: goto 25
StackMap locals: io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver io.reactivex.Observer int io.reactivex.internal.fuseable.SimplePlainQueue int io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[] int int io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver
StackMap stack: java.lang.Throwable
23: aload 8
monitorexit
24: athrow
25: StackMap locals:
StackMap stack:
iload 4
ifeq 34
aload 3
ifnull 26
aload 3
invokeinterface io.reactivex.internal.fuseable.SimplePlainQueue.isEmpty:()Z
ifeq 34
StackMap locals:
StackMap stack:
26: iload 6
ifne 34
iload 7
ifne 34
27: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.errors:Lio/reactivex/internal/util/AtomicThrowable;
invokevirtual io.reactivex.internal.util.AtomicThrowable.terminate:()Ljava/lang/Throwable;
astore 8
start local 8 28: aload 8
getstatic io.reactivex.internal.util.ExceptionHelper.TERMINATED:Ljava/lang/Throwable;
if_acmpeq 33
29: aload 8
ifnonnull 32
30: aload 1
invokeinterface io.reactivex.Observer.onComplete:()V
31: goto 33
32: StackMap locals: java.lang.Throwable
StackMap stack:
aload 1
aload 8
invokeinterface io.reactivex.Observer.onError:(Ljava/lang/Throwable;)V
33: StackMap locals:
StackMap stack:
return
end local 8 34: StackMap locals:
StackMap stack:
iconst_0
istore 8
start local 8 35: iload 6
ifeq 95
36: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.lastId:J
lstore 9
start local 9 37: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.lastIndex:I
istore 11
start local 11 38: iload 6
iload 11
if_icmple 39
aload 5
iload 11
aaload
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.id:J
lload 9
lcmp
ifeq 54
39: StackMap locals: int long int
StackMap stack:
iload 6
iload 11
if_icmpgt 41
40: iconst_0
istore 11
41: StackMap locals:
StackMap stack:
iload 11
istore 12
start local 12 42: iconst_0
istore 13
start local 13 43: goto 50
44: StackMap locals: int int
StackMap stack:
aload 5
iload 12
aaload
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.id:J
lload 9
lcmp
ifne 46
45: goto 51
46: StackMap locals:
StackMap stack:
iinc 12 1
47: iload 12
iload 6
if_icmpne 49
48: iconst_0
istore 12
49: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
50: iload 13
iload 6
if_icmplt 44
end local 13 51: StackMap locals:
StackMap stack:
iload 12
istore 11
52: aload 0
iload 12
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.lastIndex:I
53: aload 0
aload 5
iload 12
aaload
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.id:J
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.lastId:J
end local 12 54: StackMap locals:
StackMap stack:
iload 11
istore 12
start local 12 55: iconst_0
istore 13
start local 13 56: goto 92
57: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.checkTerminate:()Z
ifeq 59
58: return
59: StackMap locals:
StackMap stack:
aload 5
iload 12
aaload
astore 14
start local 14 60: aload 14
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.queue:Lio/reactivex/internal/fuseable/SimpleQueue;
astore 15
start local 15 61: aload 15
ifnull 81
62: StackMap locals: io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver io.reactivex.internal.fuseable.SimpleQueue
StackMap stack:
aload 15
invokeinterface io.reactivex.internal.fuseable.SimpleQueue.poll:()Ljava/lang/Object;
astore 16
start local 16 63: goto 76
end local 16 StackMap locals:
StackMap stack: java.lang.Throwable
64: astore 17
start local 17 65: aload 17
invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
66: aload 14
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.dispose:()V
67: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.errors:Lio/reactivex/internal/util/AtomicThrowable;
aload 17
invokevirtual io.reactivex.internal.util.AtomicThrowable.addThrowable:(Ljava/lang/Throwable;)Z
pop
68: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.checkTerminate:()Z
ifeq 70
69: return
70: StackMap locals: io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver io.reactivex.Observer int io.reactivex.internal.fuseable.SimplePlainQueue int io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[] int int int long int int int io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver io.reactivex.internal.fuseable.SimpleQueue top java.lang.Throwable
StackMap stack:
aload 0
aload 14
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.removeInner:(Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;)V
71: iinc 8 1
72: iinc 12 1
73: iload 12
iload 6
if_icmpne 91
74: iconst_0
istore 12
75: goto 91
end local 17 start local 16 76: StackMap locals: io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver io.reactivex.Observer int io.reactivex.internal.fuseable.SimplePlainQueue int io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[] int int int long int int int io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver io.reactivex.internal.fuseable.SimpleQueue java.lang.Object
StackMap stack:
aload 16
ifnonnull 78
77: goto 81
78: StackMap locals:
StackMap stack:
aload 1
aload 16
invokeinterface io.reactivex.Observer.onNext:(Ljava/lang/Object;)V
79: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.checkTerminate:()Z
ifeq 62
80: return
end local 16 81: StackMap locals:
StackMap stack:
aload 14
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.done:Z
istore 16
start local 16 82: aload 14
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.queue:Lio/reactivex/internal/fuseable/SimpleQueue;
astore 17
start local 17 83: iload 16
ifeq 88
aload 17
ifnull 84
aload 17
invokeinterface io.reactivex.internal.fuseable.SimpleQueue.isEmpty:()Z
ifeq 88
84: StackMap locals: int io.reactivex.internal.fuseable.SimpleQueue
StackMap stack:
aload 0
aload 14
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.removeInner:(Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;)V
85: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.checkTerminate:()Z
ifeq 87
86: return
87: StackMap locals:
StackMap stack:
iinc 8 1
88: StackMap locals:
StackMap stack:
iinc 12 1
89: iload 12
iload 6
if_icmpne 91
90: iconst_0
istore 12
end local 17 end local 16 end local 15 end local 14 91: StackMap locals: io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver io.reactivex.Observer int io.reactivex.internal.fuseable.SimplePlainQueue int io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[] int int int long int int int
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
92: iload 13
iload 6
if_icmplt 57
end local 13 93: aload 0
iload 12
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.lastIndex:I
94: aload 0
aload 5
iload 12
aaload
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.id:J
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.lastId:J
end local 12 end local 11 end local 9 95: StackMap locals: io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver io.reactivex.Observer int io.reactivex.internal.fuseable.SimplePlainQueue int io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[] int int int
StackMap stack:
iload 8
ifeq 111
96: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.maxConcurrency:I
ldc 2147483647
if_icmpeq 2
97: goto 109
98: StackMap locals:
StackMap stack:
aload 0
dup
astore 10
monitorenter
99: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.sources:Ljava/util/Queue;
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
checkcast io.reactivex.ObservableSource
astore 9
start local 9 100: aload 9
ifnonnull 104
101: aload 0
dup
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.wip:I
iconst_1
isub
putfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.wip:I
102: aload 10
monitorexit
103: goto 109
104: StackMap locals: io.reactivex.ObservableSource io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver
StackMap stack:
aload 10
monitorexit
105: goto 108
end local 9 StackMap locals: io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver io.reactivex.Observer int io.reactivex.internal.fuseable.SimplePlainQueue int io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[] int int int top io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver
StackMap stack: java.lang.Throwable
106: aload 10
monitorexit
107: athrow
start local 9 108: StackMap locals: io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver io.reactivex.Observer int io.reactivex.internal.fuseable.SimplePlainQueue int io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[] int int int io.reactivex.ObservableSource
StackMap stack:
aload 0
aload 9
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.subscribeInner:(Lio/reactivex/ObservableSource;)V
end local 9 109: StackMap locals:
StackMap stack:
iload 8
iinc 8 -1
ifne 98
110: goto 2
111: StackMap locals:
StackMap stack:
aload 0
iload 2
ineg
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.addAndGet:(I)I
istore 2
112: iload 2
ifne 2
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 113: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 114 0 this Lio/reactivex/internal/operators/observable/ObservableFlatMap$MergeObserver<TT;TU;>;
1 114 1 child Lio/reactivex/Observer<-TU;>;
2 114 2 missed I
5 113 3 svq Lio/reactivex/internal/fuseable/SimplePlainQueue<TU;>;
9 12 4 o TU;
14 113 4 d Z
16 113 5 inner [Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;
17 113 6 n I
18 113 7 nSources I
28 34 8 ex Ljava/lang/Throwable;
35 113 8 innerCompleted I
37 95 9 startId J
38 95 11 index I
42 54 12 j I
43 51 13 i I
55 95 12 j I
56 93 13 i I
60 91 14 is Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver<TT;TU;>;
61 91 15 q Lio/reactivex/internal/fuseable/SimpleQueue<TU;>;
63 64 16 o TU;
76 81 16 o TU;
65 76 17 ex Ljava/lang/Throwable;
82 91 16 innerDone Z
83 91 17 innerQueue Lio/reactivex/internal/fuseable/SimpleQueue<TU;>;
100 106 9 p Lio/reactivex/ObservableSource<+TU;>;
108 109 9 p Lio/reactivex/ObservableSource<+TU;>;
Exception table:
from to target type
20 22 23 any
23 24 23 any
62 63 64 Class java.lang.Throwable
99 103 106 any
104 105 106 any
106 107 106 any
boolean checkTerminate();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.cancelled:Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.errors:Lio/reactivex/internal/util/AtomicThrowable;
invokevirtual io.reactivex.internal.util.AtomicThrowable.get:()Ljava/lang/Object;
checkcast java.lang.Throwable
astore 1
start local 1 3: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.delayErrors:Z
ifne 9
aload 1
ifnull 9
4: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.disposeAll:()Z
pop
5: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.errors:Lio/reactivex/internal/util/AtomicThrowable;
invokevirtual io.reactivex.internal.util.AtomicThrowable.terminate:()Ljava/lang/Throwable;
astore 1
6: aload 1
getstatic io.reactivex.internal.util.ExceptionHelper.TERMINATED:Ljava/lang/Throwable;
if_acmpeq 8
7: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.downstream:Lio/reactivex/Observer;
aload 1
invokeinterface io.reactivex.Observer.onError:(Ljava/lang/Throwable;)V
8: StackMap locals: java.lang.Throwable
StackMap stack:
iconst_1
ireturn
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/reactivex/internal/operators/observable/ObservableFlatMap$MergeObserver<TT;TU;>;
3 10 1 e Ljava/lang/Throwable;
boolean disposeAll();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.upstream:Lio/reactivex/disposables/Disposable;
invokeinterface io.reactivex.disposables.Disposable.dispose:()V
1: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.observers:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[]
astore 1
start local 1 2: aload 1
getstatic io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.CANCELLED:[Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;
if_acmpeq 11
3: aload 0
getfield io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.observers:Ljava/util/concurrent/atomic/AtomicReference;
getstatic io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.CANCELLED:[Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[]
astore 1
4: aload 1
getstatic io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver.CANCELLED:[Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;
if_acmpeq 11
5: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 9
StackMap locals: io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[] top int int io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[]
StackMap stack:
6: aload 5
iload 3
aaload
astore 2
start local 2 7: aload 2
invokevirtual io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver.dispose:()V
end local 2 8: iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
iload 4
if_icmplt 6
10: iconst_1
ireturn
11: StackMap locals: io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver[]
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/reactivex/internal/operators/observable/ObservableFlatMap$MergeObserver<TT;TU;>;
2 12 1 a [Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver;
7 8 2 inner Lio/reactivex/internal/operators/observable/ObservableFlatMap$InnerObserver<**>;
}
Signature: <T:Ljava/lang/Object;U:Ljava/lang/Object;>Ljava/util/concurrent/atomic/AtomicInteger;Lio/reactivex/disposables/Disposable;Lio/reactivex/Observer<TT;>;
SourceFile: "ObservableFlatMap.java"
NestHost: io.reactivex.internal.operators.observable.ObservableFlatMap
InnerClasses:
final InnerObserver = io.reactivex.internal.operators.observable.ObservableFlatMap$InnerObserver of io.reactivex.internal.operators.observable.ObservableFlatMap
final MergeObserver = io.reactivex.internal.operators.observable.ObservableFlatMap$MergeObserver of io.reactivex.internal.operators.observable.ObservableFlatMap