newArray method

Array<T, L> newArray (
  1. int length
)

Returns a slice of length from the pre-allocated array of Arena. When length exceeds freeSpace it throws a RangeError.

Implementation

Array<T, L> newArray(int length) {
  assert(length > 0);
  if (freeSpace < length) {
    throw RangeError('Not enough free space');
  }
  final addr = _arrPtr.address + _index;
  final newPtr = Pointer<T>.fromAddress(addr);
  final view = _getView(newPtr, length);
  _index += length;
  return Array<T, L>.fromPtr(newPtr, view);
}