public final class io.reactivex.internal.operators.observable.ObservablePublishSelector<T, R> extends io.reactivex.internal.operators.observable.AbstractObservableWithUpstream<T, R>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.observable.ObservablePublishSelector
super_class: io.reactivex.internal.operators.observable.AbstractObservableWithUpstream
{
final io.reactivex.functions.Function<? super io.reactivex.Observable<T>, ? extends io.reactivex.ObservableSource<R>> selector;
descriptor: Lio/reactivex/functions/Function;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/functions/Function<-Lio/reactivex/Observable<TT;>;+Lio/reactivex/ObservableSource<TR;>;>;
public void <init>(io.reactivex.ObservableSource<T>, io.reactivex.functions.Function<? super io.reactivex.Observable<T>, ? extends io.reactivex.ObservableSource<R>>);
descriptor: (Lio/reactivex/ObservableSource;Lio/reactivex/functions/Function;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 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.ObservablePublishSelector.selector:Lio/reactivex/functions/Function;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/reactivex/internal/operators/observable/ObservablePublishSelector<TT;TR;>;
0 3 1 source Lio/reactivex/ObservableSource<TT;>;
0 3 2 selector Lio/reactivex/functions/Function<-Lio/reactivex/Observable<TT;>;+Lio/reactivex/ObservableSource<TR;>;>;
Signature: (Lio/reactivex/ObservableSource<TT;>;Lio/reactivex/functions/Function<-Lio/reactivex/Observable<TT;>;+Lio/reactivex/ObservableSource<TR;>;>;)V
MethodParameters:
Name Flags
source final
selector final
protected void subscribeActual(io.reactivex.Observer<? super R>);
descriptor: (Lio/reactivex/Observer;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: invokestatic io.reactivex.subjects.PublishSubject.create:()Lio/reactivex/subjects/PublishSubject;
astore 2
start local 2 1: aload 0
getfield io.reactivex.internal.operators.observable.ObservablePublishSelector.selector:Lio/reactivex/functions/Function;
aload 2
invokeinterface io.reactivex.functions.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.reactivex.ObservableSource
ldc "The selector returned a null ObservableSource"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast io.reactivex.ObservableSource
astore 3
start local 3 2: goto 7
end local 3 StackMap locals: io.reactivex.internal.operators.observable.ObservablePublishSelector io.reactivex.Observer io.reactivex.subjects.PublishSubject
StackMap stack: java.lang.Throwable
3: astore 4
start local 4 4: aload 4
invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
5: aload 4
aload 1
invokestatic io.reactivex.internal.disposables.EmptyDisposable.error:(Ljava/lang/Throwable;Lio/reactivex/Observer;)V
6: return
end local 4 start local 3 7: StackMap locals: io.reactivex.ObservableSource
StackMap stack:
new io.reactivex.internal.operators.observable.ObservablePublishSelector$TargetObserver
dup
aload 1
invokespecial io.reactivex.internal.operators.observable.ObservablePublishSelector$TargetObserver.<init>:(Lio/reactivex/Observer;)V
astore 4
start local 4 8: aload 3
aload 4
invokeinterface io.reactivex.ObservableSource.subscribe:(Lio/reactivex/Observer;)V
9: aload 0
getfield io.reactivex.internal.operators.observable.ObservablePublishSelector.source:Lio/reactivex/ObservableSource;
new io.reactivex.internal.operators.observable.ObservablePublishSelector$SourceObserver
dup
aload 2
aload 4
invokespecial io.reactivex.internal.operators.observable.ObservablePublishSelector$SourceObserver.<init>:(Lio/reactivex/subjects/PublishSubject;Ljava/util/concurrent/atomic/AtomicReference;)V
invokeinterface io.reactivex.ObservableSource.subscribe:(Lio/reactivex/Observer;)V
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/reactivex/internal/operators/observable/ObservablePublishSelector<TT;TR;>;
0 11 1 observer Lio/reactivex/Observer<-TR;>;
1 11 2 subject Lio/reactivex/subjects/PublishSubject<TT;>;
2 3 3 target Lio/reactivex/ObservableSource<+TR;>;
7 11 3 target Lio/reactivex/ObservableSource<+TR;>;
4 7 4 ex Ljava/lang/Throwable;
8 11 4 o Lio/reactivex/internal/operators/observable/ObservablePublishSelector$TargetObserver<TT;TR;>;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
Signature: (Lio/reactivex/Observer<-TR;>;)V
MethodParameters:
Name Flags
observer
}
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>Lio/reactivex/internal/operators/observable/AbstractObservableWithUpstream<TT;TR;>;
SourceFile: "ObservablePublishSelector.java"
NestMembers:
io.reactivex.internal.operators.observable.ObservablePublishSelector$SourceObserver io.reactivex.internal.operators.observable.ObservablePublishSelector$TargetObserver
InnerClasses:
final SourceObserver = io.reactivex.internal.operators.observable.ObservablePublishSelector$SourceObserver of io.reactivex.internal.operators.observable.ObservablePublishSelector
final TargetObserver = io.reactivex.internal.operators.observable.ObservablePublishSelector$TargetObserver of io.reactivex.internal.operators.observable.ObservablePublishSelector