final class io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription<TLeft, TRight, TLeftEnd, TRightEnd, R> extends java.util.concurrent.atomic.AtomicInteger implements org.reactivestreams.Subscription, io.reactivex.internal.operators.flowable.FlowableGroupJoin$JoinSupport
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription
super_class: java.util.concurrent.atomic.AtomicInteger
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -6071216598687999801
final org.reactivestreams.Subscriber<? super R> downstream;
descriptor: Lorg/reactivestreams/Subscriber;
flags: (0x0010) ACC_FINAL
Signature: Lorg/reactivestreams/Subscriber<-TR;>;
final java.util.concurrent.atomic.AtomicLong requested;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0010) ACC_FINAL
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 io.reactivex.disposables.CompositeDisposable disposables;
descriptor: Lio/reactivex/disposables/CompositeDisposable;
flags: (0x0010) ACC_FINAL
final java.util.Map<java.lang.Integer, TLeft> lefts;
descriptor: Ljava/util/Map;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;TTLeft;>;
final java.util.Map<java.lang.Integer, TRight> rights;
descriptor: Ljava/util/Map;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;TTRight;>;
final java.util.concurrent.atomic.AtomicReference<java.lang.Throwable> error;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/Throwable;>;
final io.reactivex.functions.Function<? super TLeft, ? extends org.reactivestreams.Publisher<TLeftEnd>> leftEnd;
descriptor: Lio/reactivex/functions/Function;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/functions/Function<-TTLeft;+Lorg/reactivestreams/Publisher<TTLeftEnd;>;>;
final io.reactivex.functions.Function<? super TRight, ? extends org.reactivestreams.Publisher<TRightEnd>> rightEnd;
descriptor: Lio/reactivex/functions/Function;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/functions/Function<-TTRight;+Lorg/reactivestreams/Publisher<TTRightEnd;>;>;
final io.reactivex.functions.BiFunction<? super TLeft, ? super TRight, ? extends R> resultSelector;
descriptor: Lio/reactivex/functions/BiFunction;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/functions/BiFunction<-TTLeft;-TTRight;+TR;>;
final java.util.concurrent.atomic.AtomicInteger active;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x0010) ACC_FINAL
int leftIndex;
descriptor: I
flags: (0x0000)
int rightIndex;
descriptor: I
flags: (0x0000)
volatile boolean cancelled;
descriptor: Z
flags: (0x0040) ACC_VOLATILE
static final java.lang.Integer LEFT_VALUE;
descriptor: Ljava/lang/Integer;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.Integer RIGHT_VALUE;
descriptor: Ljava/lang/Integer;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.Integer LEFT_CLOSE;
descriptor: Ljava/lang/Integer;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.Integer RIGHT_CLOSE;
descriptor: Ljava/lang/Integer;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putstatic io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.LEFT_VALUE:Ljava/lang/Integer;
1: iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putstatic io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.RIGHT_VALUE:Ljava/lang/Integer;
2: iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putstatic io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.LEFT_CLOSE:Ljava/lang/Integer;
3: iconst_4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putstatic io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.RIGHT_CLOSE:Ljava/lang/Integer;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.reactivestreams.Subscriber<? super R>, io.reactivex.functions.Function<? super TLeft, ? extends org.reactivestreams.Publisher<TLeftEnd>>, io.reactivex.functions.Function<? super TRight, ? extends org.reactivestreams.Publisher<TRightEnd>>, io.reactivex.functions.BiFunction<? super TLeft, ? super TRight, ? extends R>);
descriptor: (Lorg/reactivestreams/Subscriber;Lio/reactivex/functions/Function;Lio/reactivex/functions/Function;Lio/reactivex/functions/BiFunction;)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
1: aload 0
aload 1
putfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.downstream:Lorg/reactivestreams/Subscriber;
2: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
putfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.requested:Ljava/util/concurrent/atomic/AtomicLong;
3: aload 0
new io.reactivex.disposables.CompositeDisposable
dup
invokespecial io.reactivex.disposables.CompositeDisposable.<init>:()V
putfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.disposables:Lio/reactivex/disposables/CompositeDisposable;
4: aload 0
new io.reactivex.internal.queue.SpscLinkedArrayQueue
dup
invokestatic io.reactivex.internal.operators.flowable.FlowableJoin.bufferSize:()I
invokespecial io.reactivex.internal.queue.SpscLinkedArrayQueue.<init>:(I)V
putfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
5: aload 0
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.lefts:Ljava/util/Map;
6: aload 0
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.rights:Ljava/util/Map;
7: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.error:Ljava/util/concurrent/atomic/AtomicReference;
8: aload 0
aload 2
putfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.leftEnd:Lio/reactivex/functions/Function;
9: aload 0
aload 3
putfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.rightEnd:Lio/reactivex/functions/Function;
10: aload 0
aload 4
putfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.resultSelector:Lio/reactivex/functions/BiFunction;
11: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
iconst_2
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
putfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.active:Ljava/util/concurrent/atomic/AtomicInteger;
12: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/reactivex/internal/operators/flowable/FlowableJoin$JoinSubscription<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
0 13 1 actual Lorg/reactivestreams/Subscriber<-TR;>;
0 13 2 leftEnd Lio/reactivex/functions/Function<-TTLeft;+Lorg/reactivestreams/Publisher<TTLeftEnd;>;>;
0 13 3 rightEnd Lio/reactivex/functions/Function<-TTRight;+Lorg/reactivestreams/Publisher<TTRightEnd;>;>;
0 13 4 resultSelector Lio/reactivex/functions/BiFunction<-TTLeft;-TTRight;+TR;>;
Signature: (Lorg/reactivestreams/Subscriber<-TR;>;Lio/reactivex/functions/Function<-TTLeft;+Lorg/reactivestreams/Publisher<TTLeftEnd;>;>;Lio/reactivex/functions/Function<-TTRight;+Lorg/reactivestreams/Publisher<TTRightEnd;>;>;Lio/reactivex/functions/BiFunction<-TTLeft;-TTRight;+TR;>;)V
MethodParameters:
Name Flags
actual
leftEnd
rightEnd
resultSelector
public void request(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: lload 1
invokestatic io.reactivex.internal.subscriptions.SubscriptionHelper.validate:(J)Z
ifeq 2
1: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.requested:Ljava/util/concurrent/atomic/AtomicLong;
lload 1
invokestatic io.reactivex.internal.util.BackpressureHelper.add:(Ljava/util/concurrent/atomic/AtomicLong;J)J
pop2
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/reactivex/internal/operators/flowable/FlowableJoin$JoinSubscription<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
0 3 1 n J
MethodParameters:
Name Flags
n
public void cancel();
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.flowable.FlowableJoin$JoinSubscription.cancelled:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.cancelled:Z
3: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.cancelAll:()V
4: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.getAndIncrement:()I
ifne 6
5: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/reactivex/internal/operators/flowable/FlowableJoin$JoinSubscription<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
void cancelAll();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.disposables:Lio/reactivex/disposables/CompositeDisposable;
invokevirtual io.reactivex.disposables.CompositeDisposable.dispose:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/reactivex/internal/operators/flowable/FlowableJoin$JoinSubscription<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
void errorAll(org.reactivestreams.Subscriber<?>);
descriptor: (Lorg/reactivestreams/Subscriber;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.error:Ljava/util/concurrent/atomic/AtomicReference;
invokestatic io.reactivex.internal.util.ExceptionHelper.terminate:(Ljava/util/concurrent/atomic/AtomicReference;)Ljava/lang/Throwable;
astore 2
start local 2 1: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.lefts:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
2: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.rights:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
3: aload 1
aload 2
invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/reactivex/internal/operators/flowable/FlowableJoin$JoinSubscription<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
0 5 1 a Lorg/reactivestreams/Subscriber<*>;
1 5 2 ex Ljava/lang/Throwable;
Signature: (Lorg/reactivestreams/Subscriber<*>;)V
MethodParameters:
Name Flags
a
void fail(java.lang.Throwable, org.reactivestreams.Subscriber<?>, io.reactivex.internal.fuseable.SimpleQueue<?>);
descriptor: (Ljava/lang/Throwable;Lorg/reactivestreams/Subscriber;Lio/reactivex/internal/fuseable/SimpleQueue;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
1: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.error:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
invokestatic io.reactivex.internal.util.ExceptionHelper.addThrowable:(Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Throwable;)Z
pop
2: aload 3
invokeinterface io.reactivex.internal.fuseable.SimpleQueue.clear:()V
3: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.cancelAll:()V
4: aload 0
aload 2
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.errorAll:(Lorg/reactivestreams/Subscriber;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/reactivex/internal/operators/flowable/FlowableJoin$JoinSubscription<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
0 6 1 exc Ljava/lang/Throwable;
0 6 2 a Lorg/reactivestreams/Subscriber<*>;
0 6 3 q Lio/reactivex/internal/fuseable/SimpleQueue<*>;
Signature: (Ljava/lang/Throwable;Lorg/reactivestreams/Subscriber<*>;Lio/reactivex/internal/fuseable/SimpleQueue<*>;)V
MethodParameters:
Name Flags
exc
a
q
void drain();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=21, args_size=1
start local 0 0: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.getAndIncrement:()I
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
iconst_1
istore 1
start local 1 3: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
astore 2
start local 2 4: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.downstream:Lorg/reactivestreams/Subscriber;
astore 3
start local 3 5: StackMap locals: int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.cancelled:Z
ifeq 8
6: aload 2
invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
7: return
8: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.error:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.lang.Throwable
astore 4
start local 4 9: aload 4
ifnull 14
10: aload 2
invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
11: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.cancelAll:()V
12: aload 0
aload 3
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.errorAll:(Lorg/reactivestreams/Subscriber;)V
13: return
14: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.active:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ifne 15
iconst_1
goto 16
StackMap locals:
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: istore 5
start local 5 17: aload 2
invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.poll:()Ljava/lang/Object;
checkcast java.lang.Integer
astore 6
start local 6 18: aload 6
ifnonnull 19
iconst_1
goto 20
StackMap locals: int java.lang.Integer
StackMap stack:
19: iconst_0
StackMap locals:
StackMap stack: int
20: istore 7
start local 7 21: iload 5
ifeq 27
iload 7
ifeq 27
22: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.lefts:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
23: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.rights:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
24: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.disposables:Lio/reactivex/disposables/CompositeDisposable;
invokevirtual io.reactivex.disposables.CompositeDisposable.dispose:()V
25: aload 3
invokeinterface org.reactivestreams.Subscriber.onComplete:()V
26: return
27: StackMap locals: int
StackMap stack:
iload 7
ifeq 29
28: goto 120
29: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.poll:()Ljava/lang/Object;
astore 8
start local 8 30: aload 6
getstatic io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.LEFT_VALUE:Ljava/lang/Integer;
if_acmpne 70
31: aload 8
astore 9
start local 9 32: aload 0
dup
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.leftIndex:I
dup_x1
iconst_1
iadd
putfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.leftIndex:I
istore 10
start local 10 33: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.lefts:Ljava/util/Map;
iload 10
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 9
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
34: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.leftEnd:Lio/reactivex/functions/Function;
aload 9
invokeinterface io.reactivex.functions.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
ldc "The leftEnd returned a null Publisher"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
astore 11
start local 11 35: goto 39
end local 11 StackMap locals: io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber java.lang.Throwable int java.lang.Integer int java.lang.Object java.lang.Object int
StackMap stack: java.lang.Throwable
36: astore 12
start local 12 37: aload 0
aload 12
aload 3
aload 2
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.fail:(Ljava/lang/Throwable;Lorg/reactivestreams/Subscriber;Lio/reactivex/internal/fuseable/SimpleQueue;)V
38: return
end local 12 start local 11 39: StackMap locals: org.reactivestreams.Publisher
StackMap stack:
new io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber
dup
aload 0
iconst_1
iload 10
invokespecial io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber.<init>:(Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$JoinSupport;ZI)V
astore 12
start local 12 40: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.disposables:Lio/reactivex/disposables/CompositeDisposable;
aload 12
invokevirtual io.reactivex.disposables.CompositeDisposable.add:(Lio/reactivex/disposables/Disposable;)Z
pop
41: aload 11
aload 12
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
42: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.error:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.lang.Throwable
astore 4
43: aload 4
ifnull 48
44: aload 2
invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
45: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.cancelAll:()V
46: aload 0
aload 3
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.errorAll:(Lorg/reactivestreams/Subscriber;)V
47: return
48: StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.requested:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lstore 13
start local 13 49: lconst_0
lstore 15
start local 15 50: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.rights:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 18
goto 66
StackMap locals: io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber java.lang.Throwable int java.lang.Integer int java.lang.Object java.lang.Object int org.reactivestreams.Publisher io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber long long top java.util.Iterator
StackMap stack:
51: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Object
astore 17
start local 17 52: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.resultSelector:Lio/reactivex/functions/BiFunction;
aload 9
aload 17
invokeinterface io.reactivex.functions.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
ldc "The resultSelector returned a null value"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 19
start local 19 53: goto 57
end local 19 StackMap locals: io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber java.lang.Throwable int java.lang.Integer int java.lang.Object java.lang.Object int org.reactivestreams.Publisher io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber long long java.lang.Object java.util.Iterator
StackMap stack: java.lang.Throwable
54: astore 20
start local 20 55: aload 0
aload 20
aload 3
aload 2
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.fail:(Ljava/lang/Throwable;Lorg/reactivestreams/Subscriber;Lio/reactivex/internal/fuseable/SimpleQueue;)V
56: return
end local 20 start local 19 57: StackMap locals: java.lang.Object
StackMap stack:
lload 15
lload 13
lcmp
ifeq 61
58: aload 3
aload 19
invokeinterface org.reactivestreams.Subscriber.onNext:(Ljava/lang/Object;)V
59: lload 15
lconst_1
ladd
lstore 15
60: goto 66
61: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.error:Ljava/util/concurrent/atomic/AtomicReference;
new io.reactivex.exceptions.MissingBackpressureException
dup
ldc "Could not emit value due to lack of requests"
invokespecial io.reactivex.exceptions.MissingBackpressureException.<init>:(Ljava/lang/String;)V
invokestatic io.reactivex.internal.util.ExceptionHelper.addThrowable:(Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Throwable;)Z
pop
62: aload 2
invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
63: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.cancelAll:()V
64: aload 0
aload 3
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.errorAll:(Lorg/reactivestreams/Subscriber;)V
65: return
end local 19 end local 17 66: StackMap locals: io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber java.lang.Throwable int java.lang.Integer int java.lang.Object java.lang.Object int org.reactivestreams.Publisher io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber long long top java.util.Iterator
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 51
67: lload 15
lconst_0
lcmp
ifeq 5
68: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.requested:Ljava/util/concurrent/atomic/AtomicLong;
lload 15
invokestatic io.reactivex.internal.util.BackpressureHelper.produced:(Ljava/util/concurrent/atomic/AtomicLong;J)J
pop2
end local 15 end local 13 end local 12 end local 11 end local 10 end local 9 69: goto 5
70: StackMap locals: io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber java.lang.Throwable int java.lang.Integer int java.lang.Object
StackMap stack:
aload 6
getstatic io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.RIGHT_VALUE:Ljava/lang/Integer;
if_acmpne 110
71: aload 8
astore 9
start local 9 72: aload 0
dup
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.rightIndex:I
dup_x1
iconst_1
iadd
putfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.rightIndex:I
istore 10
start local 10 73: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.rights:Ljava/util/Map;
iload 10
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 9
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
74: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.rightEnd:Lio/reactivex/functions/Function;
aload 9
invokeinterface io.reactivex.functions.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
ldc "The rightEnd returned a null Publisher"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
astore 11
start local 11 75: goto 79
end local 11 StackMap locals: io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber java.lang.Throwable int java.lang.Integer int java.lang.Object java.lang.Object int
StackMap stack: java.lang.Throwable
76: astore 12
start local 12 77: aload 0
aload 12
aload 3
aload 2
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.fail:(Ljava/lang/Throwable;Lorg/reactivestreams/Subscriber;Lio/reactivex/internal/fuseable/SimpleQueue;)V
78: return
end local 12 start local 11 79: StackMap locals: org.reactivestreams.Publisher
StackMap stack:
new io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber
dup
aload 0
iconst_0
iload 10
invokespecial io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber.<init>:(Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$JoinSupport;ZI)V
astore 12
start local 12 80: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.disposables:Lio/reactivex/disposables/CompositeDisposable;
aload 12
invokevirtual io.reactivex.disposables.CompositeDisposable.add:(Lio/reactivex/disposables/Disposable;)Z
pop
81: aload 11
aload 12
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
82: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.error:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.lang.Throwable
astore 4
83: aload 4
ifnull 88
84: aload 2
invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
85: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.cancelAll:()V
86: aload 0
aload 3
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.errorAll:(Lorg/reactivestreams/Subscriber;)V
87: return
88: StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.requested:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lstore 13
start local 13 89: lconst_0
lstore 15
start local 15 90: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.lefts:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 18
goto 106
StackMap locals: io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber java.lang.Throwable int java.lang.Integer int java.lang.Object java.lang.Object int org.reactivestreams.Publisher io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber long long top java.util.Iterator
StackMap stack:
91: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Object
astore 17
start local 17 92: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.resultSelector:Lio/reactivex/functions/BiFunction;
aload 17
aload 9
invokeinterface io.reactivex.functions.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
ldc "The resultSelector returned a null value"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 19
start local 19 93: goto 97
end local 19 StackMap locals: io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber java.lang.Throwable int java.lang.Integer int java.lang.Object java.lang.Object int org.reactivestreams.Publisher io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber long long java.lang.Object java.util.Iterator
StackMap stack: java.lang.Throwable
94: astore 20
start local 20 95: aload 0
aload 20
aload 3
aload 2
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.fail:(Ljava/lang/Throwable;Lorg/reactivestreams/Subscriber;Lio/reactivex/internal/fuseable/SimpleQueue;)V
96: return
end local 20 start local 19 97: StackMap locals: java.lang.Object
StackMap stack:
lload 15
lload 13
lcmp
ifeq 101
98: aload 3
aload 19
invokeinterface org.reactivestreams.Subscriber.onNext:(Ljava/lang/Object;)V
99: lload 15
lconst_1
ladd
lstore 15
100: goto 106
101: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.error:Ljava/util/concurrent/atomic/AtomicReference;
new io.reactivex.exceptions.MissingBackpressureException
dup
ldc "Could not emit value due to lack of requests"
invokespecial io.reactivex.exceptions.MissingBackpressureException.<init>:(Ljava/lang/String;)V
invokestatic io.reactivex.internal.util.ExceptionHelper.addThrowable:(Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Throwable;)Z
pop
102: aload 2
invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
103: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.cancelAll:()V
104: aload 0
aload 3
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.errorAll:(Lorg/reactivestreams/Subscriber;)V
105: return
end local 19 end local 17 106: StackMap locals: io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber java.lang.Throwable int java.lang.Integer int java.lang.Object java.lang.Object int org.reactivestreams.Publisher io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber long long top java.util.Iterator
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 91
107: lload 15
lconst_0
lcmp
ifeq 5
108: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.requested:Ljava/util/concurrent/atomic/AtomicLong;
lload 15
invokestatic io.reactivex.internal.util.BackpressureHelper.produced:(Ljava/util/concurrent/atomic/AtomicLong;J)J
pop2
end local 15 end local 13 end local 12 end local 11 end local 10 end local 9 109: goto 5
110: StackMap locals: io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber java.lang.Throwable int java.lang.Integer int java.lang.Object
StackMap stack:
aload 6
getstatic io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.LEFT_CLOSE:Ljava/lang/Integer;
if_acmpne 115
111: aload 8
checkcast io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber
astore 9
start local 9 112: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.lefts:Ljava/util/Map;
aload 9
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber.index:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
113: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.disposables:Lio/reactivex/disposables/CompositeDisposable;
aload 9
invokevirtual io.reactivex.disposables.CompositeDisposable.remove:(Lio/reactivex/disposables/Disposable;)Z
pop
end local 9 114: goto 5
115: StackMap locals:
StackMap stack:
aload 6
getstatic io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.RIGHT_CLOSE:Ljava/lang/Integer;
if_acmpne 5
116: aload 8
checkcast io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber
astore 9
start local 9 117: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.rights:Ljava/util/Map;
aload 9
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber.index:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
118: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.disposables:Lio/reactivex/disposables/CompositeDisposable;
aload 9
invokevirtual io.reactivex.disposables.CompositeDisposable.remove:(Lio/reactivex/disposables/Disposable;)Z
pop
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 119: goto 5
120: StackMap locals: io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber
StackMap stack:
aload 0
iload 1
ineg
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.addAndGet:(I)I
istore 1
121: iload 1
ifne 5
122: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 123 0 this Lio/reactivex/internal/operators/flowable/FlowableJoin$JoinSubscription<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
3 123 1 missed I
4 123 2 q Lio/reactivex/internal/queue/SpscLinkedArrayQueue<Ljava/lang/Object;>;
5 123 3 a Lorg/reactivestreams/Subscriber<-TR;>;
9 119 4 ex Ljava/lang/Throwable;
17 119 5 d Z
18 119 6 mode Ljava/lang/Integer;
21 119 7 empty Z
30 119 8 val Ljava/lang/Object;
32 69 9 left TTLeft;
33 69 10 idx I
35 36 11 p Lorg/reactivestreams/Publisher<TTLeftEnd;>;
39 69 11 p Lorg/reactivestreams/Publisher<TTLeftEnd;>;
37 39 12 exc Ljava/lang/Throwable;
40 69 12 end Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightEndSubscriber;
49 69 13 r J
50 69 15 e J
52 66 17 right TTRight;
53 54 19 w TR;
57 66 19 w TR;
55 57 20 exc Ljava/lang/Throwable;
72 109 9 right TTRight;
73 109 10 idx I
75 76 11 p Lorg/reactivestreams/Publisher<TTRightEnd;>;
79 109 11 p Lorg/reactivestreams/Publisher<TTRightEnd;>;
77 79 12 exc Ljava/lang/Throwable;
80 109 12 end Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightEndSubscriber;
89 109 13 r J
90 109 15 e J
92 106 17 left TTLeft;
93 94 19 w TR;
97 106 19 w TR;
95 97 20 exc Ljava/lang/Throwable;
112 114 9 end Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightEndSubscriber;
117 119 9 end Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightEndSubscriber;
Exception table:
from to target type
34 35 36 Class java.lang.Throwable
52 53 54 Class java.lang.Throwable
74 75 76 Class java.lang.Throwable
92 93 94 Class java.lang.Throwable
public void innerError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.error:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
invokestatic io.reactivex.internal.util.ExceptionHelper.addThrowable:(Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Throwable;)Z
ifeq 4
1: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.active:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
2: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.drain:()V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 1
invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/reactivex/internal/operators/flowable/FlowableJoin$JoinSubscription<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
0 6 1 ex Ljava/lang/Throwable;
MethodParameters:
Name Flags
ex
public void innerComplete(io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightSubscriber);
descriptor: (Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightSubscriber;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.disposables:Lio/reactivex/disposables/CompositeDisposable;
aload 1
invokevirtual io.reactivex.disposables.CompositeDisposable.delete:(Lio/reactivex/disposables/Disposable;)Z
pop
1: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.active:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
2: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.drain:()V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/reactivex/internal/operators/flowable/FlowableJoin$JoinSubscription<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
0 4 1 sender Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightSubscriber;
MethodParameters:
Name Flags
sender
public void innerValue(boolean, java.lang.Object);
descriptor: (ZLjava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
dup
astore 3
monitorenter
1: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
iload 1
ifeq 2
getstatic io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.LEFT_VALUE:Ljava/lang/Integer;
goto 3
StackMap locals: io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription int java.lang.Object io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription
StackMap stack: io.reactivex.internal.queue.SpscLinkedArrayQueue
2: getstatic io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.RIGHT_VALUE:Ljava/lang/Integer;
StackMap locals: io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription int java.lang.Object io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription
StackMap stack: io.reactivex.internal.queue.SpscLinkedArrayQueue java.lang.Integer
3: aload 2
invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.offer:(Ljava/lang/Object;Ljava/lang/Object;)Z
pop
4: aload 3
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.drain:()V
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/reactivex/internal/operators/flowable/FlowableJoin$JoinSubscription<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
0 10 1 isLeft Z
0 10 2 o Ljava/lang/Object;
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
isLeft
o
public void innerClose(boolean, io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber);
descriptor: (ZLio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightEndSubscriber;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
dup
astore 3
monitorenter
1: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
iload 1
ifeq 2
getstatic io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.LEFT_CLOSE:Ljava/lang/Integer;
goto 3
StackMap locals: io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription int io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription
StackMap stack: io.reactivex.internal.queue.SpscLinkedArrayQueue
2: getstatic io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.RIGHT_CLOSE:Ljava/lang/Integer;
StackMap locals: io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription int io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription
StackMap stack: io.reactivex.internal.queue.SpscLinkedArrayQueue java.lang.Integer
3: aload 2
invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.offer:(Ljava/lang/Object;Ljava/lang/Object;)Z
pop
4: aload 3
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.drain:()V
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/reactivex/internal/operators/flowable/FlowableJoin$JoinSubscription<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
0 10 1 isLeft Z
0 10 2 index Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightEndSubscriber;
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
isLeft
index
public void innerCloseError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.error:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
invokestatic io.reactivex.internal.util.ExceptionHelper.addThrowable:(Ljava/util/concurrent/atomic/AtomicReference;Ljava/lang/Throwable;)Z
ifeq 3
1: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.drain:()V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 1
invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/reactivex/internal/operators/flowable/FlowableJoin$JoinSubscription<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
0 5 1 ex Ljava/lang/Throwable;
MethodParameters:
Name Flags
ex
}
Signature: <TLeft:Ljava/lang/Object;TRight:Ljava/lang/Object;TLeftEnd:Ljava/lang/Object;TRightEnd:Ljava/lang/Object;R:Ljava/lang/Object;>Ljava/util/concurrent/atomic/AtomicInteger;Lorg/reactivestreams/Subscription;Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$JoinSupport;
SourceFile: "FlowableJoin.java"
NestHost: io.reactivex.internal.operators.flowable.FlowableJoin
InnerClasses:
abstract JoinSupport = io.reactivex.internal.operators.flowable.FlowableGroupJoin$JoinSupport of io.reactivex.internal.operators.flowable.FlowableGroupJoin
final LeftRightEndSubscriber = io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber of io.reactivex.internal.operators.flowable.FlowableGroupJoin
final LeftRightSubscriber = io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightSubscriber of io.reactivex.internal.operators.flowable.FlowableGroupJoin
final JoinSubscription = io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription of io.reactivex.internal.operators.flowable.FlowableJoin