identifierAt method

IdentToken? identifierAt(
  1. int offset
)

The identifier occurrence covering offset, or null.

Implementation

IdentToken? identifierAt(int offset) {
  // Binary search on start; identifiers are non-overlapping and ordered.
  var lo = 0, hi = identifiers.length - 1;
  while (lo <= hi) {
    final mid = (lo + hi) >> 1;
    final t = identifiers[mid];
    if (offset < t.start) {
      hi = mid - 1;
    } else if (offset > t.end) {
      lo = mid + 1;
    } else {
      return t;
    }
  }
  return null;
}