public final class io.reactivex.internal.operators.completable.CompletableAmb 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.CompletableAmb
super_class: io.reactivex.Completable
{
private final io.reactivex.CompletableSource[] sources;
descriptor: [Lio/reactivex/CompletableSource;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Iterable<? extends io.reactivex.CompletableSource> sourcesIterable;
descriptor: Ljava/lang/Iterable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Iterable<+Lio/reactivex/CompletableSource;>;
public void <init>(io.reactivex.CompletableSource[], java.lang.Iterable<? extends io.reactivex.CompletableSource>);
descriptor: ([Lio/reactivex/CompletableSource;Ljava/lang/Iterable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial io.reactivex.Completable.<init>:()V
1: aload 0
aload 1
putfield io.reactivex.internal.operators.completable.CompletableAmb.sources:[Lio/reactivex/CompletableSource;
2: aload 0
aload 2
putfield io.reactivex.internal.operators.completable.CompletableAmb.sourcesIterable:Ljava/lang/Iterable;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/reactivex/internal/operators/completable/CompletableAmb;
0 4 1 sources [Lio/reactivex/CompletableSource;
0 4 2 sourcesIterable Ljava/lang/Iterable<+Lio/reactivex/CompletableSource;>;
Signature: ([Lio/reactivex/CompletableSource;Ljava/lang/Iterable<+Lio/reactivex/CompletableSource;>;)V
MethodParameters:
Name Flags
sources
sourcesIterable
public void subscribeActual(io.reactivex.CompletableObserver);
descriptor: (Lio/reactivex/CompletableObserver;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.internal.operators.completable.CompletableAmb.sources:[Lio/reactivex/CompletableSource;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aload 2
ifnonnull 20
3: bipush 8
anewarray io.reactivex.CompletableSource
astore 2
4: aload 0
getfield io.reactivex.internal.operators.completable.CompletableAmb.sourcesIterable:Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 14
StackMap locals: io.reactivex.internal.operators.completable.CompletableAmb io.reactivex.CompletableObserver io.reactivex.CompletableSource[] int top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.reactivex.CompletableSource
astore 4
start local 4 6: aload 4
ifnonnull 9
7: new java.lang.NullPointerException
dup
ldc "One of the sources is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
aload 1
invokestatic io.reactivex.internal.disposables.EmptyDisposable.error:(Ljava/lang/Throwable;Lio/reactivex/CompletableObserver;)V
8: return
9: StackMap locals: io.reactivex.internal.operators.completable.CompletableAmb io.reactivex.CompletableObserver io.reactivex.CompletableSource[] int io.reactivex.CompletableSource java.util.Iterator
StackMap stack:
iload 3
aload 2
arraylength
if_icmpne 13
10: iload 3
iload 3
iconst_2
ishr
iadd
anewarray io.reactivex.CompletableSource
astore 6
start local 6 11: aload 2
iconst_0
aload 6
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: aload 6
astore 2
end local 6 13: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
aload 4
aastore
end local 4 14: StackMap locals: io.reactivex.internal.operators.completable.CompletableAmb io.reactivex.CompletableObserver io.reactivex.CompletableSource[] int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
15: goto 21
StackMap locals: io.reactivex.internal.operators.completable.CompletableAmb io.reactivex.CompletableObserver io.reactivex.CompletableSource[] int
StackMap stack: java.lang.Throwable
16: astore 4
start local 4 17: aload 4
invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
18: aload 4
aload 1
invokestatic io.reactivex.internal.disposables.EmptyDisposable.error:(Ljava/lang/Throwable;Lio/reactivex/CompletableObserver;)V
19: return
end local 4 20: StackMap locals:
StackMap stack:
aload 2
arraylength
istore 3
21: StackMap locals:
StackMap stack:
new io.reactivex.disposables.CompositeDisposable
dup
invokespecial io.reactivex.disposables.CompositeDisposable.<init>:()V
astore 4
start local 4 22: aload 1
aload 4
invokeinterface io.reactivex.CompletableObserver.onSubscribe:(Lio/reactivex/disposables/Disposable;)V
23: new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
astore 5
start local 5 24: iconst_0
istore 6
start local 6 25: goto 39
26: StackMap locals: io.reactivex.disposables.CompositeDisposable java.util.concurrent.atomic.AtomicBoolean int
StackMap stack:
aload 2
iload 6
aaload
astore 7
start local 7 27: aload 4
invokevirtual io.reactivex.disposables.CompositeDisposable.isDisposed:()Z
ifeq 29
28: return
29: StackMap locals: io.reactivex.CompletableSource
StackMap stack:
aload 7
ifnonnull 37
30: new java.lang.NullPointerException
dup
ldc "One of the sources is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
astore 8
start local 8 31: aload 5
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ifeq 35
32: aload 4
invokevirtual io.reactivex.disposables.CompositeDisposable.dispose:()V
33: aload 1
aload 8
invokeinterface io.reactivex.CompletableObserver.onError:(Ljava/lang/Throwable;)V
34: goto 36
35: StackMap locals: java.lang.NullPointerException
StackMap stack:
aload 8
invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
36: StackMap locals:
StackMap stack:
return
end local 8 37: StackMap locals:
StackMap stack:
aload 7
new io.reactivex.internal.operators.completable.CompletableAmb$Amb
dup
aload 5
aload 4
aload 1
invokespecial io.reactivex.internal.operators.completable.CompletableAmb$Amb.<init>:(Ljava/util/concurrent/atomic/AtomicBoolean;Lio/reactivex/disposables/CompositeDisposable;Lio/reactivex/CompletableObserver;)V
invokeinterface io.reactivex.CompletableSource.subscribe:(Lio/reactivex/CompletableObserver;)V
end local 7 38: iinc 6 1
StackMap locals:
StackMap stack:
39: iload 6
iload 3
if_icmplt 26
end local 6 40: iload 3
ifne 42
41: aload 1
invokeinterface io.reactivex.CompletableObserver.onComplete:()V
42: StackMap locals:
StackMap stack:
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 43 0 this Lio/reactivex/internal/operators/completable/CompletableAmb;
0 43 1 observer Lio/reactivex/CompletableObserver;
1 43 2 sources [Lio/reactivex/CompletableSource;
2 43 3 count I
6 14 4 element Lio/reactivex/CompletableSource;
11 13 6 b [Lio/reactivex/CompletableSource;
17 20 4 e Ljava/lang/Throwable;
22 43 4 set Lio/reactivex/disposables/CompositeDisposable;
24 43 5 once Ljava/util/concurrent/atomic/AtomicBoolean;
25 40 6 i I
27 38 7 c Lio/reactivex/CompletableSource;
31 37 8 npe Ljava/lang/NullPointerException;
Exception table:
from to target type
4 8 16 Class java.lang.Throwable
9 15 16 Class java.lang.Throwable
MethodParameters:
Name Flags
observer final
}
SourceFile: "CompletableAmb.java"
NestMembers:
io.reactivex.internal.operators.completable.CompletableAmb$Amb
InnerClasses:
final Amb = io.reactivex.internal.operators.completable.CompletableAmb$Amb of io.reactivex.internal.operators.completable.CompletableAmb