final class io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator<T, R> extends java.util.concurrent.atomic.AtomicInteger implements io.reactivex.disposables.Disposable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator
super_class: java.util.concurrent.atomic.AtomicInteger
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8567835998786448817
final io.reactivex.Observer<? super R> downstream;
descriptor: Lio/reactivex/Observer;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/Observer<-TR;>;
final io.reactivex.functions.Function<? super java.lang.Object[], ? extends R> combiner;
descriptor: Lio/reactivex/functions/Function;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/functions/Function<-[Ljava/lang/Object;+TR;>;
final io.reactivex.internal.operators.observable.ObservableCombineLatest$CombinerObserver<T, R>[] observers;
descriptor: [Lio/reactivex/internal/operators/observable/ObservableCombineLatest$CombinerObserver;
flags: (0x0010) ACC_FINAL
Signature: [Lio/reactivex/internal/operators/observable/ObservableCombineLatest$CombinerObserver<TT;TR;>;
java.lang.Object[] latest;
descriptor: [Ljava/lang/Object;
flags: (0x0000)
final io.reactivex.internal.queue.SpscLinkedArrayQueue<java.lang.Object[]> queue;
descriptor: Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/internal/queue/SpscLinkedArrayQueue<[Ljava/lang/Object;>;
final boolean delayError;
descriptor: Z
flags: (0x0010) ACC_FINAL
volatile boolean cancelled;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
volatile boolean done;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
final io.reactivex.internal.util.AtomicThrowable errors;
descriptor: Lio/reactivex/internal/util/AtomicThrowable;
flags: (0x0010) ACC_FINAL
int active;
descriptor: I
flags: (0x0000)
int complete;
descriptor: I
flags: (0x0000)
void <init>(io.reactivex.Observer<? super R>, io.reactivex.functions.Function<? super java.lang.Object[], ? extends R>, int, int, );
descriptor: (Lio/reactivex/Observer;Lio/reactivex/functions/Function;IIZ)V
flags: (0x0000)
Code:
stack=6, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
1: aload 0
new io.reactivex.internal.util.AtomicThrowable
dup
invokespecial io.reactivex.internal.util.AtomicThrowable.<init>:()V
putfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.errors:Lio/reactivex/internal/util/AtomicThrowable;
2: aload 0
aload 1
putfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.downstream:Lio/reactivex/Observer;
3: aload 0
aload 2
putfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.combiner:Lio/reactivex/functions/Function;
4: aload 0
iload 5
putfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.delayError:Z
5: aload 0
iload 3
anewarray java.lang.Object
putfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.latest:[Ljava/lang/Object;
6: iload 3
anewarray io.reactivex.internal.operators.observable.ObservableCombineLatest$CombinerObserver
astore 6
start local 6 7: iconst_0
istore 7
start local 7 8: goto 11
9: StackMap locals: io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator io.reactivex.Observer io.reactivex.functions.Function int int int io.reactivex.internal.operators.observable.ObservableCombineLatest$CombinerObserver[] int
StackMap stack:
aload 6
iload 7
new io.reactivex.internal.operators.observable.ObservableCombineLatest$CombinerObserver
dup
aload 0
iload 7
invokespecial io.reactivex.internal.operators.observable.ObservableCombineLatest$CombinerObserver.<init>:(Lio/reactivex/internal/operators/observable/ObservableCombineLatest$LatestCoordinator;I)V
aastore
10: iinc 7 1
StackMap locals:
StackMap stack:
11: iload 7
iload 3
if_icmplt 9
end local 7 12: aload 0
aload 6
putfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.observers:[Lio/reactivex/internal/operators/observable/ObservableCombineLatest$CombinerObserver;
13: aload 0
new io.reactivex.internal.queue.SpscLinkedArrayQueue
dup
iload 4
invokespecial io.reactivex.internal.queue.SpscLinkedArrayQueue.<init>:(I)V
putfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
14: return
end local 6 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 15 0 this Lio/reactivex/internal/operators/observable/ObservableCombineLatest$LatestCoordinator<TT;TR;>;
0 15 1 actual Lio/reactivex/Observer<-TR;>;
0 15 2 combiner Lio/reactivex/functions/Function<-[Ljava/lang/Object;+TR;>;
0 15 3 count I
0 15 4 bufferSize I
0 15 5 delayError Z
7 15 6 as [Lio/reactivex/internal/operators/observable/ObservableCombineLatest$CombinerObserver;
8 12 7 i I
Signature: (Lio/reactivex/Observer<-TR;>;Lio/reactivex/functions/Function<-[Ljava/lang/Object;+TR;>;IIZ)V
MethodParameters:
Name Flags
actual
combiner
count
bufferSize
delayError
public void subscribe(io.reactivex.ObservableSource<? extends T>[]);
descriptor: ([Lio/reactivex/ObservableSource;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.observers:[Lio/reactivex/internal/operators/observable/ObservableCombineLatest$CombinerObserver;
astore 2
start local 2 1: aload 2
arraylength
istore 3
start local 3 2: aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.downstream:Lio/reactivex/Observer;
aload 0
invokeinterface io.reactivex.Observer.onSubscribe:(Lio/reactivex/disposables/Disposable;)V
3: iconst_0
istore 4
start local 4 4: goto 9
5: StackMap locals: io.reactivex.Observer[] int int
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.done:Z
ifne 6
aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.cancelled:Z
ifeq 7
6: StackMap locals:
StackMap stack:
return
7: StackMap locals:
StackMap stack:
aload 1
iload 4
aaload
aload 2
iload 4
aaload
invokeinterface io.reactivex.ObservableSource.subscribe:(Lio/reactivex/Observer;)V
8: iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 3
if_icmplt 5
end local 4 10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/reactivex/internal/operators/observable/ObservableCombineLatest$LatestCoordinator<TT;TR;>;
0 11 1 sources [Lio/reactivex/ObservableSource;
1 11 2 as [Lio/reactivex/Observer;
2 11 3 len I
4 10 4 i I
Signature: ([Lio/reactivex/ObservableSource<+TT;>;)V
MethodParameters:
Name Flags
sources
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.cancelled:Z
ifne 5
1: aload 0
iconst_1
putfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.cancelled:Z
2: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.cancelSources:()V
3: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.getAndIncrement:()I
ifne 5
4: aload 0
aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
invokevirtual io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.clear:(Lio/reactivex/internal/queue/SpscLinkedArrayQueue;)V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/reactivex/internal/operators/observable/ObservableCombineLatest$LatestCoordinator<TT;TR;>;
public boolean isDisposed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.cancelled:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/reactivex/internal/operators/observable/ObservableCombineLatest$LatestCoordinator<TT;TR;>;
void cancelSources();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.observers:[Lio/reactivex/internal/operators/observable/ObservableCombineLatest$CombinerObserver;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 4
StackMap locals: io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator top int int io.reactivex.internal.operators.observable.ObservableCombineLatest$CombinerObserver[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
invokevirtual io.reactivex.internal.operators.observable.ObservableCombineLatest$CombinerObserver.dispose:()V
end local 1 3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
iload 3
if_icmplt 1
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/reactivex/internal/operators/observable/ObservableCombineLatest$LatestCoordinator<TT;TR;>;
2 3 1 observer Lio/reactivex/internal/operators/observable/ObservableCombineLatest$CombinerObserver<TT;TR;>;
void clear(io.reactivex.internal.queue.SpscLinkedArrayQueue<?>);
descriptor: (Lio/reactivex/internal/queue/SpscLinkedArrayQueue;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
aconst_null
putfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.latest:[Ljava/lang/Object;
2: aload 2
monitorexit
3: goto 6
StackMap locals: io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator io.reactivex.internal.queue.SpscLinkedArrayQueue io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/reactivex/internal/operators/observable/ObservableCombineLatest$LatestCoordinator<TT;TR;>;
0 8 1 q Lio/reactivex/internal/queue/SpscLinkedArrayQueue<*>;
Exception table:
from to target type
1 3 4 any
4 5 4 any
Signature: (Lio/reactivex/internal/queue/SpscLinkedArrayQueue<*>;)V
MethodParameters:
Name Flags
q
void drain();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=10, args_size=1
start local 0 0: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.getAndIncrement:()I
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
astore 1
start local 1 3: aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.downstream:Lio/reactivex/Observer;
astore 2
start local 2 4: aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.delayError:Z
istore 3
start local 3 5: iconst_1
istore 4
start local 4 6: StackMap locals: io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator io.reactivex.internal.queue.SpscLinkedArrayQueue io.reactivex.Observer int int
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.cancelled:Z
ifeq 9
7: aload 0
aload 1
invokevirtual io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.clear:(Lio/reactivex/internal/queue/SpscLinkedArrayQueue;)V
8: return
9: StackMap locals:
StackMap stack:
iload 3
ifne 14
aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.errors:Lio/reactivex/internal/util/AtomicThrowable;
invokevirtual io.reactivex.internal.util.AtomicThrowable.get:()Ljava/lang/Object;
ifnull 14
10: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.cancelSources:()V
11: aload 0
aload 1
invokevirtual io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.clear:(Lio/reactivex/internal/queue/SpscLinkedArrayQueue;)V
12: aload 2
aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.errors:Lio/reactivex/internal/util/AtomicThrowable;
invokevirtual io.reactivex.internal.util.AtomicThrowable.terminate:()Ljava/lang/Throwable;
invokeinterface io.reactivex.Observer.onError:(Ljava/lang/Throwable;)V
13: return
14: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.done:Z
istore 5
start local 5 15: aload 1
invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.poll:()Ljava/lang/Object;
checkcast java.lang.Object[]
astore 6
start local 6 16: aload 6
ifnonnull 17
iconst_1
goto 18
StackMap locals: int java.lang.Object[]
StackMap stack:
17: iconst_0
StackMap locals:
StackMap stack: int
18: istore 7
start local 7 19: iload 5
ifeq 27
iload 7
ifeq 27
20: aload 0
aload 1
invokevirtual io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.clear:(Lio/reactivex/internal/queue/SpscLinkedArrayQueue;)V
21: aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.errors:Lio/reactivex/internal/util/AtomicThrowable;
invokevirtual io.reactivex.internal.util.AtomicThrowable.terminate:()Ljava/lang/Throwable;
astore 8
start local 8 22: aload 8
ifnonnull 25
23: aload 2
invokeinterface io.reactivex.Observer.onComplete:()V
24: goto 26
25: StackMap locals: int java.lang.Throwable
StackMap stack:
aload 2
aload 8
invokeinterface io.reactivex.Observer.onError:(Ljava/lang/Throwable;)V
26: StackMap locals:
StackMap stack:
return
end local 8 27: StackMap locals:
StackMap stack:
iload 7
ifeq 29
28: goto 41
29: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.combiner:Lio/reactivex/functions/Function;
aload 6
invokeinterface io.reactivex.functions.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
ldc "The combiner returned a null value"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 8
start local 8 30: goto 39
end local 8 StackMap locals:
StackMap stack: java.lang.Throwable
31: astore 9
start local 9 32: aload 9
invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
33: aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.errors:Lio/reactivex/internal/util/AtomicThrowable;
aload 9
invokevirtual io.reactivex.internal.util.AtomicThrowable.addThrowable:(Ljava/lang/Throwable;)Z
pop
34: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.cancelSources:()V
35: aload 0
aload 1
invokevirtual io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.clear:(Lio/reactivex/internal/queue/SpscLinkedArrayQueue;)V
36: aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.errors:Lio/reactivex/internal/util/AtomicThrowable;
invokevirtual io.reactivex.internal.util.AtomicThrowable.terminate:()Ljava/lang/Throwable;
astore 9
37: aload 2
aload 9
invokeinterface io.reactivex.Observer.onError:(Ljava/lang/Throwable;)V
38: return
end local 9 start local 8 39: StackMap locals: java.lang.Object
StackMap stack:
aload 2
aload 8
invokeinterface io.reactivex.Observer.onNext:(Ljava/lang/Object;)V
end local 8 end local 7 end local 6 end local 5 40: goto 6
41: StackMap locals: io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator io.reactivex.internal.queue.SpscLinkedArrayQueue io.reactivex.Observer int int
StackMap stack:
aload 0
iload 4
ineg
invokevirtual io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.addAndGet:(I)I
istore 4
42: iload 4
ifne 6
43: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lio/reactivex/internal/operators/observable/ObservableCombineLatest$LatestCoordinator<TT;TR;>;
3 44 1 q Lio/reactivex/internal/queue/SpscLinkedArrayQueue<[Ljava/lang/Object;>;
4 44 2 a Lio/reactivex/Observer<-TR;>;
5 44 3 delayError Z
6 44 4 missed I
15 40 5 d Z
16 40 6 s [Ljava/lang/Object;
19 40 7 empty Z
22 27 8 ex Ljava/lang/Throwable;
30 31 8 v TR;
39 40 8 v TR;
32 39 9 ex Ljava/lang/Throwable;
Exception table:
from to target type
29 30 31 Class java.lang.Throwable
void innerNext(int, );
descriptor: (ILjava/lang/Object;)V
flags: (0x0000)
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 0
dup
astore 4
monitorenter
2: aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.latest:[Ljava/lang/Object;
astore 5
start local 5 3: aload 5
ifnonnull 6
4: aload 4
monitorexit
5: return
6: StackMap locals: int io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator java.lang.Object[]
StackMap stack:
aload 5
iload 1
aaload
astore 6
start local 6 7: aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.active:I
istore 7
start local 7 8: aload 6
ifnonnull 10
9: aload 0
iinc 7 1
iload 7
putfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.active:I
10: StackMap locals: java.lang.Object int
StackMap stack:
aload 5
iload 1
aload 2
aastore
11: iload 7
aload 5
arraylength
if_icmpne 14
12: aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
aload 5
invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
checkcast java.lang.Object[]
invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.offer:(Ljava/lang/Object;)Z
pop
13: iconst_1
istore 3
end local 7 end local 6 end local 5 14: StackMap locals:
StackMap stack:
aload 4
monitorexit
15: goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
16: aload 4
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
iload 3
ifeq 20
19: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.drain:()V
20: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/reactivex/internal/operators/observable/ObservableCombineLatest$LatestCoordinator<TT;TR;>;
0 21 1 index I
0 21 2 item TT;
1 21 3 shouldDrain Z
3 14 5 latest [Ljava/lang/Object;
7 14 6 o Ljava/lang/Object;
8 14 7 a I
Exception table:
from to target type
2 5 16 any
6 15 16 any
16 17 16 any
Signature: (ITT;)V
MethodParameters:
Name Flags
index
item
void innerError(int, java.lang.Throwable);
descriptor: (ILjava/lang/Throwable;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.errors:Lio/reactivex/internal/util/AtomicThrowable;
aload 2
invokevirtual io.reactivex.internal.util.AtomicThrowable.addThrowable:(Ljava/lang/Throwable;)Z
ifeq 21
1: iconst_1
istore 3
start local 3 2: aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.delayError:Z
ifeq 17
3: aload 0
dup
astore 4
monitorenter
4: aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.latest:[Ljava/lang/Object;
astore 5
start local 5 5: aload 5
ifnonnull 8
6: aload 4
monitorexit
7: return
8: StackMap locals: int io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator java.lang.Object[]
StackMap stack:
aload 5
iload 1
aaload
ifnonnull 9
iconst_1
goto 10
StackMap locals:
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 3
11: iload 3
ifne 12
aload 0
dup
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.complete:I
iconst_1
iadd
dup_x1
putfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.complete:I
aload 5
arraylength
if_icmpne 13
12: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.done:Z
end local 5 13: StackMap locals:
StackMap stack:
aload 4
monitorexit
14: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
15: aload 4
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
iload 3
ifeq 19
18: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.cancelSources:()V
19: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.drain:()V
end local 3 20: goto 22
21: StackMap locals:
StackMap stack:
aload 2
invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
22: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lio/reactivex/internal/operators/observable/ObservableCombineLatest$LatestCoordinator<TT;TR;>;
0 23 1 index I
0 23 2 ex Ljava/lang/Throwable;
2 20 3 cancelOthers Z
5 13 5 latest [Ljava/lang/Object;
Exception table:
from to target type
4 7 15 any
8 14 15 any
15 16 15 any
MethodParameters:
Name Flags
index
ex
void innerComplete(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
dup
astore 3
monitorenter
2: aload 0
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.latest:[Ljava/lang/Object;
astore 4
start local 4 3: aload 4
ifnonnull 6
4: aload 3
monitorexit
5: return
6: StackMap locals: int io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator java.lang.Object[]
StackMap stack:
aload 4
iload 1
aaload
ifnonnull 7
iconst_1
goto 8
StackMap locals:
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 2
9: iload 2
ifne 10
aload 0
dup
getfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.complete:I
iconst_1
iadd
dup_x1
putfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.complete:I
aload 4
arraylength
if_icmpne 11
10: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.done:Z
end local 4 11: StackMap locals:
StackMap stack:
aload 3
monitorexit
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 3
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
iload 2
ifeq 17
16: aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.cancelSources:()V
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator.drain:()V
18: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/reactivex/internal/operators/observable/ObservableCombineLatest$LatestCoordinator<TT;TR;>;
0 19 1 index I
1 19 2 cancelOthers Z
3 11 4 latest [Ljava/lang/Object;
Exception table:
from to target type
2 5 13 any
6 12 13 any
13 14 13 any
MethodParameters:
Name Flags
index
}
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>Ljava/util/concurrent/atomic/AtomicInteger;Lio/reactivex/disposables/Disposable;
SourceFile: "ObservableCombineLatest.java"
NestHost: io.reactivex.internal.operators.observable.ObservableCombineLatest
InnerClasses:
final CombinerObserver = io.reactivex.internal.operators.observable.ObservableCombineLatest$CombinerObserver of io.reactivex.internal.operators.observable.ObservableCombineLatest
final LatestCoordinator = io.reactivex.internal.operators.observable.ObservableCombineLatest$LatestCoordinator of io.reactivex.internal.operators.observable.ObservableCombineLatest