public final class io.reactivex.internal.operators.flowable.FlowableGroupBy<T, K, V> extends io.reactivex.internal.operators.flowable.AbstractFlowableWithUpstream<T, io.reactivex.flowables.GroupedFlowable<K, V>>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.flowable.FlowableGroupBy
super_class: io.reactivex.internal.operators.flowable.AbstractFlowableWithUpstream
{
final io.reactivex.functions.Function<? super T, ? extends K> keySelector;
descriptor: Lio/reactivex/functions/Function;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/functions/Function<-TT;+TK;>;
final io.reactivex.functions.Function<? super T, ? extends V> valueSelector;
descriptor: Lio/reactivex/functions/Function;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/functions/Function<-TT;+TV;>;
final int bufferSize;
descriptor: I
flags: (0x0010) ACC_FINAL
final boolean delayError;
descriptor: Z
flags: (0x0010) ACC_FINAL
final io.reactivex.functions.Function<? super io.reactivex.functions.Consumer<java.lang.Object>, ? extends java.util.Map<K, java.lang.Object>> mapFactory;
descriptor: Lio/reactivex/functions/Function;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/functions/Function<-Lio/reactivex/functions/Consumer<Ljava/lang/Object;>;+Ljava/util/Map<TK;Ljava/lang/Object;>;>;
public void <init>(io.reactivex.Flowable<T>, io.reactivex.functions.Function<? super T, ? extends K>, io.reactivex.functions.Function<? super T, ? extends V>, int, boolean, io.reactivex.functions.Function<? super io.reactivex.functions.Consumer<java.lang.Object>, ? extends java.util.Map<K, java.lang.Object>>);
descriptor: (Lio/reactivex/Flowable;Lio/reactivex/functions/Function;Lio/reactivex/functions/Function;IZLio/reactivex/functions/Function;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 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.FlowableGroupBy.keySelector:Lio/reactivex/functions/Function;
2: aload 0
aload 3
putfield io.reactivex.internal.operators.flowable.FlowableGroupBy.valueSelector:Lio/reactivex/functions/Function;
3: aload 0
iload 4
putfield io.reactivex.internal.operators.flowable.FlowableGroupBy.bufferSize:I
4: aload 0
iload 5
putfield io.reactivex.internal.operators.flowable.FlowableGroupBy.delayError:Z
5: aload 0
aload 6
putfield io.reactivex.internal.operators.flowable.FlowableGroupBy.mapFactory:Lio/reactivex/functions/Function;
6: return
end local 6 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 7 0 this Lio/reactivex/internal/operators/flowable/FlowableGroupBy<TT;TK;TV;>;
0 7 1 source Lio/reactivex/Flowable<TT;>;
0 7 2 keySelector Lio/reactivex/functions/Function<-TT;+TK;>;
0 7 3 valueSelector Lio/reactivex/functions/Function<-TT;+TV;>;
0 7 4 bufferSize I
0 7 5 delayError Z
0 7 6 mapFactory Lio/reactivex/functions/Function<-Lio/reactivex/functions/Consumer<Ljava/lang/Object;>;+Ljava/util/Map<TK;Ljava/lang/Object;>;>;
Signature: (Lio/reactivex/Flowable<TT;>;Lio/reactivex/functions/Function<-TT;+TK;>;Lio/reactivex/functions/Function<-TT;+TV;>;IZLio/reactivex/functions/Function<-Lio/reactivex/functions/Consumer<Ljava/lang/Object;>;+Ljava/util/Map<TK;Ljava/lang/Object;>;>;)V
MethodParameters:
Name Flags
source
keySelector
valueSelector
bufferSize
delayError
mapFactory
protected void subscribeActual(org.reactivestreams.Subscriber<? super io.reactivex.flowables.GroupedFlowable<K, V>>);
descriptor: (Lorg/reactivestreams/Subscriber;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupBy.mapFactory:Lio/reactivex/functions/Function;
ifnonnull 4
1: aconst_null
astore 3
start local 3 2: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
astore 2
start local 2 3: goto 13
end local 3 end local 2 4: StackMap locals:
StackMap stack:
new java.util.concurrent.ConcurrentLinkedQueue
dup
invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
astore 3
start local 3 5: new io.reactivex.internal.operators.flowable.FlowableGroupBy$EvictionAction
dup
aload 3
invokespecial io.reactivex.internal.operators.flowable.FlowableGroupBy$EvictionAction.<init>:(Ljava/util/Queue;)V
astore 4
start local 4 6: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupBy.mapFactory:Lio/reactivex/functions/Function;
aload 4
invokeinterface io.reactivex.functions.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
astore 2
end local 4 start local 2 7: goto 13
end local 3 end local 2 StackMap locals:
StackMap stack: java.lang.Exception
8: astore 4
start local 4 9: aload 4
invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
10: aload 1
getstatic io.reactivex.internal.util.EmptyComponent.INSTANCE:Lio/reactivex/internal/util/EmptyComponent;
invokeinterface org.reactivestreams.Subscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
11: aload 1
aload 4
invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
12: return
end local 4 start local 2 start local 3 13: StackMap locals: java.util.Map java.util.Queue
StackMap stack:
new io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber
dup
aload 1
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupBy.keySelector:Lio/reactivex/functions/Function;
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupBy.valueSelector:Lio/reactivex/functions/Function;
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupBy.bufferSize:I
aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupBy.delayError:Z
aload 2
aload 3
invokespecial io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.<init>:(Lorg/reactivestreams/Subscriber;Lio/reactivex/functions/Function;Lio/reactivex/functions/Function;IZLjava/util/Map;Ljava/util/Queue;)V
14: astore 4
start local 4 15: aload 0
getfield io.reactivex.internal.operators.flowable.FlowableGroupBy.source:Lio/reactivex/Flowable;
aload 4
invokevirtual io.reactivex.Flowable.subscribe:(Lio/reactivex/FlowableSubscriber;)V
16: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lio/reactivex/internal/operators/flowable/FlowableGroupBy<TT;TK;TV;>;
0 17 1 s Lorg/reactivestreams/Subscriber<-Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;>;
3 4 2 groups Ljava/util/Map<Ljava/lang/Object;Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;
7 8 2 groups Ljava/util/Map<Ljava/lang/Object;Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;
13 17 2 groups Ljava/util/Map<Ljava/lang/Object;Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;
2 4 3 evictedGroups Ljava/util/Queue<Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;
5 8 3 evictedGroups Ljava/util/Queue<Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;
13 17 3 evictedGroups Ljava/util/Queue<Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;
6 7 4 evictionAction Lio/reactivex/functions/Consumer<Ljava/lang/Object;>;
9 13 4 e Ljava/lang/Exception;
15 17 4 subscriber Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;
Exception table:
from to target type
0 7 8 Class java.lang.Exception
Signature: (Lorg/reactivestreams/Subscriber<-Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;>;)V
MethodParameters:
Name Flags
s
}
Signature: <T:Ljava/lang/Object;K:Ljava/lang/Object;V:Ljava/lang/Object;>Lio/reactivex/internal/operators/flowable/AbstractFlowableWithUpstream<TT;Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;>;
SourceFile: "FlowableGroupBy.java"
NestMembers:
io.reactivex.internal.operators.flowable.FlowableGroupBy$EvictionAction io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast io.reactivex.internal.operators.flowable.FlowableGroupBy$State
InnerClasses:
final EvictionAction = io.reactivex.internal.operators.flowable.FlowableGroupBy$EvictionAction of io.reactivex.internal.operators.flowable.FlowableGroupBy
public final GroupBySubscriber = io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber of io.reactivex.internal.operators.flowable.FlowableGroupBy
final GroupedUnicast = io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast of io.reactivex.internal.operators.flowable.FlowableGroupBy
final State = io.reactivex.internal.operators.flowable.FlowableGroupBy$State of io.reactivex.internal.operators.flowable.FlowableGroupBy