public final class io.reactivex.internal.operators.observable.ObservableDistinct<T, K> extends io.reactivex.internal.operators.observable.AbstractObservableWithUpstream<T, T>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.observable.ObservableDistinct
super_class: io.reactivex.internal.operators.observable.AbstractObservableWithUpstream
{
final io.reactivex.functions.Function<? super T, K> keySelector;
descriptor: Lio/reactivex/functions/Function;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/functions/Function<-TT;TK;>;
final java.util.concurrent.Callable<? extends java.util.Collection<? super K>> collectionSupplier;
descriptor: Ljava/util/concurrent/Callable;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/concurrent/Callable<+Ljava/util/Collection<-TK;>;>;
public void <init>(io.reactivex.ObservableSource<T>, io.reactivex.functions.Function<? super T, K>, java.util.concurrent.Callable<? extends java.util.Collection<? super K>>);
descriptor: (Lio/reactivex/ObservableSource;Lio/reactivex/functions/Function;Ljava/util/concurrent/Callable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 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.ObservableDistinct.keySelector:Lio/reactivex/functions/Function;
2: aload 0
aload 3
putfield io.reactivex.internal.operators.observable.ObservableDistinct.collectionSupplier:Ljava/util/concurrent/Callable;
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/reactivex/internal/operators/observable/ObservableDistinct<TT;TK;>;
0 4 1 source Lio/reactivex/ObservableSource<TT;>;
0 4 2 keySelector Lio/reactivex/functions/Function<-TT;TK;>;
0 4 3 collectionSupplier Ljava/util/concurrent/Callable<+Ljava/util/Collection<-TK;>;>;
Signature: (Lio/reactivex/ObservableSource<TT;>;Lio/reactivex/functions/Function<-TT;TK;>;Ljava/util/concurrent/Callable<+Ljava/util/Collection<-TK;>;>;)V
MethodParameters:
Name Flags
source
keySelector
collectionSupplier
protected void subscribeActual(io.reactivex.Observer<? super T>);
descriptor: (Lio/reactivex/Observer;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.internal.operators.observable.ObservableDistinct.collectionSupplier:Ljava/util/concurrent/Callable;
invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
checkcast java.util.Collection
ldc "The collectionSupplier returned a null collection. Null values are generally not allowed in 2.x operators and sources."
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast java.util.Collection
astore 2
start local 2 1: goto 6
end local 2 StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 3
start local 3 3: aload 3
invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
4: aload 3
aload 1
invokestatic io.reactivex.internal.disposables.EmptyDisposable.error:(Ljava/lang/Throwable;Lio/reactivex/Observer;)V
5: return
end local 3 start local 2 6: StackMap locals: java.util.Collection
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.observable.ObservableDistinct.source:Lio/reactivex/ObservableSource;
new io.reactivex.internal.operators.observable.ObservableDistinct$DistinctObserver
dup
aload 1
aload 0
getfield io.reactivex.internal.operators.observable.ObservableDistinct.keySelector:Lio/reactivex/functions/Function;
aload 2
invokespecial io.reactivex.internal.operators.observable.ObservableDistinct$DistinctObserver.<init>:(Lio/reactivex/Observer;Lio/reactivex/functions/Function;Ljava/util/Collection;)V
invokeinterface io.reactivex.ObservableSource.subscribe:(Lio/reactivex/Observer;)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/reactivex/internal/operators/observable/ObservableDistinct<TT;TK;>;
0 8 1 observer Lio/reactivex/Observer<-TT;>;
1 2 2 collection Ljava/util/Collection<-TK;>;
6 8 2 collection Ljava/util/Collection<-TK;>;
3 6 3 ex Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
Signature: (Lio/reactivex/Observer<-TT;>;)V
MethodParameters:
Name Flags
observer
}
Signature: <T:Ljava/lang/Object;K:Ljava/lang/Object;>Lio/reactivex/internal/operators/observable/AbstractObservableWithUpstream<TT;TT;>;
SourceFile: "ObservableDistinct.java"
NestMembers:
io.reactivex.internal.operators.observable.ObservableDistinct$DistinctObserver
InnerClasses:
final DistinctObserver = io.reactivex.internal.operators.observable.ObservableDistinct$DistinctObserver of io.reactivex.internal.operators.observable.ObservableDistinct