public final class io.reactivex.internal.operators.observable.ObservableJoin<TLeft, TRight, TLeftEnd, TRightEnd, R> extends io.reactivex.internal.operators.observable.AbstractObservableWithUpstream<TLeft, R>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.observable.ObservableJoin
super_class: io.reactivex.internal.operators.observable.AbstractObservableWithUpstream
{
final io.reactivex.ObservableSource<? extends TRight> other;
descriptor: Lio/reactivex/ObservableSource;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/ObservableSource<+TTRight;>;
final io.reactivex.functions.Function<? super TLeft, ? extends io.reactivex.ObservableSource<TLeftEnd>> leftEnd;
descriptor: Lio/reactivex/functions/Function;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/functions/Function<-TTLeft;+Lio/reactivex/ObservableSource<TTLeftEnd;>;>;
final io.reactivex.functions.Function<? super TRight, ? extends io.reactivex.ObservableSource<TRightEnd>> rightEnd;
descriptor: Lio/reactivex/functions/Function;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/functions/Function<-TTRight;+Lio/reactivex/ObservableSource<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.ObservableSource<TLeft>, io.reactivex.ObservableSource<? extends TRight>, io.reactivex.functions.Function<? super TLeft, ? extends io.reactivex.ObservableSource<TLeftEnd>>, io.reactivex.functions.Function<? super TRight, ? extends io.reactivex.ObservableSource<TRightEnd>>, io.reactivex.functions.BiFunction<? super TLeft, ? super TRight, ? extends R>);
descriptor: (Lio/reactivex/ObservableSource;Lio/reactivex/ObservableSource;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.observable.AbstractObservableWithUpstream.<init>:(Lio/reactivex/ObservableSource;)V
1: aload 0
aload 2
putfield io.reactivex.internal.operators.observable.ObservableJoin.other:Lio/reactivex/ObservableSource;
2: aload 0
aload 3
putfield io.reactivex.internal.operators.observable.ObservableJoin.leftEnd:Lio/reactivex/functions/Function;
3: aload 0
aload 4
putfield io.reactivex.internal.operators.observable.ObservableJoin.rightEnd:Lio/reactivex/functions/Function;
4: aload 0
aload 5
putfield io.reactivex.internal.operators.observable.ObservableJoin.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/observable/ObservableJoin<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
0 6 1 source Lio/reactivex/ObservableSource<TTLeft;>;
0 6 2 other Lio/reactivex/ObservableSource<+TTRight;>;
0 6 3 leftEnd Lio/reactivex/functions/Function<-TTLeft;+Lio/reactivex/ObservableSource<TTLeftEnd;>;>;
0 6 4 rightEnd Lio/reactivex/functions/Function<-TTRight;+Lio/reactivex/ObservableSource<TTRightEnd;>;>;
0 6 5 resultSelector Lio/reactivex/functions/BiFunction<-TTLeft;-TTRight;+TR;>;
Signature: (Lio/reactivex/ObservableSource<TTLeft;>;Lio/reactivex/ObservableSource<+TTRight;>;Lio/reactivex/functions/Function<-TTLeft;+Lio/reactivex/ObservableSource<TTLeftEnd;>;>;Lio/reactivex/functions/Function<-TTRight;+Lio/reactivex/ObservableSource<TTRightEnd;>;>;Lio/reactivex/functions/BiFunction<-TTLeft;-TTRight;+TR;>;)V
MethodParameters:
Name Flags
source
other
leftEnd
rightEnd
resultSelector
protected void subscribeActual(io.reactivex.Observer<? super R>);
descriptor: (Lio/reactivex/Observer;)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.observable.ObservableJoin$JoinDisposable
dup
1: aload 1
aload 0
getfield io.reactivex.internal.operators.observable.ObservableJoin.leftEnd:Lio/reactivex/functions/Function;
aload 0
getfield io.reactivex.internal.operators.observable.ObservableJoin.rightEnd:Lio/reactivex/functions/Function;
aload 0
getfield io.reactivex.internal.operators.observable.ObservableJoin.resultSelector:Lio/reactivex/functions/BiFunction;
2: invokespecial io.reactivex.internal.operators.observable.ObservableJoin$JoinDisposable.<init>:(Lio/reactivex/Observer;Lio/reactivex/functions/Function;Lio/reactivex/functions/Function;Lio/reactivex/functions/BiFunction;)V
3: astore 2
start local 2 4: aload 1
aload 2
invokeinterface io.reactivex.Observer.onSubscribe:(Lio/reactivex/disposables/Disposable;)V
5: new io.reactivex.internal.operators.observable.ObservableGroupJoin$LeftRightObserver
dup
aload 2
iconst_1
invokespecial io.reactivex.internal.operators.observable.ObservableGroupJoin$LeftRightObserver.<init>:(Lio/reactivex/internal/operators/observable/ObservableGroupJoin$JoinSupport;Z)V
astore 3
start local 3 6: aload 2
getfield io.reactivex.internal.operators.observable.ObservableJoin$JoinDisposable.disposables:Lio/reactivex/disposables/CompositeDisposable;
aload 3
invokevirtual io.reactivex.disposables.CompositeDisposable.add:(Lio/reactivex/disposables/Disposable;)Z
pop
7: new io.reactivex.internal.operators.observable.ObservableGroupJoin$LeftRightObserver
dup
aload 2
iconst_0
invokespecial io.reactivex.internal.operators.observable.ObservableGroupJoin$LeftRightObserver.<init>:(Lio/reactivex/internal/operators/observable/ObservableGroupJoin$JoinSupport;Z)V
astore 4
start local 4 8: aload 2
getfield io.reactivex.internal.operators.observable.ObservableJoin$JoinDisposable.disposables:Lio/reactivex/disposables/CompositeDisposable;
aload 4
invokevirtual io.reactivex.disposables.CompositeDisposable.add:(Lio/reactivex/disposables/Disposable;)Z
pop
9: aload 0
getfield io.reactivex.internal.operators.observable.ObservableJoin.source:Lio/reactivex/ObservableSource;
aload 3
invokeinterface io.reactivex.ObservableSource.subscribe:(Lio/reactivex/Observer;)V
10: aload 0
getfield io.reactivex.internal.operators.observable.ObservableJoin.other:Lio/reactivex/ObservableSource;
aload 4
invokeinterface io.reactivex.ObservableSource.subscribe:(Lio/reactivex/Observer;)V
11: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/reactivex/internal/operators/observable/ObservableJoin<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
0 12 1 observer Lio/reactivex/Observer<-TR;>;
4 12 2 parent Lio/reactivex/internal/operators/observable/ObservableJoin$JoinDisposable<TTLeft;TTRight;TTLeftEnd;TTRightEnd;TR;>;
6 12 3 left Lio/reactivex/internal/operators/observable/ObservableGroupJoin$LeftRightObserver;
8 12 4 right Lio/reactivex/internal/operators/observable/ObservableGroupJoin$LeftRightObserver;
Signature: (Lio/reactivex/Observer<-TR;>;)V
MethodParameters:
Name Flags
observer
}
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/observable/AbstractObservableWithUpstream<TTLeft;TR;>;
SourceFile: "ObservableJoin.java"
NestMembers:
io.reactivex.internal.operators.observable.ObservableJoin$JoinDisposable
InnerClasses:
abstract JoinSupport = io.reactivex.internal.operators.observable.ObservableGroupJoin$JoinSupport of io.reactivex.internal.operators.observable.ObservableGroupJoin
final LeftRightObserver = io.reactivex.internal.operators.observable.ObservableGroupJoin$LeftRightObserver of io.reactivex.internal.operators.observable.ObservableGroupJoin
final JoinDisposable = io.reactivex.internal.operators.observable.ObservableJoin$JoinDisposable of io.reactivex.internal.operators.observable.ObservableJoin