iterArray method

bool iterArray()

Allows iterating a list value without allocating a List.

Returns true if there is another element in the list.

Implementation

bool iterArray() {
  _skipWhitespace();
  switch (buffer[_offset++]) {
    case tokenLBracket:
    case tokenComma:
      _skipWhitespace();
      if (buffer[_offset] == tokenRBracket) {
        _offset++;
        return false;
      }
      return true;
    case tokenRBracket:
      return false;
    default:
      _error(_offset - 1, expected: '[ or , or ]');
  }
}