class java.util.stream.SliceOps$4 extends java.util.stream.DoublePipeline$StatefulOp<java.lang.Double>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.util.stream.SliceOps$4
  super_class: java.util.stream.DoublePipeline$StatefulOp
{
  private final long val$skip;
    descriptor: J
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final long val$limit;
    descriptor: J
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(java.util.stream.AbstractPipeline, java.util.stream.StreamShape, int, long, long);
    descriptor: (Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;IJJ)V
    flags: (0x0000) 
    Code:
      stack=4, locals=8, args_size=6
        start local 0 // java.util.stream.SliceOps$4 this
        start local 1 // java.util.stream.AbstractPipeline $anonymous0
        start local 2 // java.util.stream.StreamShape $anonymous1
        start local 3 // int $anonymous2
         0: .line 453
            aload 0 /* this */
            lload 4
            putfield java.util.stream.SliceOps$4.val$skip:J
            aload 0 /* this */
            lload 6
            putfield java.util.stream.SliceOps$4.val$limit:J
            aload 0 /* this */
            aload 1 /* $anonymous0 */
            aload 2 /* $anonymous1 */
            iload 3 /* $anonymous2 */
            invokespecial java.util.stream.DoublePipeline$StatefulOp.<init>:(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;I)V
            return
        end local 3 // int $anonymous2
        end local 2 // java.util.stream.StreamShape $anonymous1
        end local 1 // java.util.stream.AbstractPipeline $anonymous0
        end local 0 // java.util.stream.SliceOps$4 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Ljava/util/stream/SliceOps$4;
            0    1     1  $anonymous0  Ljava/util/stream/AbstractPipeline<*Ljava/lang/Double;*>;
            0    1     2  $anonymous1  Ljava/util/stream/StreamShape;
            0    1     3  $anonymous2  I
    MethodParameters:
             Name  Flags
      $anonymous0  
      $anonymous1  
      $anonymous2  
      val$skip     final
      val$limit    final

  java.util.Spliterator$OfDouble unorderedSkipLimitSpliterator(java.util.Spliterator$OfDouble, long, long, long);
    descriptor: (Ljava/util/Spliterator$OfDouble;JJJ)Ljava/util/Spliterator$OfDouble;
    flags: (0x0000) 
    Code:
      stack=7, locals=8, args_size=5
        start local 0 // java.util.stream.SliceOps$4 this
        start local 1 // java.util.Spliterator$OfDouble s
        start local 2 // long skip
        start local 4 // long limit
        start local 6 // long sizeIfKnown
         0: .line 457
            lload 2 /* skip */
            lload 6 /* sizeIfKnown */
            lcmp
            ifgt 5
         1: .line 460
            lload 4 /* limit */
            lconst_0
            lcmp
            iflt 2
            lload 4 /* limit */
            lload 6 /* sizeIfKnown */
            lload 2 /* skip */
            lsub
            invokestatic java.lang.Math.min:(JJ)J
            goto 3
      StackMap locals:
      StackMap stack:
         2: lload 6 /* sizeIfKnown */
            lload 2 /* skip */
            lsub
      StackMap locals:
      StackMap stack: long
         3: lstore 4 /* limit */
         4: .line 461
            lconst_0
            lstore 2 /* skip */
         5: .line 463
      StackMap locals:
      StackMap stack:
            new java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfDouble
            dup
            aload 1 /* s */
            lload 2 /* skip */
            lload 4 /* limit */
            invokespecial java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfDouble.<init>:(Ljava/util/Spliterator$OfDouble;JJ)V
            areturn
        end local 6 // long sizeIfKnown
        end local 4 // long limit
        end local 2 // long skip
        end local 1 // java.util.Spliterator$OfDouble s
        end local 0 // java.util.stream.SliceOps$4 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Ljava/util/stream/SliceOps$4;
            0    6     1            s  Ljava/util/Spliterator$OfDouble;
            0    6     2         skip  J
            0    6     4        limit  J
            0    6     6  sizeIfKnown  J
    MethodParameters:
             Name  Flags
      s            
      skip         
      limit        
      sizeIfKnown  

  <P_IN> java.util.Spliterator<java.lang.Double> opEvaluateParallelLazy(java.util.stream.PipelineHelper<java.lang.Double>, java.util.Spliterator<P_IN>);
    descriptor: (Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/util/Spliterator;
    flags: (0x0000) 
    Code:
      stack=10, locals=5, args_size=3
        start local 0 // java.util.stream.SliceOps$4 this
        start local 1 // java.util.stream.PipelineHelper helper
        start local 2 // java.util.Spliterator spliterator
         0: .line 469
            aload 1 /* helper */
            aload 2 /* spliterator */
            invokevirtual java.util.stream.PipelineHelper.exactOutputSizeIfKnown:(Ljava/util/Spliterator;)J
            lstore 3 /* size */
        start local 3 // long size
         1: .line 470
            lload 3 /* size */
            lconst_0
            lcmp
            ifle 7
            aload 2 /* spliterator */
            sipush 16384
            invokeinterface java.util.Spliterator.hasCharacteristics:(I)Z
            ifeq 7
         2: .line 471
            new java.util.stream.StreamSpliterators$SliceSpliterator$OfDouble
            dup
         3: .line 472
            aload 1 /* helper */
            aload 2 /* spliterator */
            invokevirtual java.util.stream.PipelineHelper.wrapSpliterator:(Ljava/util/Spliterator;)Ljava/util/Spliterator;
            checkcast java.util.Spliterator$OfDouble
         4: .line 473
            aload 0 /* this */
            getfield java.util.stream.SliceOps$4.val$skip:J
         5: .line 474
            aload 0 /* this */
            getfield java.util.stream.SliceOps$4.val$skip:J
            aload 0 /* this */
            getfield java.util.stream.SliceOps$4.val$limit:J
            invokestatic java.util.stream.SliceOps.calcSliceFence:(JJ)J
         6: .line 471
            invokespecial java.util.stream.StreamSpliterators$SliceSpliterator$OfDouble.<init>:(Ljava/util/Spliterator$OfDouble;JJ)V
            areturn
         7: .line 475
      StackMap locals: long
      StackMap stack:
            getstatic java.util.stream.StreamOpFlag.ORDERED:Ljava/util/stream/StreamOpFlag;
            aload 1 /* helper */
            invokevirtual java.util.stream.PipelineHelper.getStreamAndOpFlags:()I
            invokevirtual java.util.stream.StreamOpFlag.isKnown:(I)Z
            ifne 12
         8: .line 476
            aload 0 /* this */
         9: .line 477
            aload 1 /* helper */
            aload 2 /* spliterator */
            invokevirtual java.util.stream.PipelineHelper.wrapSpliterator:(Ljava/util/Spliterator;)Ljava/util/Spliterator;
            checkcast java.util.Spliterator$OfDouble
        10: .line 478
            aload 0 /* this */
            getfield java.util.stream.SliceOps$4.val$skip:J
            aload 0 /* this */
            getfield java.util.stream.SliceOps$4.val$limit:J
            lload 3 /* size */
        11: .line 476
            invokevirtual java.util.stream.SliceOps$4.unorderedSkipLimitSpliterator:(Ljava/util/Spliterator$OfDouble;JJJ)Ljava/util/Spliterator$OfDouble;
            areturn
        12: .line 481
      StackMap locals:
      StackMap stack:
            new java.util.stream.SliceOps$SliceTask
            dup
            aload 0 /* this */
            aload 1 /* helper */
            aload 2 /* spliterator */
            invokedynamic apply()Ljava/util/function/IntFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (I)Ljava/lang/Object;
                  java/util/stream/SliceOps$4.lambda$0(I)[Ljava/lang/Double; (6)
                  (I)[Ljava/lang/Double;
            aload 0 /* this */
            getfield java.util.stream.SliceOps$4.val$skip:J
            aload 0 /* this */
            getfield java.util.stream.SliceOps$4.val$limit:J
            invokespecial java.util.stream.SliceOps$SliceTask.<init>:(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;Ljava/util/function/IntFunction;JJ)V
        13: .line 482
            invokevirtual java.util.stream.SliceOps$SliceTask.invoke:()Ljava/lang/Object;
            checkcast java.util.stream.Node
            invokeinterface java.util.stream.Node.spliterator:()Ljava/util/Spliterator;
        14: .line 481
            areturn
        end local 3 // long size
        end local 2 // java.util.Spliterator spliterator
        end local 1 // java.util.stream.PipelineHelper helper
        end local 0 // java.util.stream.SliceOps$4 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Ljava/util/stream/SliceOps$4;
            0   15     1       helper  Ljava/util/stream/PipelineHelper<Ljava/lang/Double;>;
            0   15     2  spliterator  Ljava/util/Spliterator<TP_IN;>;
            1   15     3         size  J
    Signature: <P_IN:Ljava/lang/Object;>(Ljava/util/stream/PipelineHelper<Ljava/lang/Double;>;Ljava/util/Spliterator<TP_IN;>;)Ljava/util/Spliterator<Ljava/lang/Double;>;
    MethodParameters:
             Name  Flags
      helper       
      spliterator  

  <P_IN> java.util.stream.Node<java.lang.Double> opEvaluateParallel(java.util.stream.PipelineHelper<java.lang.Double>, java.util.Spliterator<P_IN>, java.util.function.IntFunction<java.lang.Double[]>);
    descriptor: (Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;Ljava/util/function/IntFunction;)Ljava/util/stream/Node;
    flags: (0x0000) 
    Code:
      stack=10, locals=7, args_size=4
        start local 0 // java.util.stream.SliceOps$4 this
        start local 1 // java.util.stream.PipelineHelper helper
        start local 2 // java.util.Spliterator spliterator
        start local 3 // java.util.function.IntFunction generator
         0: .line 490
            aload 1 /* helper */
            aload 2 /* spliterator */
            invokevirtual java.util.stream.PipelineHelper.exactOutputSizeIfKnown:(Ljava/util/Spliterator;)J
            lstore 4 /* size */
        start local 4 // long size
         1: .line 491
            lload 4 /* size */
            lconst_0
            lcmp
            ifle 4
            aload 2 /* spliterator */
            sipush 16384
            invokeinterface java.util.Spliterator.hasCharacteristics:(I)Z
            ifeq 4
         2: .line 497
            aload 1 /* helper */
            invokevirtual java.util.stream.PipelineHelper.getSourceShape:()Ljava/util/stream/StreamShape;
            aload 2 /* spliterator */
            aload 0 /* this */
            getfield java.util.stream.SliceOps$4.val$skip:J
            aload 0 /* this */
            getfield java.util.stream.SliceOps$4.val$limit:J
            invokestatic java.util.stream.SliceOps.sliceSpliterator:(Ljava/util/stream/StreamShape;Ljava/util/Spliterator;JJ)Ljava/util/Spliterator;
            astore 6 /* s */
        start local 6 // java.util.Spliterator s
         3: .line 498
            aload 1 /* helper */
            aload 6 /* s */
            iconst_1
            invokestatic java.util.stream.Nodes.collectDouble:(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;Z)Ljava/util/stream/Node$OfDouble;
            areturn
        end local 6 // java.util.Spliterator s
         4: .line 499
      StackMap locals: long
      StackMap stack:
            getstatic java.util.stream.StreamOpFlag.ORDERED:Ljava/util/stream/StreamOpFlag;
            aload 1 /* helper */
            invokevirtual java.util.stream.PipelineHelper.getStreamAndOpFlags:()I
            invokevirtual java.util.stream.StreamOpFlag.isKnown:(I)Z
            ifne 10
         5: .line 500
            aload 0 /* this */
         6: .line 501
            aload 1 /* helper */
            aload 2 /* spliterator */
            invokevirtual java.util.stream.PipelineHelper.wrapSpliterator:(Ljava/util/Spliterator;)Ljava/util/Spliterator;
            checkcast java.util.Spliterator$OfDouble
         7: .line 502
            aload 0 /* this */
            getfield java.util.stream.SliceOps$4.val$skip:J
            aload 0 /* this */
            getfield java.util.stream.SliceOps$4.val$limit:J
            lload 4 /* size */
         8: .line 500
            invokevirtual java.util.stream.SliceOps$4.unorderedSkipLimitSpliterator:(Ljava/util/Spliterator$OfDouble;JJJ)Ljava/util/Spliterator$OfDouble;
            astore 6 /* s */
        start local 6 // java.util.Spliterator$OfDouble s
         9: .line 507
            aload 0 /* this */
            aload 6 /* s */
            iconst_1
            invokestatic java.util.stream.Nodes.collectDouble:(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;Z)Ljava/util/stream/Node$OfDouble;
            areturn
        end local 6 // java.util.Spliterator$OfDouble s
        10: .line 510
      StackMap locals:
      StackMap stack:
            new java.util.stream.SliceOps$SliceTask
            dup
            aload 0 /* this */
            aload 1 /* helper */
            aload 2 /* spliterator */
            aload 3 /* generator */
            aload 0 /* this */
            getfield java.util.stream.SliceOps$4.val$skip:J
            aload 0 /* this */
            getfield java.util.stream.SliceOps$4.val$limit:J
            invokespecial java.util.stream.SliceOps$SliceTask.<init>:(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;Ljava/util/function/IntFunction;JJ)V
        11: .line 511
            invokevirtual java.util.stream.SliceOps$SliceTask.invoke:()Ljava/lang/Object;
            checkcast java.util.stream.Node
        12: .line 510
            areturn
        end local 4 // long size
        end local 3 // java.util.function.IntFunction generator
        end local 2 // java.util.Spliterator spliterator
        end local 1 // java.util.stream.PipelineHelper helper
        end local 0 // java.util.stream.SliceOps$4 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Ljava/util/stream/SliceOps$4;
            0   13     1       helper  Ljava/util/stream/PipelineHelper<Ljava/lang/Double;>;
            0   13     2  spliterator  Ljava/util/Spliterator<TP_IN;>;
            0   13     3    generator  Ljava/util/function/IntFunction<[Ljava/lang/Double;>;
            1   13     4         size  J
            3    4     6            s  Ljava/util/Spliterator<TP_IN;>;
            9   10     6            s  Ljava/util/Spliterator$OfDouble;
    Signature: <P_IN:Ljava/lang/Object;>(Ljava/util/stream/PipelineHelper<Ljava/lang/Double;>;Ljava/util/Spliterator<TP_IN;>;Ljava/util/function/IntFunction<[Ljava/lang/Double;>;)Ljava/util/stream/Node<Ljava/lang/Double;>;
    MethodParameters:
             Name  Flags
      helper       
      spliterator  
      generator    

  java.util.stream.Sink<java.lang.Double> opWrapSink(int, java.util.stream.Sink<java.lang.Double>);
    descriptor: (ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
    flags: (0x0000) 
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // java.util.stream.SliceOps$4 this
        start local 1 // int flags
        start local 2 // java.util.stream.Sink sink
         0: .line 517
            new java.util.stream.SliceOps$4$1
            dup
            aload 0 /* this */
            aload 2 /* sink */
            aload 0 /* this */
            getfield java.util.stream.SliceOps$4.val$skip:J
            aload 0 /* this */
            getfield java.util.stream.SliceOps$4.val$limit:J
            invokespecial java.util.stream.SliceOps$4$1.<init>:(Ljava/util/stream/SliceOps$4;Ljava/util/stream/Sink;JJ)V
            areturn
        end local 2 // java.util.stream.Sink sink
        end local 1 // int flags
        end local 0 // java.util.stream.SliceOps$4 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/util/stream/SliceOps$4;
            0    1     1  flags  I
            0    1     2   sink  Ljava/util/stream/Sink<Ljava/lang/Double;>;
    Signature: (ILjava/util/stream/Sink<Ljava/lang/Double;>;)Ljava/util/stream/Sink<Ljava/lang/Double;>;
    MethodParameters:
       Name  Flags
      flags  
      sink   

  private static java.lang.Double[] lambda$0(int);
    descriptor: (I)[Ljava/lang/Double;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            iload 0
            anewarray java.lang.Double
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/util/stream/DoublePipeline$StatefulOp<Ljava/lang/Double;>;
SourceFile: "SliceOps.java"
EnclosingMethod: java.util.stream.SliceOps.makeDouble:(Ljava/util/stream/AbstractPipeline;JJ)Ljava/util/stream/DoubleStream;
NestHost: java.util.stream.SliceOps
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract OfDouble = java.util.Spliterator$OfDouble of java.util.Spliterator
  abstract StatefulOp = java.util.stream.DoublePipeline$StatefulOp of java.util.stream.DoublePipeline
  public abstract OfDouble = java.util.stream.Node$OfDouble of java.util.stream.Node
  java.util.stream.SliceOps$4
  java.util.stream.SliceOps$4$1
  private final SliceTask = java.util.stream.SliceOps$SliceTask of java.util.stream.SliceOps
  abstract SliceSpliterator = java.util.stream.StreamSpliterators$SliceSpliterator of java.util.stream.StreamSpliterators
  final OfDouble = java.util.stream.StreamSpliterators$SliceSpliterator$OfDouble of java.util.stream.StreamSpliterators$SliceSpliterator
  abstract UnorderedSliceSpliterator = java.util.stream.StreamSpliterators$UnorderedSliceSpliterator of java.util.stream.StreamSpliterators
  final OfDouble = java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfDouble of java.util.stream.StreamSpliterators$UnorderedSliceSpliterator