final class io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription<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.FlowableGroupJoin$GroupJoinSubscription
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, io.reactivex.processors.UnicastProcessor<TRight>> lefts;
descriptor: Ljava/util/Map;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;Lio/reactivex/processors/UnicastProcessor<TTRight;>;>;
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 io.reactivex.Flowable<TRight>, ? extends R> resultSelector;
descriptor: Lio/reactivex/functions/BiFunction;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/functions/BiFunction<-TTLeft;-Lio/reactivex/Flowable<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.FlowableGroupJoin$GroupJoinSubscription.LEFT_VALUE:Ljava/lang/Integer;
1: iconst_2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putstatic io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.RIGHT_VALUE:Ljava/lang/Integer;
2: iconst_3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putstatic io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.LEFT_CLOSE:Ljava/lang/Integer;
3: iconst_4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
putstatic io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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 io.reactivex.Flowable<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.FlowableGroupJoin$GroupJoinSubscription.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.FlowableGroupJoin$GroupJoinSubscription.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.FlowableGroupJoin$GroupJoinSubscription.disposables:Lio/reactivex/disposables/CompositeDisposable;
4: aload 0
new io.reactivex.internal.queue.SpscLinkedArrayQueue
dup
invokestatic io.reactivex.internal.operators.flowable.FlowableGroupJoin.bufferSize:()I
invokespecial io.reactivex.internal.queue.SpscLinkedArrayQueue.<init>:(I)V
putfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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.FlowableGroupJoin$GroupJoinSubscription.lefts:Ljava/util/Map;
6: aload 0
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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.FlowableGroupJoin$GroupJoinSubscription.error:Ljava/util/concurrent/atomic/AtomicReference;
8: aload 0
aload 2
putfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.leftEnd:Lio/reactivex/functions/Function;
9: aload 0
aload 3
putfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.rightEnd:Lio/reactivex/functions/Function;
10: aload 0
aload 4
putfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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.FlowableGroupJoin$GroupJoinSubscription.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/FlowableGroupJoin$GroupJoinSubscription<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;-Lio/reactivex/Flowable<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;-Lio/reactivex/Flowable<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.FlowableGroupJoin$GroupJoinSubscription.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/FlowableGroupJoin$GroupJoinSubscription<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.FlowableGroupJoin$GroupJoinSubscription.cancelled:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.cancelled:Z
3: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.cancelAll:()V
4: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.getAndIncrement:()I
ifne 6
5: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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/FlowableGroupJoin$GroupJoinSubscription<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.FlowableGroupJoin$GroupJoinSubscription.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/FlowableGroupJoin$GroupJoinSubscription<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
void errorAll(org.reactivestreams.Subscriber<?>);
descriptor: (Lorg/reactivestreams/Subscriber;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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.FlowableGroupJoin$GroupJoinSubscription.lefts:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription org.reactivestreams.Subscriber java.lang.Throwable top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.reactivex.processors.UnicastProcessor
astore 3
start local 3 3: aload 3
aload 2
invokevirtual io.reactivex.processors.UnicastProcessor.onError:(Ljava/lang/Throwable;)V
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.lefts:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
6: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.rights:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
7: aload 1
aload 2
invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$GroupJoinSubscription<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
0 9 1 a Lorg/reactivestreams/Subscriber<*>;
1 9 2 ex Ljava/lang/Throwable;
3 4 3 up Lio/reactivex/processors/UnicastProcessor<TTRight;>;
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.FlowableGroupJoin$GroupJoinSubscription.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.FlowableGroupJoin$GroupJoinSubscription.cancelAll:()V
4: aload 0
aload 2
invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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/FlowableGroupJoin$GroupJoinSubscription<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=17, args_size=1
start local 0 0: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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.FlowableGroupJoin$GroupJoinSubscription.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
astore 2
start local 2 4: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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.FlowableGroupJoin$GroupJoinSubscription.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.FlowableGroupJoin$GroupJoinSubscription.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.FlowableGroupJoin$GroupJoinSubscription.cancelAll:()V
12: aload 0
aload 3
invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.errorAll:(Lorg/reactivestreams/Subscriber;)V
13: return
14: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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 31
iload 7
ifeq 31
22: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.lefts:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 9
goto 25
StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber java.lang.Throwable int java.lang.Integer int top java.util.Iterator
StackMap stack:
23: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.reactivex.processors.UnicastProcessor
astore 8
start local 8 24: aload 8
invokevirtual io.reactivex.processors.UnicastProcessor.onComplete:()V
end local 8 25: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
26: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.lefts:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
27: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.rights:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
28: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.disposables:Lio/reactivex/disposables/CompositeDisposable;
invokevirtual io.reactivex.disposables.CompositeDisposable.dispose:()V
29: aload 3
invokeinterface org.reactivestreams.Subscriber.onComplete:()V
30: return
31: StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber java.lang.Throwable int java.lang.Integer int
StackMap stack:
iload 7
ifeq 33
32: goto 104
33: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.poll:()Ljava/lang/Object;
astore 8
start local 8 34: aload 6
getstatic io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.LEFT_VALUE:Ljava/lang/Integer;
if_acmpne 69
35: aload 8
astore 9
start local 9 36: invokestatic io.reactivex.processors.UnicastProcessor.create:()Lio/reactivex/processors/UnicastProcessor;
astore 10
start local 10 37: aload 0
dup
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.leftIndex:I
dup_x1
iconst_1
iadd
putfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.leftIndex:I
istore 11
start local 11 38: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.lefts:Ljava/util/Map;
iload 11
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 10
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
39: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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 12
start local 12 40: goto 44
end local 12 StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber java.lang.Throwable int java.lang.Integer int java.lang.Object java.lang.Object io.reactivex.processors.UnicastProcessor int
StackMap stack: java.lang.Throwable
41: astore 13
start local 13 42: aload 0
aload 13
aload 3
aload 2
invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.fail:(Ljava/lang/Throwable;Lorg/reactivestreams/Subscriber;Lio/reactivex/internal/fuseable/SimpleQueue;)V
43: return
end local 13 start local 12 44: StackMap locals: org.reactivestreams.Publisher
StackMap stack:
new io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber
dup
aload 0
iconst_1
iload 11
invokespecial io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber.<init>:(Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$JoinSupport;ZI)V
astore 13
start local 13 45: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.disposables:Lio/reactivex/disposables/CompositeDisposable;
aload 13
invokevirtual io.reactivex.disposables.CompositeDisposable.add:(Lio/reactivex/disposables/Disposable;)Z
pop
46: aload 12
aload 13
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
47: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.error:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.lang.Throwable
astore 4
48: aload 4
ifnull 53
49: aload 2
invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
50: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.cancelAll:()V
51: aload 0
aload 3
invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.errorAll:(Lorg/reactivestreams/Subscriber;)V
52: return
53: StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.resultSelector:Lio/reactivex/functions/BiFunction;
aload 9
aload 10
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 14
start local 14 54: goto 58
end local 14 StackMap locals:
StackMap stack: java.lang.Throwable
55: astore 15
start local 15 56: aload 0
aload 15
aload 3
aload 2
invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.fail:(Ljava/lang/Throwable;Lorg/reactivestreams/Subscriber;Lio/reactivex/internal/fuseable/SimpleQueue;)V
57: return
end local 15 start local 14 58: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.requested:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lconst_0
lcmp
ifeq 62
59: aload 3
aload 14
invokeinterface org.reactivestreams.Subscriber.onNext:(Ljava/lang/Object;)V
60: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.requested:Ljava/util/concurrent/atomic/AtomicLong;
lconst_1
invokestatic io.reactivex.internal.util.BackpressureHelper.produced:(Ljava/util/concurrent/atomic/AtomicLong;J)J
pop2
61: goto 64
62: StackMap locals:
StackMap stack:
aload 0
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
aload 3
aload 2
invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.fail:(Ljava/lang/Throwable;Lorg/reactivestreams/Subscriber;Lio/reactivex/internal/fuseable/SimpleQueue;)V
63: return
64: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.rights:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 16
goto 67
StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber java.lang.Throwable int java.lang.Integer int java.lang.Object java.lang.Object io.reactivex.processors.UnicastProcessor int org.reactivestreams.Publisher io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber java.lang.Object top java.util.Iterator
StackMap stack:
65: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Object
astore 15
start local 15 66: aload 10
aload 15
invokevirtual io.reactivex.processors.UnicastProcessor.onNext:(Ljava/lang/Object;)V
end local 15 67: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 65
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 68: goto 5
69: StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription 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.FlowableGroupJoin$GroupJoinSubscription.RIGHT_VALUE:Ljava/lang/Integer;
if_acmpne 92
70: aload 8
astore 9
start local 9 71: aload 0
dup
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.rightIndex:I
dup_x1
iconst_1
iadd
putfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.rightIndex:I
istore 10
start local 10 72: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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
73: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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 74: goto 78
end local 11 StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription 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
75: astore 12
start local 12 76: aload 0
aload 12
aload 3
aload 2
invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.fail:(Ljava/lang/Throwable;Lorg/reactivestreams/Subscriber;Lio/reactivex/internal/fuseable/SimpleQueue;)V
77: return
end local 12 start local 11 78: 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 79: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.disposables:Lio/reactivex/disposables/CompositeDisposable;
aload 12
invokevirtual io.reactivex.disposables.CompositeDisposable.add:(Lio/reactivex/disposables/Disposable;)Z
pop
80: aload 11
aload 12
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
81: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.error:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.lang.Throwable
astore 4
82: aload 4
ifnull 87
83: aload 2
invokevirtual io.reactivex.internal.queue.SpscLinkedArrayQueue.clear:()V
84: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.cancelAll:()V
85: aload 0
aload 3
invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.errorAll:(Lorg/reactivestreams/Subscriber;)V
86: return
87: StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.lefts:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 14
goto 90
StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription 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 top java.util.Iterator
StackMap stack:
88: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.reactivex.processors.UnicastProcessor
astore 13
start local 13 89: aload 13
aload 9
invokevirtual io.reactivex.processors.UnicastProcessor.onNext:(Ljava/lang/Object;)V
end local 13 90: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 88
end local 12 end local 11 end local 10 end local 9 91: goto 5
92: StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription 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.FlowableGroupJoin$GroupJoinSubscription.LEFT_CLOSE:Ljava/lang/Integer;
if_acmpne 99
93: aload 8
checkcast io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber
astore 9
start local 9 94: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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;
checkcast io.reactivex.processors.UnicastProcessor
astore 10
start local 10 95: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.disposables:Lio/reactivex/disposables/CompositeDisposable;
aload 9
invokevirtual io.reactivex.disposables.CompositeDisposable.remove:(Lio/reactivex/disposables/Disposable;)Z
pop
96: aload 10
ifnull 5
97: aload 10
invokevirtual io.reactivex.processors.UnicastProcessor.onComplete:()V
end local 10 end local 9 98: goto 5
99: StackMap locals:
StackMap stack:
aload 6
getstatic io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.RIGHT_CLOSE:Ljava/lang/Integer;
if_acmpne 5
100: aload 8
checkcast io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber
astore 9
start local 9 101: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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
102: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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 103: goto 5
104: StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription int io.reactivex.internal.queue.SpscLinkedArrayQueue org.reactivestreams.Subscriber
StackMap stack:
aload 0
iload 1
ineg
invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.addAndGet:(I)I
istore 1
105: iload 1
ifne 5
106: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 107 0 this Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$GroupJoinSubscription<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
3 107 1 missed I
4 107 2 q Lio/reactivex/internal/queue/SpscLinkedArrayQueue<Ljava/lang/Object;>;
5 107 3 a Lorg/reactivestreams/Subscriber<-TR;>;
9 103 4 ex Ljava/lang/Throwable;
17 103 5 d Z
18 103 6 mode Ljava/lang/Integer;
21 103 7 empty Z
24 25 8 up Lio/reactivex/processors/UnicastProcessor<*>;
34 103 8 val Ljava/lang/Object;
36 68 9 left TTLeft;
37 68 10 up Lio/reactivex/processors/UnicastProcessor<TTRight;>;
38 68 11 idx I
40 41 12 p Lorg/reactivestreams/Publisher<TTLeftEnd;>;
44 68 12 p Lorg/reactivestreams/Publisher<TTLeftEnd;>;
42 44 13 exc Ljava/lang/Throwable;
45 68 13 end Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightEndSubscriber;
54 55 14 w TR;
58 68 14 w TR;
56 58 15 exc Ljava/lang/Throwable;
66 67 15 right TTRight;
71 91 9 right TTRight;
72 91 10 idx I
74 75 11 p Lorg/reactivestreams/Publisher<TTRightEnd;>;
78 91 11 p Lorg/reactivestreams/Publisher<TTRightEnd;>;
76 78 12 exc Ljava/lang/Throwable;
79 91 12 end Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightEndSubscriber;
89 90 13 up Lio/reactivex/processors/UnicastProcessor<TTRight;>;
94 98 9 end Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightEndSubscriber;
95 98 10 up Lio/reactivex/processors/UnicastProcessor<TTRight;>;
101 103 9 end Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightEndSubscriber;
Exception table:
from to target type
39 40 41 Class java.lang.Throwable
53 54 55 Class java.lang.Throwable
73 74 75 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.FlowableGroupJoin$GroupJoinSubscription.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.FlowableGroupJoin$GroupJoinSubscription.active:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
2: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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/FlowableGroupJoin$GroupJoinSubscription<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.FlowableGroupJoin$GroupJoinSubscription.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.FlowableGroupJoin$GroupJoinSubscription.active:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
2: aload 0
invokevirtual io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.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/FlowableGroupJoin$GroupJoinSubscription<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.FlowableGroupJoin$GroupJoinSubscription.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
iload 1
ifeq 2
getstatic io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.LEFT_VALUE:Ljava/lang/Integer;
goto 3
StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription int java.lang.Object io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription
StackMap stack: io.reactivex.internal.queue.SpscLinkedArrayQueue
2: getstatic io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.RIGHT_VALUE:Ljava/lang/Integer;
StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription int java.lang.Object io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription
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.FlowableGroupJoin$GroupJoinSubscription.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/FlowableGroupJoin$GroupJoinSubscription<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.FlowableGroupJoin$GroupJoinSubscription.queue:Lio/reactivex/internal/queue/SpscLinkedArrayQueue;
iload 1
ifeq 2
getstatic io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.LEFT_CLOSE:Ljava/lang/Integer;
goto 3
StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription int io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription
StackMap stack: io.reactivex.internal.queue.SpscLinkedArrayQueue
2: getstatic io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription.RIGHT_CLOSE:Ljava/lang/Integer;
StackMap locals: io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription int io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightEndSubscriber io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription
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.FlowableGroupJoin$GroupJoinSubscription.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/FlowableGroupJoin$GroupJoinSubscription<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.FlowableGroupJoin$GroupJoinSubscription.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.FlowableGroupJoin$GroupJoinSubscription.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/FlowableGroupJoin$GroupJoinSubscription<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: "FlowableGroupJoin.java"
NestHost: io.reactivex.internal.operators.flowable.FlowableGroupJoin
InnerClasses:
final GroupJoinSubscription = io.reactivex.internal.operators.flowable.FlowableGroupJoin$GroupJoinSubscription of io.reactivex.internal.operators.flowable.FlowableGroupJoin
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