readDecoded method

List<int> readDecoded(
  1. int decodedByteOffset,
  2. TreeSitterPoint _
)

Implementation

List<int> readDecoded(int decodedByteOffset, TreeSitterPoint _) {
  if (decodedByteOffset < _decodedBytes.length) {
    return _decodedBytes.sublist(decodedByteOffset);
  }
  if (decodedByteOffset != _decodedBytes.length) {
    throw StateError(
      'Decoded callback requested byte $decodedByteOffset after '
      '${_decodedBytes.length} cached bytes.',
    );
  }
  while (decodedByteOffset == _decodedBytes.length && !_physicalEof) {
    if (_decodeOne()) break;
  }
  return decodedByteOffset < _decodedBytes.length
      ? _decodedBytes.sublist(decodedByteOffset)
      : const <int>[];
}