public final class io.reactivex.internal.operators.maybe.MaybeMergeArray<T> extends io.reactivex.Flowable<T>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.maybe.MaybeMergeArray
super_class: io.reactivex.Flowable
{
final io.reactivex.MaybeSource<? extends T>[] sources;
descriptor: [Lio/reactivex/MaybeSource;
flags: (0x0010) ACC_FINAL
Signature: [Lio/reactivex/MaybeSource<+TT;>;
public void <init>(io.reactivex.MaybeSource<? extends T>[]);
descriptor: ([Lio/reactivex/MaybeSource;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // io.reactivex.internal.operators.maybe.MaybeMergeArray this
start local 1 // io.reactivex.MaybeSource[] sources
0: .line 39
aload 0 /* this */
invokespecial io.reactivex.Flowable.<init>:()V
1: .line 40
aload 0 /* this */
aload 1 /* sources */
putfield io.reactivex.internal.operators.maybe.MaybeMergeArray.sources:[Lio/reactivex/MaybeSource;
2: .line 41
return
end local 1 // io.reactivex.MaybeSource[] sources
end local 0 // io.reactivex.internal.operators.maybe.MaybeMergeArray this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/reactivex/internal/operators/maybe/MaybeMergeArray<TT;>;
0 3 1 sources [Lio/reactivex/MaybeSource;
Signature: ([Lio/reactivex/MaybeSource<+TT;>;)V
MethodParameters:
Name Flags
sources
protected void subscribeActual(org.reactivestreams.Subscriber<? super T>);
descriptor: (Lorg/reactivestreams/Subscriber;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=11, args_size=2
start local 0 // io.reactivex.internal.operators.maybe.MaybeMergeArray this
start local 1 // org.reactivestreams.Subscriber s
0: .line 45
aload 0 /* this */
getfield io.reactivex.internal.operators.maybe.MaybeMergeArray.sources:[Lio/reactivex/MaybeSource;
astore 2 /* maybes */
start local 2 // io.reactivex.MaybeSource[] maybes
1: .line 46
aload 2 /* maybes */
arraylength
istore 3 /* n */
start local 3 // int n
2: .line 50
iload 3 /* n */
invokestatic io.reactivex.internal.operators.maybe.MaybeMergeArray.bufferSize:()I
if_icmpgt 5
3: .line 51
new io.reactivex.internal.operators.maybe.MaybeMergeArray$MpscFillOnceSimpleQueue
dup
iload 3 /* n */
invokespecial io.reactivex.internal.operators.maybe.MaybeMergeArray$MpscFillOnceSimpleQueue.<init>:(I)V
astore 4 /* queue */
start local 4 // io.reactivex.internal.operators.maybe.MaybeMergeArray$SimpleQueueWithConsumerIndex queue
4: .line 52
goto 6
end local 4 // io.reactivex.internal.operators.maybe.MaybeMergeArray$SimpleQueueWithConsumerIndex queue
5: .line 53
StackMap locals: io.reactivex.MaybeSource[] int
StackMap stack:
new io.reactivex.internal.operators.maybe.MaybeMergeArray$ClqSimpleQueue
dup
invokespecial io.reactivex.internal.operators.maybe.MaybeMergeArray$ClqSimpleQueue.<init>:()V
astore 4 /* queue */
start local 4 // io.reactivex.internal.operators.maybe.MaybeMergeArray$SimpleQueueWithConsumerIndex queue
6: .line 55
StackMap locals: io.reactivex.internal.operators.maybe.MaybeMergeArray$SimpleQueueWithConsumerIndex
StackMap stack:
new io.reactivex.internal.operators.maybe.MaybeMergeArray$MergeMaybeObserver
dup
aload 1 /* s */
iload 3 /* n */
aload 4 /* queue */
invokespecial io.reactivex.internal.operators.maybe.MaybeMergeArray$MergeMaybeObserver.<init>:(Lorg/reactivestreams/Subscriber;ILio/reactivex/internal/operators/maybe/MaybeMergeArray$SimpleQueueWithConsumerIndex;)V
astore 5 /* parent */
start local 5 // io.reactivex.internal.operators.maybe.MaybeMergeArray$MergeMaybeObserver parent
7: .line 57
aload 1 /* s */
aload 5 /* parent */
invokeinterface org.reactivestreams.Subscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
8: .line 59
aload 5 /* parent */
getfield io.reactivex.internal.operators.maybe.MaybeMergeArray$MergeMaybeObserver.error:Lio/reactivex/internal/util/AtomicThrowable;
astore 6 /* e */
start local 6 // io.reactivex.internal.util.AtomicThrowable e
9: .line 61
aload 2 /* maybes */
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 15
StackMap locals: io.reactivex.internal.operators.maybe.MaybeMergeArray org.reactivestreams.Subscriber io.reactivex.MaybeSource[] int io.reactivex.internal.operators.maybe.MaybeMergeArray$SimpleQueueWithConsumerIndex io.reactivex.internal.operators.maybe.MaybeMergeArray$MergeMaybeObserver io.reactivex.internal.util.AtomicThrowable top int int io.reactivex.MaybeSource[]
StackMap stack:
10: aload 10
iload 8
aaload
astore 7 /* source */
start local 7 // io.reactivex.MaybeSource source
11: .line 62
aload 5 /* parent */
invokevirtual io.reactivex.internal.operators.maybe.MaybeMergeArray$MergeMaybeObserver.isCancelled:()Z
ifne 12
aload 6 /* e */
invokevirtual io.reactivex.internal.util.AtomicThrowable.get:()Ljava/lang/Object;
ifnull 13
12: .line 63
StackMap locals: io.reactivex.internal.operators.maybe.MaybeMergeArray org.reactivestreams.Subscriber io.reactivex.MaybeSource[] int io.reactivex.internal.operators.maybe.MaybeMergeArray$SimpleQueueWithConsumerIndex io.reactivex.internal.operators.maybe.MaybeMergeArray$MergeMaybeObserver io.reactivex.internal.util.AtomicThrowable io.reactivex.MaybeSource int int io.reactivex.MaybeSource[]
StackMap stack:
return
13: .line 66
StackMap locals:
StackMap stack:
aload 7 /* source */
aload 5 /* parent */
invokeinterface io.reactivex.MaybeSource.subscribe:(Lio/reactivex/MaybeObserver;)V
end local 7 // io.reactivex.MaybeSource source
14: .line 61
iinc 8 1
StackMap locals: io.reactivex.internal.operators.maybe.MaybeMergeArray org.reactivestreams.Subscriber io.reactivex.MaybeSource[] int io.reactivex.internal.operators.maybe.MaybeMergeArray$SimpleQueueWithConsumerIndex io.reactivex.internal.operators.maybe.MaybeMergeArray$MergeMaybeObserver io.reactivex.internal.util.AtomicThrowable top int int io.reactivex.MaybeSource[]
StackMap stack:
15: iload 8
iload 9
if_icmplt 10
16: .line 68
return
end local 6 // io.reactivex.internal.util.AtomicThrowable e
end local 5 // io.reactivex.internal.operators.maybe.MaybeMergeArray$MergeMaybeObserver parent
end local 4 // io.reactivex.internal.operators.maybe.MaybeMergeArray$SimpleQueueWithConsumerIndex queue
end local 3 // int n
end local 2 // io.reactivex.MaybeSource[] maybes
end local 1 // org.reactivestreams.Subscriber s
end local 0 // io.reactivex.internal.operators.maybe.MaybeMergeArray this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lio/reactivex/internal/operators/maybe/MaybeMergeArray<TT;>;
0 17 1 s Lorg/reactivestreams/Subscriber<-TT;>;
1 17 2 maybes [Lio/reactivex/MaybeSource;
2 17 3 n I
4 5 4 queue Lio/reactivex/internal/operators/maybe/MaybeMergeArray$SimpleQueueWithConsumerIndex<Ljava/lang/Object;>;
6 17 4 queue Lio/reactivex/internal/operators/maybe/MaybeMergeArray$SimpleQueueWithConsumerIndex<Ljava/lang/Object;>;
7 17 5 parent Lio/reactivex/internal/operators/maybe/MaybeMergeArray$MergeMaybeObserver<TT;>;
9 17 6 e Lio/reactivex/internal/util/AtomicThrowable;
11 14 7 source Lio/reactivex/MaybeSource<+TT;>;
Signature: (Lorg/reactivestreams/Subscriber<-TT;>;)V
MethodParameters:
Name Flags
s
}
Signature: <T:Ljava/lang/Object;>Lio/reactivex/Flowable<TT;>;
SourceFile: "MaybeMergeArray.java"
NestMembers:
io.reactivex.internal.operators.maybe.MaybeMergeArray$ClqSimpleQueue io.reactivex.internal.operators.maybe.MaybeMergeArray$MergeMaybeObserver io.reactivex.internal.operators.maybe.MaybeMergeArray$MpscFillOnceSimpleQueue io.reactivex.internal.operators.maybe.MaybeMergeArray$SimpleQueueWithConsumerIndex
InnerClasses:
final ClqSimpleQueue = io.reactivex.internal.operators.maybe.MaybeMergeArray$ClqSimpleQueue of io.reactivex.internal.operators.maybe.MaybeMergeArray
final MergeMaybeObserver = io.reactivex.internal.operators.maybe.MaybeMergeArray$MergeMaybeObserver of io.reactivex.internal.operators.maybe.MaybeMergeArray
final MpscFillOnceSimpleQueue = io.reactivex.internal.operators.maybe.MaybeMergeArray$MpscFillOnceSimpleQueue of io.reactivex.internal.operators.maybe.MaybeMergeArray
abstract SimpleQueueWithConsumerIndex = io.reactivex.internal.operators.maybe.MaybeMergeArray$SimpleQueueWithConsumerIndex of io.reactivex.internal.operators.maybe.MaybeMergeArray