Check that language is present in both parse() and resume()
This commit is contained in:
parent
986ceefc81
commit
69d8c6f5e6
2 changed files with 10 additions and 0 deletions
|
|
@ -1440,6 +1440,7 @@ TSTree *ts_parser_resume(TSParser *self) {
|
|||
}
|
||||
|
||||
TSTree *ts_parser_parse(TSParser *self, const TSTree *old_tree, TSInput input) {
|
||||
if (!self->language) return NULL;
|
||||
ts_parser__start(self, input, old_tree ? old_tree->root : NULL);
|
||||
return ts_parser_resume(self);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -568,6 +568,15 @@ describe("Parser", [&]() {
|
|||
AssertThat(ts_parser_set_language(parser, &language), IsFalse());
|
||||
AssertThat(ts_parser_language(parser), Equals<const TSLanguage *>(nullptr));
|
||||
});
|
||||
|
||||
it("does nothing when parse is called while the language is null", [&]() {
|
||||
tree = ts_parser_parse_string(parser, nullptr, "{}", 2);
|
||||
AssertThat(tree, Equals<TSTree *>(nullptr));
|
||||
|
||||
ts_parser_set_language(parser, nullptr);
|
||||
tree = ts_parser_parse_string(parser, nullptr, "{}", 2);
|
||||
AssertThat(tree, Equals<TSTree *>(nullptr));
|
||||
});
|
||||
});
|
||||
|
||||
describe("set_logger(TSLogger)", [&]() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue