public final class io.reactivex.internal.operators.completable.CompletableMergeDelayErrorArray 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.CompletableMergeDelayErrorArray
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.CompletableMergeDelayErrorArray this
start local 1 // io.reactivex.CompletableSource[] sources
0: .line 27
aload 0 /* this */
invokespecial io.reactivex.Completable.<init>:()V
1: .line 28
aload 0 /* this */
aload 1 /* sources */
putfield io.reactivex.internal.operators.completable.CompletableMergeDelayErrorArray.sources:[Lio/reactivex/CompletableSource;
2: .line 29
return
end local 1 // io.reactivex.CompletableSource[] sources
end local 0 // io.reactivex.internal.operators.completable.CompletableMergeDelayErrorArray this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/reactivex/internal/operators/completable/CompletableMergeDelayErrorArray;
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.CompletableMergeDelayErrorArray this
start local 1 // io.reactivex.CompletableObserver observer
0: .line 33
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 34
new java.util.concurrent.atomic.AtomicInteger
dup
aload 0 /* this */
getfield io.reactivex.internal.operators.completable.CompletableMergeDelayErrorArray.sources:[Lio/reactivex/CompletableSource;
arraylength
iconst_1
iadd
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
astore 3 /* wip */
start local 3 // java.util.concurrent.atomic.AtomicInteger wip
2: .line 36
new io.reactivex.internal.util.AtomicThrowable
dup
invokespecial io.reactivex.internal.util.AtomicThrowable.<init>:()V
astore 4 /* error */
start local 4 // io.reactivex.internal.util.AtomicThrowable error
3: .line 38
aload 1 /* observer */
aload 2 /* set */
invokeinterface io.reactivex.CompletableObserver.onSubscribe:(Lio/reactivex/disposables/Disposable;)V
4: .line 40
aload 0 /* this */
getfield io.reactivex.internal.operators.completable.CompletableMergeDelayErrorArray.sources:[Lio/reactivex/CompletableSource;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 15
StackMap locals: io.reactivex.internal.operators.completable.CompletableMergeDelayErrorArray io.reactivex.CompletableObserver io.reactivex.disposables.CompositeDisposable java.util.concurrent.atomic.AtomicInteger io.reactivex.internal.util.AtomicThrowable 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 41
aload 2 /* set */
invokevirtual io.reactivex.disposables.CompositeDisposable.isDisposed:()Z
ifeq 8
7: .line 42
return
8: .line 45
StackMap locals: io.reactivex.internal.operators.completable.CompletableMergeDelayErrorArray io.reactivex.CompletableObserver io.reactivex.disposables.CompositeDisposable java.util.concurrent.atomic.AtomicInteger io.reactivex.internal.util.AtomicThrowable io.reactivex.CompletableSource int int io.reactivex.CompletableSource[]
StackMap stack:
aload 5 /* c */
ifnonnull 13
9: .line 46
new java.lang.NullPointerException
dup
ldc "A completable source is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
astore 9 /* ex */
start local 9 // java.lang.Throwable ex
10: .line 47
aload 4 /* error */
aload 9 /* ex */
invokevirtual io.reactivex.internal.util.AtomicThrowable.addThrowable:(Ljava/lang/Throwable;)Z
pop
11: .line 48
aload 3 /* wip */
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
12: .line 49
goto 14
end local 9 // java.lang.Throwable ex
13: .line 52
StackMap locals:
StackMap stack:
aload 5 /* c */
new io.reactivex.internal.operators.completable.CompletableMergeDelayErrorArray$MergeInnerCompletableObserver
dup
aload 1 /* observer */
aload 2 /* set */
aload 4 /* error */
aload 3 /* wip */
invokespecial io.reactivex.internal.operators.completable.CompletableMergeDelayErrorArray$MergeInnerCompletableObserver.<init>:(Lio/reactivex/CompletableObserver;Lio/reactivex/disposables/CompositeDisposable;Lio/reactivex/internal/util/AtomicThrowable;Ljava/util/concurrent/atomic/AtomicInteger;)V
invokeinterface io.reactivex.CompletableSource.subscribe:(Lio/reactivex/CompletableObserver;)V
end local 5 // io.reactivex.CompletableSource c
14: .line 40
StackMap locals: io.reactivex.internal.operators.completable.CompletableMergeDelayErrorArray io.reactivex.CompletableObserver io.reactivex.disposables.CompositeDisposable java.util.concurrent.atomic.AtomicInteger io.reactivex.internal.util.AtomicThrowable top int int io.reactivex.CompletableSource[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
iload 7
if_icmplt 5
16: .line 55
aload 3 /* wip */
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
ifne 22
17: .line 56
aload 4 /* error */
invokevirtual io.reactivex.internal.util.AtomicThrowable.terminate:()Ljava/lang/Throwable;
astore 5 /* ex */
start local 5 // java.lang.Throwable ex
18: .line 57
aload 5 /* ex */
ifnonnull 21
19: .line 58
aload 1 /* observer */
invokeinterface io.reactivex.CompletableObserver.onComplete:()V
20: .line 59
goto 22
21: .line 60
StackMap locals: io.reactivex.internal.operators.completable.CompletableMergeDelayErrorArray io.reactivex.CompletableObserver io.reactivex.disposables.CompositeDisposable java.util.concurrent.atomic.AtomicInteger io.reactivex.internal.util.AtomicThrowable java.lang.Throwable
StackMap stack:
aload 1 /* observer */
aload 5 /* ex */
invokeinterface io.reactivex.CompletableObserver.onError:(Ljava/lang/Throwable;)V
end local 5 // java.lang.Throwable ex
22: .line 63
StackMap locals:
StackMap stack:
return
end local 4 // io.reactivex.internal.util.AtomicThrowable error
end local 3 // java.util.concurrent.atomic.AtomicInteger wip
end local 2 // io.reactivex.disposables.CompositeDisposable set
end local 1 // io.reactivex.CompletableObserver observer
end local 0 // io.reactivex.internal.operators.completable.CompletableMergeDelayErrorArray this
LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lio/reactivex/internal/operators/completable/CompletableMergeDelayErrorArray;
0 23 1 observer Lio/reactivex/CompletableObserver;
1 23 2 set Lio/reactivex/disposables/CompositeDisposable;
2 23 3 wip Ljava/util/concurrent/atomic/AtomicInteger;
3 23 4 error Lio/reactivex/internal/util/AtomicThrowable;
6 14 5 c Lio/reactivex/CompletableSource;
10 13 9 ex Ljava/lang/Throwable;
18 22 5 ex Ljava/lang/Throwable;
MethodParameters:
Name Flags
observer final
}
SourceFile: "CompletableMergeDelayErrorArray.java"
NestMembers:
io.reactivex.internal.operators.completable.CompletableMergeDelayErrorArray$MergeInnerCompletableObserver
InnerClasses:
final MergeInnerCompletableObserver = io.reactivex.internal.operators.completable.CompletableMergeDelayErrorArray$MergeInnerCompletableObserver of io.reactivex.internal.operators.completable.CompletableMergeDelayErrorArray