class java.util.stream.Nodes$ArrayNode<T> implements java.util.stream.Node<T>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.util.stream.Nodes$ArrayNode
super_class: java.lang.Object
{
final T[] array;
descriptor: [Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
Signature: [TT;
int curSize;
descriptor: I
flags: (0x0000)
void <init>(long, java.util.function.IntFunction<T[]>);
descriptor: (JLjava/util/function/IntFunction;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
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: java.util.stream.Nodes$ArrayNode long java.util.function.IntFunction
StackMap stack:
aload 0
aload 3
lload 1
l2i
invokeinterface java.util.function.IntFunction.apply:(I)Ljava/lang/Object;
checkcast java.lang.Object[]
putfield java.util.stream.Nodes$ArrayNode.array:[Ljava/lang/Object;
4: aload 0
iconst_0
putfield java.util.stream.Nodes$ArrayNode.curSize:I
5: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/stream/Nodes$ArrayNode<TT;>;
0 6 1 size J
0 6 3 generator Ljava/util/function/IntFunction<[TT;>;
Signature: (JLjava/util/function/IntFunction<[TT;>;)V
MethodParameters:
Name Flags
size
generator
void <init>();
descriptor: ([Ljava/lang/Object;)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$ArrayNode.array:[Ljava/lang/Object;
2: aload 0
aload 1
arraylength
putfield java.util.stream.Nodes$ArrayNode.curSize:I
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/stream/Nodes$ArrayNode<TT;>;
0 4 1 array [Ljava/lang/Object;
Signature: ([TT;)V
MethodParameters:
Name Flags
array
public java.util.Spliterator<T> spliterator();
descriptor: ()Ljava/util/Spliterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.stream.Nodes$ArrayNode.array:[Ljava/lang/Object;
iconst_0
aload 0
getfield java.util.stream.Nodes$ArrayNode.curSize:I
invokestatic java.util.Arrays.spliterator:([Ljava/lang/Object;II)Ljava/util/Spliterator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/stream/Nodes$ArrayNode<TT;>;
Signature: ()Ljava/util/Spliterator<TT;>;
public void copyInto(T[], );
descriptor: ([Ljava/lang/Object;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield java.util.stream.Nodes$ArrayNode.array:[Ljava/lang/Object;
iconst_0
aload 1
iload 2
aload 0
getfield java.util.stream.Nodes$ArrayNode.curSize:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/stream/Nodes$ArrayNode<TT;>;
0 2 1 dest [Ljava/lang/Object;
0 2 2 destOffset I
Signature: ([TT;I)V
MethodParameters:
Name Flags
dest
destOffset
public T[] asArray(java.util.function.IntFunction<T[]>);
descriptor: (Ljava/util/function/IntFunction;)[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.stream.Nodes$ArrayNode.array:[Ljava/lang/Object;
arraylength
aload 0
getfield java.util.stream.Nodes$ArrayNode.curSize:I
if_icmpne 2
1: aload 0
getfield java.util.stream.Nodes$ArrayNode.array:[Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/stream/Nodes$ArrayNode<TT;>;
0 3 1 generator Ljava/util/function/IntFunction<[TT;>;
Signature: (Ljava/util/function/IntFunction<[TT;>;)[TT;
MethodParameters:
Name Flags
generator
public long count();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.stream.Nodes$ArrayNode.curSize:I
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/stream/Nodes$ArrayNode<TT;>;
public void forEach(java.util.function.Consumer<? super T>);
descriptor: (Ljava/util/function/Consumer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, 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 1
aload 0
getfield java.util.stream.Nodes$ArrayNode.array:[Ljava/lang/Object;
iload 2
aaload
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
aload 0
getfield java.util.stream.Nodes$ArrayNode.curSize:I
if_icmplt 2
end local 2 5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/stream/Nodes$ArrayNode<TT;>;
0 6 1 consumer Ljava/util/function/Consumer<-TT;>;
1 5 2 i I
Signature: (Ljava/util/function/Consumer<-TT;>;)V
MethodParameters:
Name Flags
consumer
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: ldc "ArrayNode[%d][%s]"
iconst_2
anewarray java.lang.Object
dup
iconst_0
1: aload 0
getfield java.util.stream.Nodes$ArrayNode.array:[Ljava/lang/Object;
arraylength
aload 0
getfield java.util.stream.Nodes$ArrayNode.curSize:I
isub
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
getfield java.util.stream.Nodes$ArrayNode.array:[Ljava/lang/Object;
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
aastore
2: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/stream/Nodes$ArrayNode<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/stream/Node<TT;>;
SourceFile: "Nodes.java"
NestHost: java.util.stream.Nodes
InnerClasses:
private ArrayNode = java.util.stream.Nodes$ArrayNode of java.util.stream.Nodes