public final class io.reactivex.internal.operators.completable.CompletableMergeArray extends io.reactivex.Completable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.completable.CompletableMergeArray
super_class: io.reactivex.Completable
{
final io.reactivex.CompletableSource[] sources;
descriptor: [Lio/reactivex/CompletableSource;
flags: (0x0010) ACC_FINAL
public void <init>(io.reactivex.CompletableSource[]);
descriptor: ([Lio/reactivex/CompletableSource;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // io.reactivex.internal.operators.completable.CompletableMergeArray this
start local 1 // io.reactivex.CompletableSource[] sources
0: .line 25
aload 0 /* this */
invokespecial io.reactivex.Completable.<init>:()V
1: .line 26
aload 0 /* this */
aload 1 /* sources */
putfield io.reactivex.internal.operators.completable.CompletableMergeArray.sources:[Lio/reactivex/CompletableSource;
2: .line 27
return
end local 1 // io.reactivex.CompletableSource[] sources
end local 0 // io.reactivex.internal.operators.completable.CompletableMergeArray this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/reactivex/internal/operators/completable/CompletableMergeArray;
0 3 1 sources [Lio/reactivex/CompletableSource;
MethodParameters:
Name Flags
sources
public void subscribeActual(io.reactivex.CompletableObserver);
descriptor: (Lio/reactivex/CompletableObserver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=2
start local 0 // io.reactivex.internal.operators.completable.CompletableMergeArray this
start local 1 // io.reactivex.CompletableObserver observer
0: .line 31
new io.reactivex.disposables.CompositeDisposable
dup
invokespecial io.reactivex.disposables.CompositeDisposable.<init>:()V
astore 2 /* set */
start local 2 // io.reactivex.disposables.CompositeDisposable set
1: .line 32
new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
astore 3 /* once */
start local 3 // java.util.concurrent.atomic.AtomicBoolean once
2: .line 34
new io.reactivex.internal.operators.completable.CompletableMergeArray$InnerCompletableObserver
dup
aload 1 /* observer */
aload 3 /* once */
aload 2 /* set */
aload 0 /* this */
getfield io.reactivex.internal.operators.completable.CompletableMergeArray.sources:[Lio/reactivex/CompletableSource;
arraylength
iconst_1
iadd
invokespecial io.reactivex.internal.operators.completable.CompletableMergeArray$InnerCompletableObserver.<init>:(Lio/reactivex/CompletableObserver;Ljava/util/concurrent/atomic/AtomicBoolean;Lio/reactivex/disposables/CompositeDisposable;I)V
astore 4 /* shared */
start local 4 // io.reactivex.internal.operators.completable.CompletableMergeArray$InnerCompletableObserver shared
3: .line 35
aload 1 /* observer */
aload 2 /* set */
invokeinterface io.reactivex.CompletableObserver.onSubscribe:(Lio/reactivex/disposables/Disposable;)V
4: .line 37
aload 0 /* this */
getfield io.reactivex.internal.operators.completable.CompletableMergeArray.sources:[Lio/reactivex/CompletableSource;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 15
StackMap locals: io.reactivex.internal.operators.completable.CompletableMergeArray io.reactivex.CompletableObserver io.reactivex.disposables.CompositeDisposable java.util.concurrent.atomic.AtomicBoolean io.reactivex.internal.operators.completable.CompletableMergeArray$InnerCompletableObserver top int int io.reactivex.CompletableSource[]
StackMap stack:
5: aload 8
iload 6
aaload
astore 5 /* c */
start local 5 // io.reactivex.CompletableSource c
6: .line 38
aload 2 /* set */
invokevirtual io.reactivex.disposables.CompositeDisposable.isDisposed:()Z
ifeq 8
7: .line 39
return
8: .line 42
StackMap locals: io.reactivex.internal.operators.completable.CompletableMergeArray io.reactivex.CompletableObserver io.reactivex.disposables.CompositeDisposable java.util.concurrent.atomic.AtomicBoolean io.reactivex.internal.operators.completable.CompletableMergeArray$InnerCompletableObserver io.reactivex.CompletableSource int int io.reactivex.CompletableSource[]
StackMap stack:
aload 5 /* c */
ifnonnull 13
9: .line 43
aload 2 /* set */
invokevirtual io.reactivex.disposables.CompositeDisposable.dispose:()V
10: .line 44
new java.lang.NullPointerException
dup
ldc "A completable source is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
astore 9 /* npe */
start local 9 // java.lang.NullPointerException npe
11: .line 45
aload 4 /* shared */
aload 9 /* npe */
invokevirtual io.reactivex.internal.operators.completable.CompletableMergeArray$InnerCompletableObserver.onError:(Ljava/lang/Throwable;)V
12: .line 46
return
end local 9 // java.lang.NullPointerException npe
13: .line 49
StackMap locals:
StackMap stack:
aload 5 /* c */
aload 4 /* shared */
invokeinterface io.reactivex.CompletableSource.subscribe:(Lio/reactivex/CompletableObserver;)V
end local 5 // io.reactivex.CompletableSource c
14: .line 37
iinc 6 1
StackMap locals: io.reactivex.internal.operators.completable.CompletableMergeArray io.reactivex.CompletableObserver io.reactivex.disposables.CompositeDisposable java.util.concurrent.atomic.AtomicBoolean io.reactivex.internal.operators.completable.CompletableMergeArray$InnerCompletableObserver top int int io.reactivex.CompletableSource[]
StackMap stack:
15: iload 6
iload 7
if_icmplt 5
16: .line 52
aload 4 /* shared */
invokevirtual io.reactivex.internal.operators.completable.CompletableMergeArray$InnerCompletableObserver.onComplete:()V
17: .line 53
return
end local 4 // io.reactivex.internal.operators.completable.CompletableMergeArray$InnerCompletableObserver shared
end local 3 // java.util.concurrent.atomic.AtomicBoolean once
end local 2 // io.reactivex.disposables.CompositeDisposable set
end local 1 // io.reactivex.CompletableObserver observer
end local 0 // io.reactivex.internal.operators.completable.CompletableMergeArray this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lio/reactivex/internal/operators/completable/CompletableMergeArray;
0 18 1 observer Lio/reactivex/CompletableObserver;
1 18 2 set Lio/reactivex/disposables/CompositeDisposable;
2 18 3 once Ljava/util/concurrent/atomic/AtomicBoolean;
3 18 4 shared Lio/reactivex/internal/operators/completable/CompletableMergeArray$InnerCompletableObserver;
6 14 5 c Lio/reactivex/CompletableSource;
11 13 9 npe Ljava/lang/NullPointerException;
MethodParameters:
Name Flags
observer final
}
SourceFile: "CompletableMergeArray.java"
NestMembers:
io.reactivex.internal.operators.completable.CompletableMergeArray$InnerCompletableObserver
InnerClasses:
final InnerCompletableObserver = io.reactivex.internal.operators.completable.CompletableMergeArray$InnerCompletableObserver of io.reactivex.internal.operators.completable.CompletableMergeArray