abstract class java.util.stream.SpinedBuffer$OfPrimitive<E, T_ARR, T_CONS> extends java.util.stream.AbstractSpinedBuffer implements java.lang.Iterable<E>
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: java.util.stream.SpinedBuffer$OfPrimitive
super_class: java.util.stream.AbstractSpinedBuffer
{
T_ARR curChunk;
descriptor: Ljava/lang/Object;
flags: (0x0000)
Signature: TT_ARR;
T_ARR[] spine;
descriptor: [Ljava/lang/Object;
flags: (0x0000)
Signature: [TT_ARR;
void <init>(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokespecial java.util.stream.AbstractSpinedBuffer.<init>:(I)V
1: aload 0
aload 0
iconst_1
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.initialChunkPower:I
ishl
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.newArray:(I)Ljava/lang/Object;
putfield java.util.stream.SpinedBuffer$OfPrimitive.curChunk:Ljava/lang/Object;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/stream/SpinedBuffer$OfPrimitive<TE;TT_ARR;TT_CONS;>;
0 3 1 initialCapacity I
MethodParameters:
Name Flags
initialCapacity
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.util.stream.AbstractSpinedBuffer.<init>:()V
1: aload 0
aload 0
iconst_1
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.initialChunkPower:I
ishl
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.newArray:(I)Ljava/lang/Object;
putfield java.util.stream.SpinedBuffer$OfPrimitive.curChunk:Ljava/lang/Object;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/stream/SpinedBuffer$OfPrimitive<TE;TT_ARR;TT_CONS;>;
public abstract java.util.Iterator<E> iterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()Ljava/util/Iterator<TE;>;
public abstract void forEach(java.util.function.Consumer<? super E>);
descriptor: (Ljava/util/function/Consumer;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: (Ljava/util/function/Consumer<-TE;>;)V
MethodParameters:
Name Flags
consumer
protected abstract T_ARR[] newArrayArray();
descriptor: (I)[Ljava/lang/Object;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (I)[TT_ARR;
MethodParameters:
Name Flags
size
public abstract T_ARR newArray();
descriptor: (I)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: (I)TT_ARR;
MethodParameters:
Name Flags
size
protected abstract int arrayLength();
descriptor: (Ljava/lang/Object;)I
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (TT_ARR;)I
MethodParameters:
Name Flags
array
protected abstract void arrayForEach(T_ARR, int, int, );
descriptor: (Ljava/lang/Object;IILjava/lang/Object;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (TT_ARR;IITT_CONS;)V
MethodParameters:
Name Flags
array
from
to
consumer
protected long capacity();
descriptor: ()J
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spineIndex:I
ifne 2
1: aload 0
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.curChunk:Ljava/lang/Object;
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.arrayLength:(Ljava/lang/Object;)I
i2l
goto 3
2: StackMap locals:
StackMap stack:
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.priorElementCount:[J
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spineIndex:I
laload
aload 0
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spineIndex:I
aaload
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.arrayLength:(Ljava/lang/Object;)I
i2l
ladd
3: StackMap locals:
StackMap stack: long
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/stream/SpinedBuffer$OfPrimitive<TE;TT_ARR;TT_CONS;>;
private void inflateSpine();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
ifnonnull 4
1: aload 0
aload 0
bipush 8
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.newArrayArray:(I)[Ljava/lang/Object;
putfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
2: aload 0
bipush 8
newarray 11
putfield java.util.stream.SpinedBuffer$OfPrimitive.priorElementCount:[J
3: aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
iconst_0
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.curChunk:Ljava/lang/Object;
aastore
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/stream/SpinedBuffer$OfPrimitive<TE;TT_ARR;TT_CONS;>;
protected final void ensureCapacity(long);
descriptor: (J)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=8, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.capacity:()J
lstore 3
start local 3 1: lload 1
lload 3
lcmp
ifle 15
2: aload 0
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.inflateSpine:()V
3: aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spineIndex:I
iconst_1
iadd
istore 5
start local 5 4: goto 14
5: StackMap locals: long int
StackMap stack:
iload 5
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
arraylength
if_icmplt 9
6: aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
arraylength
iconst_2
imul
istore 6
start local 6 7: aload 0
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
iload 6
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
putfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
8: aload 0
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.priorElementCount:[J
iload 6
invokestatic java.util.Arrays.copyOf:([JI)[J
putfield java.util.stream.SpinedBuffer$OfPrimitive.priorElementCount:[J
end local 6 9: StackMap locals:
StackMap stack:
aload 0
iload 5
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.chunkSize:(I)I
istore 6
start local 6 10: aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
iload 5
aload 0
iload 6
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.newArray:(I)Ljava/lang/Object;
aastore
11: aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.priorElementCount:[J
iload 5
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.priorElementCount:[J
iload 5
iconst_1
isub
laload
aload 0
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
iload 5
iconst_1
isub
aaload
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.arrayLength:(Ljava/lang/Object;)I
i2l
ladd
lastore
12: lload 3
iload 6
i2l
ladd
lstore 3
end local 6 13: iinc 5 1
StackMap locals:
StackMap stack:
14: lload 1
lload 3
lcmp
ifgt 5
end local 5 15: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/util/stream/SpinedBuffer$OfPrimitive<TE;TT_ARR;TT_CONS;>;
0 16 1 targetSize J
1 16 3 capacity J
4 15 5 i I
7 9 6 newSpineSize I
10 13 6 nextChunkSize I
MethodParameters:
Name Flags
targetSize
protected void increaseCapacity();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.capacity:()J
lconst_1
ladd
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.ensureCapacity:(J)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/stream/SpinedBuffer$OfPrimitive<TE;TT_ARR;TT_CONS;>;
protected int chunkFor(long);
descriptor: (J)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spineIndex:I
ifne 4
1: lload 1
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.elementIndex:I
i2l
lcmp
ifge 3
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
lload 1
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
lload 1
aload 0
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.count:()J
lcmp
iflt 6
5: new java.lang.IndexOutOfBoundsException
dup
lload 1
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 7: goto 11
8: StackMap locals: int
StackMap stack:
lload 1
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.priorElementCount:[J
iload 3
laload
aload 0
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
iload 3
aaload
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.arrayLength:(Ljava/lang/Object;)I
i2l
ladd
lcmp
ifge 10
9: iload 3
ireturn
10: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spineIndex:I
if_icmple 8
end local 3 12: new java.lang.IndexOutOfBoundsException
dup
lload 1
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/util/stream/SpinedBuffer$OfPrimitive<TE;TT_ARR;TT_CONS;>;
0 13 1 index J
7 12 3 j I
MethodParameters:
Name Flags
index
public void copyInto(T_ARR, );
descriptor: (Ljava/lang/Object;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 2
i2l
aload 0
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.count:()J
ladd
lstore 3
start local 3 1: lload 3
aload 0
aload 1
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.arrayLength:(Ljava/lang/Object;)I
i2l
lcmp
ifgt 2
lload 3
iload 2
i2l
lcmp
ifge 3
2: StackMap locals: long
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
ldc "does not fit"
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spineIndex:I
ifne 5
4: aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.curChunk:Ljava/lang/Object;
iconst_0
aload 1
iload 2
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.elementIndex:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
goto 13
5: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 6: goto 10
7: StackMap locals: int
StackMap stack:
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
iload 5
aaload
iconst_0
aload 1
iload 2
aload 0
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
iload 5
aaload
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.arrayLength:(Ljava/lang/Object;)I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: iload 2
aload 0
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
iload 5
aaload
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.arrayLength:(Ljava/lang/Object;)I
iadd
istore 2
9: iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spineIndex:I
if_icmplt 7
end local 5 11: aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.elementIndex:I
ifle 13
12: aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.curChunk:Ljava/lang/Object;
iconst_0
aload 1
iload 2
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.elementIndex:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/util/stream/SpinedBuffer$OfPrimitive<TE;TT_ARR;TT_CONS;>;
0 14 1 array TT_ARR;
0 14 2 offset I
1 14 3 finalOffset J
6 11 5 i I
Signature: (TT_ARR;I)V
MethodParameters:
Name Flags
array
offset
public T_ARR asPrimitiveArray();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.count:()J
lstore 1
start local 1 1: lload 1
ldc 2147483639
lcmp
iflt 3
2: new java.lang.IllegalArgumentException
dup
ldc "Stream size exceeds max array size"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: long
StackMap stack:
aload 0
lload 1
l2i
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.newArray:(I)Ljava/lang/Object;
astore 3
start local 3 4: aload 0
aload 3
iconst_0
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.copyInto:(Ljava/lang/Object;I)V
5: aload 3
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/stream/SpinedBuffer$OfPrimitive<TE;TT_ARR;TT_CONS;>;
1 6 1 size J
4 6 3 result TT_ARR;
Signature: ()TT_ARR;
protected void preAccept();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.elementIndex:I
aload 0
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.curChunk:Ljava/lang/Object;
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.arrayLength:(Ljava/lang/Object;)I
if_icmpne 7
1: aload 0
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.inflateSpine:()V
2: aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spineIndex:I
iconst_1
iadd
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
arraylength
if_icmpge 3
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spineIndex:I
iconst_1
iadd
aaload
ifnonnull 4
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.increaseCapacity:()V
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield java.util.stream.SpinedBuffer$OfPrimitive.elementIndex:I
5: aload 0
dup
getfield java.util.stream.SpinedBuffer$OfPrimitive.spineIndex:I
iconst_1
iadd
putfield java.util.stream.SpinedBuffer$OfPrimitive.spineIndex:I
6: aload 0
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spineIndex:I
aaload
putfield java.util.stream.SpinedBuffer$OfPrimitive.curChunk:Ljava/lang/Object;
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/util/stream/SpinedBuffer$OfPrimitive<TE;TT_ARR;TT_CONS;>;
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
ifnull 4
1: aload 0
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
iconst_0
aaload
putfield java.util.stream.SpinedBuffer$OfPrimitive.curChunk:Ljava/lang/Object;
2: aload 0
aconst_null
putfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
3: aload 0
aconst_null
putfield java.util.stream.SpinedBuffer$OfPrimitive.priorElementCount:[J
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield java.util.stream.SpinedBuffer$OfPrimitive.elementIndex:I
5: aload 0
iconst_0
putfield java.util.stream.SpinedBuffer$OfPrimitive.spineIndex:I
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/stream/SpinedBuffer$OfPrimitive<TE;TT_ARR;TT_CONS;>;
public void forEach();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
iload 2
aaload
iconst_0
aload 0
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spine:[Ljava/lang/Object;
iload 2
aaload
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.arrayLength:(Ljava/lang/Object;)I
aload 1
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.arrayForEach:(Ljava/lang/Object;IILjava/lang/Object;)V
3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.spineIndex:I
if_icmplt 2
end local 2 5: aload 0
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.curChunk:Ljava/lang/Object;
iconst_0
aload 0
getfield java.util.stream.SpinedBuffer$OfPrimitive.elementIndex:I
aload 1
invokevirtual java.util.stream.SpinedBuffer$OfPrimitive.arrayForEach:(Ljava/lang/Object;IILjava/lang/Object;)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/stream/SpinedBuffer$OfPrimitive<TE;TT_ARR;TT_CONS;>;
0 7 1 consumer TT_CONS;
1 5 2 j I
Signature: (TT_CONS;)V
MethodParameters:
Name Flags
consumer
}
Signature: <E:Ljava/lang/Object;T_ARR:Ljava/lang/Object;T_CONS:Ljava/lang/Object;>Ljava/util/stream/AbstractSpinedBuffer;Ljava/lang/Iterable<TE;>;
SourceFile: "SpinedBuffer.java"
NestHost: java.util.stream.SpinedBuffer
InnerClasses:
abstract OfPrimitive = java.util.stream.SpinedBuffer$OfPrimitive of java.util.stream.SpinedBuffer
abstract BaseSpliterator = java.util.stream.SpinedBuffer$OfPrimitive$BaseSpliterator of java.util.stream.SpinedBuffer$OfPrimitive