writeCodepoints method
Feeds already-decoded Unicode code points into the parser, taking
ownership of codepoints: the caller must not mutate or reuse the list
afterwards. This is the entry point of the byte-level input path
(Terminal.writeBytes), where UTF-8 decoding happens upstream of the
parser and no String materializes at all.
Implementation
void writeCodepoints(List<int> codepoints) {
_queue.unrefConsumedBlocks();
_queue.addCodepoints(codepoints);
_process();
}