getRange method

List<Token>? getRange(
  1. int start, [
  2. int? stop
])

Get all tokens from start..stop inclusively */

Implementation

List<Token>? getRange(int start, [int? stop]) {
  stop = stop ?? start;
  if (start < 0 || stop < 0) return null;
  lazyInit();
  final subset = <Token>[];
  if (stop >= tokens.length) stop = tokens.length - 1;
  for (var i = start; i <= stop; i++) {
    final t = tokens[i];
    if (t.type == Token.EOF) break;
    subset.add(t);
  }
  return subset;
}