fix(lib): improve wasm scanner serialization error handling

Co-authored-by: Amaan Qureshi <contact@amaanq.com>
(cherry picked from commit 0c35511aea)
This commit is contained in:
Will Lillis 2025-09-12 01:39:54 -04:00 committed by Amaan Qureshi
parent a467ea8502
commit 20dad25cce

View file

@ -396,20 +396,24 @@ static void ts_parser__external_scanner_destroy(
static unsigned ts_parser__external_scanner_serialize(
TSParser *self
) {
uint32_t length;
if (ts_language_is_wasm(self->language)) {
return ts_wasm_store_call_scanner_serialize(
length = ts_wasm_store_call_scanner_serialize(
self->wasm_store,
(uintptr_t)self->external_scanner_payload,
self->lexer.debug_buffer
);
if (ts_wasm_store_has_error(self->wasm_store)) {
self->has_scanner_error = true;
}
} else {
uint32_t length = self->language->external_scanner.serialize(
length = self->language->external_scanner.serialize(
self->external_scanner_payload,
self->lexer.debug_buffer
);
ts_assert(length <= TREE_SITTER_SERIALIZATION_BUFFER_SIZE);
return length;
}
ts_assert(length <= TREE_SITTER_SERIALIZATION_BUFFER_SIZE);
return length;
}
static void ts_parser__external_scanner_deserialize(