public final class io.reactivex.internal.operators.flowable.FlowableJoin<TLeft, TRight, TLeftEnd, TRightEnd, R> extends io.reactivex.internal.operators.flowable.AbstractFlowableWithUpstream<TLeft, R>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.flowable.FlowableJoin
super_class: io.reactivex.internal.operators.flowable.AbstractFlowableWithUpstream
{
final org.reactivestreams.Publisher<? extends TRight> other;
descriptor: Lorg/reactivestreams/Publisher;
flags: (0x0010) ACC_FINAL
Signature: Lorg/reactivestreams/Publisher<+TTRight;>;
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;>;
public void <init>(io.reactivex.Flowable<TLeft>, org.reactivestreams.Publisher<? extends TRight>, 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: (Lio/reactivex/Flowable;Lorg/reactivestreams/Publisher;Lio/reactivex/functions/Function;Lio/reactivex/functions/Function;Lio/reactivex/functions/BiFunction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokespecial io.reactivex.internal.operators.flowable.AbstractFlowableWithUpstream.<init>:(Lio/reactivex/Flowable;)V
1: aload 0
aload 2
putfield io.reactivex.internal.operators.flowable.FlowableJoin.other:Lorg/reactivestreams/Publisher;
2: aload 0
aload 3
putfield io.reactivex.internal.operators.flowable.FlowableJoin.leftEnd:Lio/reactivex/functions/Function;
3: aload 0
aload 4
putfield io.reactivex.internal.operators.flowable.FlowableJoin.rightEnd:Lio/reactivex/functions/Function;
4: aload 0
aload 5
putfield io.reactivex.internal.operators.flowable.FlowableJoin.resultSelector:Lio/reactivex/functions/BiFunction;
5: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/reactivex/internal/operators/flowable/FlowableJoin<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
0 6 1 source Lio/reactivex/Flowable<TTLeft;>;
0 6 2 other Lorg/reactivestreams/Publisher<+TTRight;>;
0 6 3 leftEnd Lio/reactivex/functions/Function<-TTLeft;+Lorg/reactivestreams/Publisher<TTLeftEnd;>;>;
0 6 4 rightEnd Lio/reactivex/functions/Function<-TTRight;+Lorg/reactivestreams/Publisher<TTRightEnd;>;>;
0 6 5 resultSelector Lio/reactivex/functions/BiFunction<-TTLeft;-TTRight;+TR;>;
Signature: (Lio/reactivex/Flowable<TTLeft;>;Lorg/reactivestreams/Publisher<+TTRight;>;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
source
other
leftEnd
rightEnd
resultSelector
protected void subscribeActual(org.reactivestreams.Subscriber<? super R>);
descriptor: (Lorg/reactivestreams/Subscriber;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: new io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription
dup
aload 1
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin.leftEnd:Lio/reactivex/functions/Function;
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin.rightEnd:Lio/reactivex/functions/Function;
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin.resultSelector:Lio/reactivex/functions/BiFunction;
invokespecial io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.<init>:(Lorg/reactivestreams/Subscriber;Lio/reactivex/functions/Function;Lio/reactivex/functions/Function;Lio/reactivex/functions/BiFunction;)V
1: astore 2
start local 2 2: aload 1
aload 2
invokeinterface org.reactivestreams.Subscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
3: new io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightSubscriber
dup
aload 2
iconst_1
invokespecial io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightSubscriber.<init>:(Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$JoinSupport;Z)V
astore 3
start local 3 4: aload 2
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.disposables:Lio/reactivex/disposables/CompositeDisposable;
aload 3
invokevirtual io.reactivex.disposables.CompositeDisposable.add:(Lio/reactivex/disposables/Disposable;)Z
pop
5: new io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightSubscriber
dup
aload 2
iconst_0
invokespecial io.reactivex.internal.operators.flowable.FlowableGroupJoin$LeftRightSubscriber.<init>:(Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$JoinSupport;Z)V
astore 4
start local 4 6: aload 2
getfield io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription.disposables:Lio/reactivex/disposables/CompositeDisposable;
aload 4
invokevirtual io.reactivex.disposables.CompositeDisposable.add:(Lio/reactivex/disposables/Disposable;)Z
pop
7: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin.source:Lio/reactivex/Flowable;
aload 3
invokevirtual io.reactivex.Flowable.subscribe:(Lio/reactivex/FlowableSubscriber;)V
8: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableJoin.other:Lorg/reactivestreams/Publisher;
aload 4
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
9: return
end local 4 end local 3 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<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
0 10 1 s Lorg/reactivestreams/Subscriber<-TR;>;
2 10 2 parent Lio/reactivex/internal/operators/flowable/FlowableJoin$JoinSubscription<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
4 10 3 left Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightSubscriber;
6 10 4 right Lio/reactivex/internal/operators/flowable/FlowableGroupJoin$LeftRightSubscriber;
Signature: (Lorg/reactivestreams/Subscriber<-TR;>;)V
MethodParameters:
Name Flags
s
}
Signature: <TLeft:Ljava/lang/Object;TRight:Ljava/lang/Object;TLeftEnd:Ljava/lang/Object;TRightEnd:Ljava/lang/Object;R:Ljava/lang/Object;>Lio/reactivex/internal/operators/flowable/AbstractFlowableWithUpstream<TTLeft;TR;>;
SourceFile: "FlowableJoin.java"
NestMembers:
io.reactivex.internal.operators.flowable.FlowableJoin$JoinSubscription
InnerClasses:
abstract JoinSupport = io.reactivex.internal.operators.flowable.FlowableGroupJoin$JoinSupport 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