diff --git a/src/runtime/document.c b/src/runtime/document.c index 34c7b19c..9f85f0f3 100644 --- a/src/runtime/document.c +++ b/src/runtime/document.c @@ -34,7 +34,10 @@ const TSLanguage *ts_document_language(TSDocument *self) { void ts_document_set_language(TSDocument *self, const TSLanguage *language) { ts_document_invalidate(self); self->parser.language = language; - self->tree = NULL; + if (self->tree) { + ts_tree_release(self->tree); + self->tree = NULL; + } } TSDebugger ts_document_debugger(const TSDocument *self) {