fetch method

int fetch(
  1. int n
)

Add n elements to buffer.

@return The actual number of elements added to the buffer.

Implementation

int fetch(int n) {
  if (fetchedEOF) {
    return 0;
  }

  for (var i = 0; i < n; i++) {
    final t = tokenSource.nextToken();
    if (t is WritableToken) {
      t.tokenIndex = tokens.length;
    }
    tokens.add(t);
    if (t.type == Token.EOF) {
      fetchedEOF = true;
      return i + 1;
    }
  }

  return n;
}