public final class io.reactivex.internal.operators.parallel.ParallelReduce<T, R> extends io.reactivex.parallel.ParallelFlowable<R>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.parallel.ParallelReduce
super_class: io.reactivex.parallel.ParallelFlowable
{
final io.reactivex.parallel.ParallelFlowable<? extends T> source;
descriptor: Lio/reactivex/parallel/ParallelFlowable;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/parallel/ParallelFlowable<+TT;>;
final java.util.concurrent.Callable<R> initialSupplier;
descriptor: Ljava/util/concurrent/Callable;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/concurrent/Callable<TR;>;
final io.reactivex.functions.BiFunction<R, ? super T, R> reducer;
descriptor: Lio/reactivex/functions/BiFunction;
flags: (0x0010) ACC_FINAL
Signature: Lio/reactivex/functions/BiFunction<TR;-TT;TR;>;
public void <init>(io.reactivex.parallel.ParallelFlowable<? extends T>, java.util.concurrent.Callable<R>, io.reactivex.functions.BiFunction<R, ? super T, R>);
descriptor: (Lio/reactivex/parallel/ParallelFlowable;Ljava/util/concurrent/Callable;Lio/reactivex/functions/BiFunction;)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
invokespecial io.reactivex.parallel.ParallelFlowable.<init>:()V
1: aload 0
aload 1
putfield io.reactivex.internal.operators.parallel.ParallelReduce.source:Lio/reactivex/parallel/ParallelFlowable;
2: aload 0
aload 2
putfield io.reactivex.internal.operators.parallel.ParallelReduce.initialSupplier:Ljava/util/concurrent/Callable;
3: aload 0
aload 3
putfield io.reactivex.internal.operators.parallel.ParallelReduce.reducer:Lio/reactivex/functions/BiFunction;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/reactivex/internal/operators/parallel/ParallelReduce<TT;TR;>;
0 5 1 source Lio/reactivex/parallel/ParallelFlowable<+TT;>;
0 5 2 initialSupplier Ljava/util/concurrent/Callable<TR;>;
0 5 3 reducer Lio/reactivex/functions/BiFunction<TR;-TT;TR;>;
Signature: (Lio/reactivex/parallel/ParallelFlowable<+TT;>;Ljava/util/concurrent/Callable<TR;>;Lio/reactivex/functions/BiFunction<TR;-TT;TR;>;)V
MethodParameters:
Name Flags
source
initialSupplier
reducer
public void subscribe(org.reactivestreams.Subscriber<? super R>[]);
descriptor: ([Lorg/reactivestreams/Subscriber;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.reactivex.internal.operators.parallel.ParallelReduce.validate:([Lorg/reactivestreams/Subscriber;)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
arraylength
istore 2
start local 2 3: iload 2
anewarray org.reactivestreams.Subscriber
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 14
6: StackMap locals: int org.reactivestreams.Subscriber[] int
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelReduce.initialSupplier:Ljava/util/concurrent/Callable;
invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
ldc "The initialSupplier returned a null value"
invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 5
start local 5 7: goto 12
end local 5 StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 6
start local 6 9: aload 6
invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
10: aload 0
aload 1
aload 6
invokevirtual io.reactivex.internal.operators.parallel.ParallelReduce.reportError:([Lorg/reactivestreams/Subscriber;Ljava/lang/Throwable;)V
11: return
end local 6 start local 5 12: StackMap locals: java.lang.Object
StackMap stack:
aload 3
iload 4
new io.reactivex.internal.operators.parallel.ParallelReduce$ParallelReduceSubscriber
dup
aload 1
iload 4
aaload
aload 5
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelReduce.reducer:Lio/reactivex/functions/BiFunction;
invokespecial io.reactivex.internal.operators.parallel.ParallelReduce$ParallelReduceSubscriber.<init>:(Lorg/reactivestreams/Subscriber;Ljava/lang/Object;Lio/reactivex/functions/BiFunction;)V
aastore
end local 5 13: iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 2
if_icmplt 6
end local 4 15: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelReduce.source:Lio/reactivex/parallel/ParallelFlowable;
aload 3
invokevirtual io.reactivex.parallel.ParallelFlowable.subscribe:([Lorg/reactivestreams/Subscriber;)V
16: return
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/parallel/ParallelReduce<TT;TR;>;
0 17 1 subscribers [Lorg/reactivestreams/Subscriber;
3 17 2 n I
4 17 3 parents [Lorg/reactivestreams/Subscriber;
5 15 4 i I
7 8 5 initialValue TR;
12 13 5 initialValue TR;
9 12 6 ex Ljava/lang/Throwable;
Exception table:
from to target type
6 7 8 Class java.lang.Throwable
Signature: ([Lorg/reactivestreams/Subscriber<-TR;>;)V
MethodParameters:
Name Flags
subscribers
void reportError(org.reactivestreams.Subscriber<?>[], java.lang.Throwable);
descriptor: ([Lorg/reactivestreams/Subscriber;Ljava/lang/Throwable;)V
flags: (0x0000)
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 4
StackMap locals: io.reactivex.internal.operators.parallel.ParallelReduce org.reactivestreams.Subscriber[] java.lang.Throwable top int int org.reactivestreams.Subscriber[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 2
aload 3
invokestatic io.reactivex.internal.subscriptions.EmptySubscription.error:(Ljava/lang/Throwable;Lorg/reactivestreams/Subscriber;)V
end local 3 3: iinc 4 1
StackMap locals:
StackMap stack:
4: iload 4
iload 5
if_icmplt 1
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/reactivex/internal/operators/parallel/ParallelReduce<TT;TR;>;
0 6 1 subscribers [Lorg/reactivestreams/Subscriber;
0 6 2 ex Ljava/lang/Throwable;
2 3 3 s Lorg/reactivestreams/Subscriber<*>;
Signature: ([Lorg/reactivestreams/Subscriber<*>;Ljava/lang/Throwable;)V
MethodParameters:
Name Flags
subscribers
ex
public int parallelism();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelReduce.source:Lio/reactivex/parallel/ParallelFlowable;
invokevirtual io.reactivex.parallel.ParallelFlowable.parallelism:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/reactivex/internal/operators/parallel/ParallelReduce<TT;TR;>;
}
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>Lio/reactivex/parallel/ParallelFlowable<TR;>;
SourceFile: "ParallelReduce.java"
NestMembers:
io.reactivex.internal.operators.parallel.ParallelReduce$ParallelReduceSubscriber
InnerClasses:
final ParallelReduceSubscriber = io.reactivex.internal.operators.parallel.ParallelReduce$ParallelReduceSubscriber of io.reactivex.internal.operators.parallel.ParallelReduce