public final class io.reactivex.internal.operators.maybe.MaybeAmb<T> extends io.reactivex.Maybe<T>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.maybe.MaybeAmb
super_class: io.reactivex.Maybe
{
private final io.reactivex.MaybeSource<? extends T>[] sources;
descriptor: [Lio/reactivex/MaybeSource;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: [Lio/reactivex/MaybeSource<+TT;>;
private final java.lang.Iterable<? extends io.reactivex.MaybeSource<? extends T>> sourcesIterable;
descriptor: Ljava/lang/Iterable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Iterable<+Lio/reactivex/MaybeSource<+TT;>;>;
public void <init>(io.reactivex.MaybeSource<? extends T>[], java.lang.Iterable<? extends io.reactivex.MaybeSource<? extends T>>);
descriptor: ([Lio/reactivex/MaybeSource;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.Maybe.<init>:()V
1: aload 0
aload 1
putfield io.reactivex.internal.operators.maybe.MaybeAmb.sources:[Lio/reactivex/MaybeSource;
2: aload 0
aload 2
putfield io.reactivex.internal.operators.maybe.MaybeAmb.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/maybe/MaybeAmb<TT;>;
0 4 1 sources [Lio/reactivex/MaybeSource;
0 4 2 sourcesIterable Ljava/lang/Iterable<+Lio/reactivex/MaybeSource<+TT;>;>;
Signature: ([Lio/reactivex/MaybeSource<+TT;>;Ljava/lang/Iterable<+Lio/reactivex/MaybeSource<+TT;>;>;)V
MethodParameters:
Name Flags
sources
sourcesIterable
protected void subscribeActual(io.reactivex.MaybeObserver<? super T>);
descriptor: (Lio/reactivex/MaybeObserver;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.internal.operators.maybe.MaybeAmb.sources:[Lio/reactivex/MaybeSource;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aload 2
ifnonnull 20
3: bipush 8
anewarray io.reactivex.MaybeSource
astore 2
4: aload 0
getfield io.reactivex.internal.operators.maybe.MaybeAmb.sourcesIterable:Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 14
StackMap locals: io.reactivex.internal.operators.maybe.MaybeAmb io.reactivex.MaybeObserver io.reactivex.MaybeSource[] int top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.reactivex.MaybeSource
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/MaybeObserver;)V
8: return
9: StackMap locals: io.reactivex.internal.operators.maybe.MaybeAmb io.reactivex.MaybeObserver io.reactivex.MaybeSource[] int io.reactivex.MaybeSource 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.MaybeSource
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.maybe.MaybeAmb io.reactivex.MaybeObserver io.reactivex.MaybeSource[] 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.maybe.MaybeAmb io.reactivex.MaybeObserver io.reactivex.MaybeSource[] 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/MaybeObserver;)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.MaybeObserver.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.MaybeSource
StackMap stack:
aload 7
ifnonnull 37
30: aload 4
invokevirtual io.reactivex.disposables.CompositeDisposable.dispose:()V
31: new java.lang.NullPointerException
dup
ldc "One of the MaybeSources is null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
astore 8
start local 8 32: aload 5
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ifeq 35
33: aload 1
aload 8
invokeinterface io.reactivex.MaybeObserver.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.maybe.MaybeAmb$AmbMaybeObserver
dup
aload 1
aload 4
aload 5
invokespecial io.reactivex.internal.operators.maybe.MaybeAmb$AmbMaybeObserver.<init>:(Lio/reactivex/MaybeObserver;Lio/reactivex/disposables/CompositeDisposable;Ljava/util/concurrent/atomic/AtomicBoolean;)V
invokeinterface io.reactivex.MaybeSource.subscribe:(Lio/reactivex/MaybeObserver;)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.MaybeObserver.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/maybe/MaybeAmb<TT;>;
0 43 1 observer Lio/reactivex/MaybeObserver<-TT;>;
1 43 2 sources [Lio/reactivex/MaybeSource;
2 43 3 count I
6 14 4 element Lio/reactivex/MaybeSource<+TT;>;
11 13 6 b [Lio/reactivex/MaybeSource;
17 20 4 e Ljava/lang/Throwable;
22 43 4 set Lio/reactivex/disposables/CompositeDisposable;
24 43 5 winner Ljava/util/concurrent/atomic/AtomicBoolean;
25 40 6 i I
27 38 7 s Lio/reactivex/MaybeSource<+TT;>;
32 37 8 ex Ljava/lang/NullPointerException;
Exception table:
from to target type
4 8 16 Class java.lang.Throwable
9 15 16 Class java.lang.Throwable
Signature: (Lio/reactivex/MaybeObserver<-TT;>;)V
MethodParameters:
Name Flags
observer
}
Signature: <T:Ljava/lang/Object;>Lio/reactivex/Maybe<TT;>;
SourceFile: "MaybeAmb.java"
NestMembers:
io.reactivex.internal.operators.maybe.MaybeAmb$AmbMaybeObserver
InnerClasses:
final AmbMaybeObserver = io.reactivex.internal.operators.maybe.MaybeAmb$AmbMaybeObserver of io.reactivex.internal.operators.maybe.MaybeAmb