final class java.util.stream.SortedOps$OfRef<T> extends java.util.stream.ReferencePipeline$StatefulOp<T, T>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.util.stream.SortedOps$OfRef
super_class: java.util.stream.ReferencePipeline$StatefulOp
{
private final boolean isNaturalSort;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Comparator<? super T> comparator;
descriptor: Ljava/util/Comparator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Comparator<-TT;>;
void <init>(java.util.stream.AbstractPipeline<?, T, ?>);
descriptor: (Ljava/util/stream/AbstractPipeline;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic java.util.stream.StreamShape.REFERENCE:Ljava/util/stream/StreamShape;
1: getstatic java.util.stream.StreamOpFlag.IS_ORDERED:I
getstatic java.util.stream.StreamOpFlag.IS_SORTED:I
ior
invokespecial java.util.stream.ReferencePipeline$StatefulOp.<init>:(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;I)V
2: aload 0
iconst_1
putfield java.util.stream.SortedOps$OfRef.isNaturalSort:Z
3: invokestatic java.util.Comparator.naturalOrder:()Ljava/util/Comparator;
astore 2
start local 2 4: aload 0
aload 2
putfield java.util.stream.SortedOps$OfRef.comparator:Ljava/util/Comparator;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/stream/SortedOps$OfRef<TT;>;
0 6 1 upstream Ljava/util/stream/AbstractPipeline<*TT;*>;
4 6 2 comp Ljava/util/Comparator<-TT;>;
Signature: (Ljava/util/stream/AbstractPipeline<*TT;*>;)V
MethodParameters:
Name Flags
upstream
void <init>(java.util.stream.AbstractPipeline<?, T, ?>, java.util.Comparator<? super T>);
descriptor: (Ljava/util/stream/AbstractPipeline;Ljava/util/Comparator;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getstatic java.util.stream.StreamShape.REFERENCE:Ljava/util/stream/StreamShape;
1: getstatic java.util.stream.StreamOpFlag.IS_ORDERED:I
getstatic java.util.stream.StreamOpFlag.NOT_SORTED:I
ior
invokespecial java.util.stream.ReferencePipeline$StatefulOp.<init>:(Ljava/util/stream/AbstractPipeline;Ljava/util/stream/StreamShape;I)V
2: aload 0
iconst_0
putfield java.util.stream.SortedOps$OfRef.isNaturalSort:Z
3: aload 0
aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Comparator
putfield java.util.stream.SortedOps$OfRef.comparator:Ljava/util/Comparator;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/stream/SortedOps$OfRef<TT;>;
0 5 1 upstream Ljava/util/stream/AbstractPipeline<*TT;*>;
0 5 2 comparator Ljava/util/Comparator<-TT;>;
Signature: (Ljava/util/stream/AbstractPipeline<*TT;*>;Ljava/util/Comparator<-TT;>;)V
MethodParameters:
Name Flags
upstream
comparator
public java.util.stream.Sink<T> opWrapSink(int, java.util.stream.Sink<T>);
descriptor: (ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: getstatic java.util.stream.StreamOpFlag.SORTED:Ljava/util/stream/StreamOpFlag;
iload 1
invokevirtual java.util.stream.StreamOpFlag.isKnown:(I)Z
ifeq 3
aload 0
getfield java.util.stream.SortedOps$OfRef.isNaturalSort:Z
ifeq 3
2: aload 2
areturn
3: StackMap locals:
StackMap stack:
getstatic java.util.stream.StreamOpFlag.SIZED:Ljava/util/stream/StreamOpFlag;
iload 1
invokevirtual java.util.stream.StreamOpFlag.isKnown:(I)Z
ifeq 5
4: new java.util.stream.SortedOps$SizedRefSortingSink
dup
aload 2
aload 0
getfield java.util.stream.SortedOps$OfRef.comparator:Ljava/util/Comparator;
invokespecial java.util.stream.SortedOps$SizedRefSortingSink.<init>:(Ljava/util/stream/Sink;Ljava/util/Comparator;)V
areturn
5: StackMap locals:
StackMap stack:
new java.util.stream.SortedOps$RefSortingSink
dup
aload 2
aload 0
getfield java.util.stream.SortedOps$OfRef.comparator:Ljava/util/Comparator;
invokespecial java.util.stream.SortedOps$RefSortingSink.<init>:(Ljava/util/stream/Sink;Ljava/util/Comparator;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/stream/SortedOps$OfRef<TT;>;
0 6 1 flags I
0 6 2 sink Ljava/util/stream/Sink<TT;>;
Signature: (ILjava/util/stream/Sink<TT;>;)Ljava/util/stream/Sink<TT;>;
MethodParameters:
Name Flags
flags
sink
public <P_IN> java.util.stream.Node<T> opEvaluateParallel(java.util.stream.PipelineHelper<T>, java.util.Spliterator<P_IN>, java.util.function.IntFunction<T[]>);
descriptor: (Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;Ljava/util/function/IntFunction;)Ljava/util/stream/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic java.util.stream.StreamOpFlag.SORTED:Ljava/util/stream/StreamOpFlag;
aload 1
invokevirtual java.util.stream.PipelineHelper.getStreamAndOpFlags:()I
invokevirtual java.util.stream.StreamOpFlag.isKnown:(I)Z
ifeq 2
aload 0
getfield java.util.stream.SortedOps$OfRef.isNaturalSort:Z
ifeq 2
1: aload 1
aload 2
iconst_0
aload 3
invokevirtual java.util.stream.PipelineHelper.evaluate:(Ljava/util/Spliterator;ZLjava/util/function/IntFunction;)Ljava/util/stream/Node;
areturn
2: StackMap locals:
StackMap stack:
aload 1
aload 2
iconst_1
aload 3
invokevirtual java.util.stream.PipelineHelper.evaluate:(Ljava/util/Spliterator;ZLjava/util/function/IntFunction;)Ljava/util/stream/Node;
aload 3
invokeinterface java.util.stream.Node.asArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
astore 4
start local 4 3: aload 4
aload 0
getfield java.util.stream.SortedOps$OfRef.comparator:Ljava/util/Comparator;
invokestatic java.util.Arrays.parallelSort:([Ljava/lang/Object;Ljava/util/Comparator;)V
4: aload 4
invokestatic java.util.stream.Nodes.node:([Ljava/lang/Object;)Ljava/util/stream/Node;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/stream/SortedOps$OfRef<TT;>;
0 5 1 helper Ljava/util/stream/PipelineHelper<TT;>;
0 5 2 spliterator Ljava/util/Spliterator<TP_IN;>;
0 5 3 generator Ljava/util/function/IntFunction<[TT;>;
3 5 4 flattenedData [Ljava/lang/Object;
Signature: <P_IN:Ljava/lang/Object;>(Ljava/util/stream/PipelineHelper<TT;>;Ljava/util/Spliterator<TP_IN;>;Ljava/util/function/IntFunction<[TT;>;)Ljava/util/stream/Node<TT;>;
MethodParameters:
Name Flags
helper
spliterator
generator
}
Signature: <T:Ljava/lang/Object;>Ljava/util/stream/ReferencePipeline$StatefulOp<TT;TT;>;
SourceFile: "SortedOps.java"
NestHost: java.util.stream.SortedOps
InnerClasses:
abstract StatefulOp = java.util.stream.ReferencePipeline$StatefulOp of java.util.stream.ReferencePipeline
private final OfRef = java.util.stream.SortedOps$OfRef of java.util.stream.SortedOps
private final RefSortingSink = java.util.stream.SortedOps$RefSortingSink of java.util.stream.SortedOps
private final SizedRefSortingSink = java.util.stream.SortedOps$SizedRefSortingSink of java.util.stream.SortedOps