final class java.util.stream.ReduceOps$ReduceTask<P_IN, P_OUT, R, S extends java.util.stream.ReduceOps$AccumulatingSink<P_OUT, R, S>> extends java.util.stream.AbstractTask<P_IN, P_OUT, S, java.util.stream.ReduceOps$ReduceTask<P_IN, P_OUT, R, S>>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: java.util.stream.ReduceOps$ReduceTask
  super_class: java.util.stream.AbstractTask
{
  private final java.util.stream.ReduceOps$ReduceOp<P_OUT, R, S> op;
    descriptor: Ljava/util/stream/ReduceOps$ReduceOp;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/stream/ReduceOps$ReduceOp<TP_OUT;TR;TS;>;

  void <init>(java.util.stream.ReduceOps$ReduceOp<P_OUT, R, S>, java.util.stream.PipelineHelper<P_OUT>, java.util.Spliterator<P_IN>);
    descriptor: (Ljava/util/stream/ReduceOps$ReduceOp;Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // java.util.stream.ReduceOps$ReduceTask this
        start local 1 // java.util.stream.ReduceOps$ReduceOp op
        start local 2 // java.util.stream.PipelineHelper helper
        start local 3 // java.util.Spliterator spliterator
         0: .line 730
            aload 0 /* this */
            aload 2 /* helper */
            aload 3 /* spliterator */
            invokespecial java.util.stream.AbstractTask.<init>:(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)V
         1: .line 731
            aload 0 /* this */
            aload 1 /* op */
            putfield java.util.stream.ReduceOps$ReduceTask.op:Ljava/util/stream/ReduceOps$ReduceOp;
         2: .line 732
            return
        end local 3 // java.util.Spliterator spliterator
        end local 2 // java.util.stream.PipelineHelper helper
        end local 1 // java.util.stream.ReduceOps$ReduceOp op
        end local 0 // java.util.stream.ReduceOps$ReduceTask this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Ljava/util/stream/ReduceOps$ReduceTask<TP_IN;TP_OUT;TR;TS;>;
            0    3     1           op  Ljava/util/stream/ReduceOps$ReduceOp<TP_OUT;TR;TS;>;
            0    3     2       helper  Ljava/util/stream/PipelineHelper<TP_OUT;>;
            0    3     3  spliterator  Ljava/util/Spliterator<TP_IN;>;
    Signature: (Ljava/util/stream/ReduceOps$ReduceOp<TP_OUT;TR;TS;>;Ljava/util/stream/PipelineHelper<TP_OUT;>;Ljava/util/Spliterator<TP_IN;>;)V
    MethodParameters:
             Name  Flags
      op           
      helper       
      spliterator  

  void <init>(java.util.stream.ReduceOps$ReduceTask<P_IN, P_OUT, R, S>, java.util.Spliterator<P_IN>);
    descriptor: (Ljava/util/stream/ReduceOps$ReduceTask;Ljava/util/Spliterator;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.util.stream.ReduceOps$ReduceTask this
        start local 1 // java.util.stream.ReduceOps$ReduceTask parent
        start local 2 // java.util.Spliterator spliterator
         0: .line 736
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* spliterator */
            invokespecial java.util.stream.AbstractTask.<init>:(Ljava/util/stream/AbstractTask;Ljava/util/Spliterator;)V
         1: .line 737
            aload 0 /* this */
            aload 1 /* parent */
            getfield java.util.stream.ReduceOps$ReduceTask.op:Ljava/util/stream/ReduceOps$ReduceOp;
            putfield java.util.stream.ReduceOps$ReduceTask.op:Ljava/util/stream/ReduceOps$ReduceOp;
         2: .line 738
            return
        end local 2 // java.util.Spliterator spliterator
        end local 1 // java.util.stream.ReduceOps$ReduceTask parent
        end local 0 // java.util.stream.ReduceOps$ReduceTask this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Ljava/util/stream/ReduceOps$ReduceTask<TP_IN;TP_OUT;TR;TS;>;
            0    3     1       parent  Ljava/util/stream/ReduceOps$ReduceTask<TP_IN;TP_OUT;TR;TS;>;
            0    3     2  spliterator  Ljava/util/Spliterator<TP_IN;>;
    Signature: (Ljava/util/stream/ReduceOps$ReduceTask<TP_IN;TP_OUT;TR;TS;>;Ljava/util/Spliterator<TP_IN;>;)V
    MethodParameters:
             Name  Flags
      parent       
      spliterator  

  protected java.util.stream.ReduceOps$ReduceTask<P_IN, P_OUT, R, S> makeChild(java.util.Spliterator<P_IN>);
    descriptor: (Ljava/util/Spliterator;)Ljava/util/stream/ReduceOps$ReduceTask;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.stream.ReduceOps$ReduceTask this
        start local 1 // java.util.Spliterator spliterator
         0: .line 742
            new java.util.stream.ReduceOps$ReduceTask
            dup
            aload 0 /* this */
            aload 1 /* spliterator */
            invokespecial java.util.stream.ReduceOps$ReduceTask.<init>:(Ljava/util/stream/ReduceOps$ReduceTask;Ljava/util/Spliterator;)V
            areturn
        end local 1 // java.util.Spliterator spliterator
        end local 0 // java.util.stream.ReduceOps$ReduceTask this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Ljava/util/stream/ReduceOps$ReduceTask<TP_IN;TP_OUT;TR;TS;>;
            0    1     1  spliterator  Ljava/util/Spliterator<TP_IN;>;
    Signature: (Ljava/util/Spliterator<TP_IN;>;)Ljava/util/stream/ReduceOps$ReduceTask<TP_IN;TP_OUT;TR;TS;>;
    MethodParameters:
             Name  Flags
      spliterator  

  protected S doLeaf();
    descriptor: ()Ljava/util/stream/ReduceOps$AccumulatingSink;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.stream.ReduceOps$ReduceTask this
         0: .line 747
            aload 0 /* this */
            getfield java.util.stream.ReduceOps$ReduceTask.helper:Ljava/util/stream/PipelineHelper;
            aload 0 /* this */
            getfield java.util.stream.ReduceOps$ReduceTask.op:Ljava/util/stream/ReduceOps$ReduceOp;
            invokevirtual java.util.stream.ReduceOps$ReduceOp.makeSink:()Ljava/util/stream/ReduceOps$AccumulatingSink;
            aload 0 /* this */
            getfield java.util.stream.ReduceOps$ReduceTask.spliterator:Ljava/util/Spliterator;
            invokevirtual java.util.stream.PipelineHelper.wrapAndCopyInto:(Ljava/util/stream/Sink;Ljava/util/Spliterator;)Ljava/util/stream/Sink;
            checkcast java.util.stream.ReduceOps$AccumulatingSink
            areturn
        end local 0 // java.util.stream.ReduceOps$ReduceTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/stream/ReduceOps$ReduceTask<TP_IN;TP_OUT;TR;TS;>;
    Signature: ()TS;

  public void onCompletion(java.util.concurrent.CountedCompleter<?>);
    descriptor: (Ljava/util/concurrent/CountedCompleter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.util.stream.ReduceOps$ReduceTask this
        start local 1 // java.util.concurrent.CountedCompleter caller
         0: .line 752
            aload 0 /* this */
            invokevirtual java.util.stream.ReduceOps$ReduceTask.isLeaf:()Z
            ifne 4
         1: .line 753
            aload 0 /* this */
            getfield java.util.stream.ReduceOps$ReduceTask.leftChild:Ljava/util/stream/AbstractTask;
            checkcast java.util.stream.ReduceOps$ReduceTask
            invokevirtual java.util.stream.ReduceOps$ReduceTask.getLocalResult:()Ljava/lang/Object;
            checkcast java.util.stream.ReduceOps$AccumulatingSink
            astore 2 /* leftResult */
        start local 2 // java.util.stream.ReduceOps$AccumulatingSink leftResult
         2: .line 754
            aload 2 /* leftResult */
            aload 0 /* this */
            getfield java.util.stream.ReduceOps$ReduceTask.rightChild:Ljava/util/stream/AbstractTask;
            checkcast java.util.stream.ReduceOps$ReduceTask
            invokevirtual java.util.stream.ReduceOps$ReduceTask.getLocalResult:()Ljava/lang/Object;
            checkcast java.util.stream.ReduceOps$AccumulatingSink
            invokeinterface java.util.stream.ReduceOps$AccumulatingSink.combine:(Ljava/util/stream/ReduceOps$AccumulatingSink;)V
         3: .line 755
            aload 0 /* this */
            aload 2 /* leftResult */
            invokevirtual java.util.stream.ReduceOps$ReduceTask.setLocalResult:(Ljava/lang/Object;)V
        end local 2 // java.util.stream.ReduceOps$AccumulatingSink leftResult
         4: .line 758
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* caller */
            invokespecial java.util.stream.AbstractTask.onCompletion:(Ljava/util/concurrent/CountedCompleter;)V
         5: .line 759
            return
        end local 1 // java.util.concurrent.CountedCompleter caller
        end local 0 // java.util.stream.ReduceOps$ReduceTask this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Ljava/util/stream/ReduceOps$ReduceTask<TP_IN;TP_OUT;TR;TS;>;
            0    6     1      caller  Ljava/util/concurrent/CountedCompleter<*>;
            2    4     2  leftResult  TS;
    Signature: (Ljava/util/concurrent/CountedCompleter<*>;)V
    MethodParameters:
        Name  Flags
      caller  

  protected java.lang.Object doLeaf();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual java.util.stream.ReduceOps$ReduceTask.doLeaf:()Ljava/util/stream/ReduceOps$AccumulatingSink;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.util.stream.AbstractTask makeChild(java.util.Spliterator);
    descriptor: (Ljava/util/Spliterator;)Ljava/util/stream/AbstractTask;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.util.Spliterator
            invokevirtual java.util.stream.ReduceOps$ReduceTask.makeChild:(Ljava/util/Spliterator;)Ljava/util/stream/ReduceOps$ReduceTask;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <P_IN:Ljava/lang/Object;P_OUT:Ljava/lang/Object;R:Ljava/lang/Object;S::Ljava/util/stream/ReduceOps$AccumulatingSink<TP_OUT;TR;TS;>;>Ljava/util/stream/AbstractTask<TP_IN;TP_OUT;TS;Ljava/util/stream/ReduceOps$ReduceTask<TP_IN;TP_OUT;TR;TS;>;>;
SourceFile: "ReduceOps.java"
NestHost: java.util.stream.ReduceOps
InnerClasses:
  private abstract AccumulatingSink = java.util.stream.ReduceOps$AccumulatingSink of java.util.stream.ReduceOps
  private abstract ReduceOp = java.util.stream.ReduceOps$ReduceOp of java.util.stream.ReduceOps
  private final ReduceTask = java.util.stream.ReduceOps$ReduceTask of java.util.stream.ReduceOps