abstract class java.util.stream.Nodes$InternalNodeSpliterator<T, S extends java.util.Spliterator<T>, N extends java.util.stream.Node<T>> implements java.util.Spliterator<T>
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: java.util.stream.Nodes$InternalNodeSpliterator
super_class: java.lang.Object
{
N curNode;
descriptor: Ljava/util/stream/Node;
flags: (0x0000)
Signature: TN;
int curChildIndex;
descriptor: I
flags: (0x0000)
S lastNodeSpliterator;
descriptor: Ljava/util/Spliterator;
flags: (0x0000)
Signature: TS;
S tryAdvanceSpliterator;
descriptor: Ljava/util/Spliterator;
flags: (0x0000)
Signature: TS;
java.util.Deque<N> tryAdvanceStack;
descriptor: Ljava/util/Deque;
flags: (0x0000)
Signature: Ljava/util/Deque<TN;>;
void <init>();
descriptor: (Ljava/util/stream/Node;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield java.util.stream.Nodes$InternalNodeSpliterator.curNode:Ljava/util/stream/Node;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/stream/Nodes$InternalNodeSpliterator<TT;TS;TN;>;
0 3 1 curNode TN;
Signature: (TN;)V
MethodParameters:
Name Flags
curNode
protected final java.util.Deque<N> initStack();
descriptor: ()Ljava/util/Deque;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.util.ArrayDeque
dup
bipush 8
invokespecial java.util.ArrayDeque.<init>:(I)V
astore 1
start local 1 1: aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.curNode:Ljava/util/stream/Node;
invokeinterface java.util.stream.Node.getChildCount:()I
iconst_1
isub
istore 2
start local 2 2: goto 5
3: StackMap locals: java.util.Deque int
StackMap stack:
aload 1
aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.curNode:Ljava/util/stream/Node;
iload 2
invokeinterface java.util.stream.Node.getChild:(I)Ljava/util/stream/Node;
invokeinterface java.util.Deque.addFirst:(Ljava/lang/Object;)V
4: iinc 2 -1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.curChildIndex:I
if_icmpge 3
end local 2 6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/stream/Nodes$InternalNodeSpliterator<TT;TS;TN;>;
1 7 1 stack Ljava/util/Deque<TN;>;
2 6 2 i I
Signature: ()Ljava/util/Deque<TN;>;
protected final N findNextLeafNode(java.util.Deque<N>);
descriptor: (Ljava/util/Deque;)Ljava/util/stream/Node;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: goto 10
2: StackMap locals: java.util.stream.Node
StackMap stack:
aload 2
invokeinterface java.util.stream.Node.getChildCount:()I
ifne 5
3: aload 2
invokeinterface java.util.stream.Node.count:()J
lconst_0
lcmp
ifle 10
4: aload 2
areturn
5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.stream.Node.getChildCount:()I
iconst_1
isub
istore 3
start local 3 6: goto 9
7: StackMap locals: int
StackMap stack:
aload 1
aload 2
iload 3
invokeinterface java.util.stream.Node.getChild:(I)Ljava/util/stream/Node;
invokeinterface java.util.Deque.addFirst:(Ljava/lang/Object;)V
8: iinc 3 -1
StackMap locals:
StackMap stack:
9: iload 3
ifge 7
end local 3 10: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Deque.pollFirst:()Ljava/lang/Object;
checkcast java.util.stream.Node
dup
astore 2
ifnonnull 2
11: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/stream/Nodes$InternalNodeSpliterator<TT;TS;TN;>;
0 12 1 stack Ljava/util/Deque<TN;>;
1 12 2 n TN;
6 10 3 i I
Signature: (Ljava/util/Deque<TN;>;)TN;
MethodParameters:
Name Flags
stack
protected final boolean initTryAdvance();
descriptor: ()Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.curNode:Ljava/util/stream/Node;
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.tryAdvanceSpliterator:Ljava/util/Spliterator;
ifnonnull 11
3: aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.lastNodeSpliterator:Ljava/util/Spliterator;
ifnonnull 10
4: aload 0
aload 0
invokevirtual java.util.stream.Nodes$InternalNodeSpliterator.initStack:()Ljava/util/Deque;
putfield java.util.stream.Nodes$InternalNodeSpliterator.tryAdvanceStack:Ljava/util/Deque;
5: aload 0
aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.tryAdvanceStack:Ljava/util/Deque;
invokevirtual java.util.stream.Nodes$InternalNodeSpliterator.findNextLeafNode:(Ljava/util/Deque;)Ljava/util/stream/Node;
astore 1
start local 1 6: aload 1
ifnull 8
7: aload 0
aload 1
invokeinterface java.util.stream.Node.spliterator:()Ljava/util/Spliterator;
putfield java.util.stream.Nodes$InternalNodeSpliterator.tryAdvanceSpliterator:Ljava/util/Spliterator;
goto 11
8: StackMap locals: java.util.stream.Node
StackMap stack:
aload 0
aconst_null
putfield java.util.stream.Nodes$InternalNodeSpliterator.curNode:Ljava/util/stream/Node;
9: iconst_0
ireturn
end local 1 10: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.lastNodeSpliterator:Ljava/util/Spliterator;
putfield java.util.stream.Nodes$InternalNodeSpliterator.tryAdvanceSpliterator:Ljava/util/Spliterator;
11: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/stream/Nodes$InternalNodeSpliterator<TT;TS;TN;>;
6 10 1 leaf TN;
public final S trySplit();
descriptor: ()Ljava/util/Spliterator;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.curNode:Ljava/util/stream/Node;
ifnull 1
aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.tryAdvanceSpliterator:Ljava/util/Spliterator;
ifnull 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.lastNodeSpliterator:Ljava/util/Spliterator;
ifnull 4
3: aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.lastNodeSpliterator:Ljava/util/Spliterator;
invokeinterface java.util.Spliterator.trySplit:()Ljava/util/Spliterator;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.curChildIndex:I
aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.curNode:Ljava/util/stream/Node;
invokeinterface java.util.stream.Node.getChildCount:()I
iconst_1
isub
if_icmpge 6
5: aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.curNode:Ljava/util/stream/Node;
aload 0
dup
getfield java.util.stream.Nodes$InternalNodeSpliterator.curChildIndex:I
dup_x1
iconst_1
iadd
putfield java.util.stream.Nodes$InternalNodeSpliterator.curChildIndex:I
invokeinterface java.util.stream.Node.getChild:(I)Ljava/util/stream/Node;
invokeinterface java.util.stream.Node.spliterator:()Ljava/util/Spliterator;
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.curNode:Ljava/util/stream/Node;
aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.curChildIndex:I
invokeinterface java.util.stream.Node.getChild:(I)Ljava/util/stream/Node;
putfield java.util.stream.Nodes$InternalNodeSpliterator.curNode:Ljava/util/stream/Node;
7: aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.curNode:Ljava/util/stream/Node;
invokeinterface java.util.stream.Node.getChildCount:()I
ifne 10
8: aload 0
aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.curNode:Ljava/util/stream/Node;
invokeinterface java.util.stream.Node.spliterator:()Ljava/util/Spliterator;
putfield java.util.stream.Nodes$InternalNodeSpliterator.lastNodeSpliterator:Ljava/util/Spliterator;
9: aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.lastNodeSpliterator:Ljava/util/Spliterator;
invokeinterface java.util.Spliterator.trySplit:()Ljava/util/Spliterator;
areturn
10: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield java.util.stream.Nodes$InternalNodeSpliterator.curChildIndex:I
11: aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.curNode:Ljava/util/stream/Node;
aload 0
dup
getfield java.util.stream.Nodes$InternalNodeSpliterator.curChildIndex:I
dup_x1
iconst_1
iadd
putfield java.util.stream.Nodes$InternalNodeSpliterator.curChildIndex:I
invokeinterface java.util.stream.Node.getChild:(I)Ljava/util/stream/Node;
invokeinterface java.util.stream.Node.spliterator:()Ljava/util/Spliterator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/stream/Nodes$InternalNodeSpliterator<TT;TS;TN;>;
Signature: ()TS;
public final long estimateSize();
descriptor: ()J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.curNode:Ljava/util/stream/Node;
ifnonnull 2
1: lconst_0
lreturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.lastNodeSpliterator:Ljava/util/Spliterator;
ifnull 4
3: aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.lastNodeSpliterator:Ljava/util/Spliterator;
invokeinterface java.util.Spliterator.estimateSize:()J
lreturn
4: StackMap locals:
StackMap stack:
lconst_0
lstore 1
start local 1 5: aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.curChildIndex:I
istore 3
start local 3 6: goto 9
7: StackMap locals: long int
StackMap stack:
lload 1
aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.curNode:Ljava/util/stream/Node;
iload 3
invokeinterface java.util.stream.Node.getChild:(I)Ljava/util/stream/Node;
invokeinterface java.util.stream.Node.count:()J
ladd
lstore 1
8: iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 0
getfield java.util.stream.Nodes$InternalNodeSpliterator.curNode:Ljava/util/stream/Node;
invokeinterface java.util.stream.Node.getChildCount:()I
if_icmplt 7
end local 3 10: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/util/stream/Nodes$InternalNodeSpliterator<TT;TS;TN;>;
5 11 1 size J
6 10 3 i I
public final int characteristics();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: bipush 64
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/stream/Nodes$InternalNodeSpliterator<TT;TS;TN;>;
}
Signature: <T:Ljava/lang/Object;S::Ljava/util/Spliterator<TT;>;N::Ljava/util/stream/Node<TT;>;>Ljava/lang/Object;Ljava/util/Spliterator<TT;>;
SourceFile: "Nodes.java"
NestHost: java.util.stream.Nodes
InnerClasses:
private abstract InternalNodeSpliterator = java.util.stream.Nodes$InternalNodeSpliterator of java.util.stream.Nodes
private final OfDouble = java.util.stream.Nodes$InternalNodeSpliterator$OfDouble of java.util.stream.Nodes$InternalNodeSpliterator
private final OfInt = java.util.stream.Nodes$InternalNodeSpliterator$OfInt of java.util.stream.Nodes$InternalNodeSpliterator
private final OfLong = java.util.stream.Nodes$InternalNodeSpliterator$OfLong of java.util.stream.Nodes$InternalNodeSpliterator
private abstract OfPrimitive = java.util.stream.Nodes$InternalNodeSpliterator$OfPrimitive of java.util.stream.Nodes$InternalNodeSpliterator
private final OfRef = java.util.stream.Nodes$InternalNodeSpliterator$OfRef of java.util.stream.Nodes$InternalNodeSpliterator