Update trees' metadata bits when setting symbol back to word token

This commit is contained in:
Max Brunsfeld 2019-01-29 15:30:13 -08:00
parent f6d014f3f4
commit 213ccfd3a4
3 changed files with 20 additions and 10 deletions

View file

@ -132,6 +132,7 @@ void ts_subtree_retain(Subtree);
void ts_subtree_release(SubtreePool *, Subtree);
bool ts_subtree_eq(Subtree, Subtree);
int ts_subtree_compare(Subtree, Subtree);
void ts_subtree_set_symbol(MutableSubtree *, TSSymbol, const TSLanguage *);
void ts_subtree_set_children(MutableSubtree, Subtree *, uint32_t, const TSLanguage *);
void ts_subtree_balance(Subtree, SubtreePool *, const TSLanguage *);
Subtree ts_subtree_edit(Subtree, const TSInputEdit *edit, SubtreePool *);
@ -154,15 +155,6 @@ static inline uint32_t ts_subtree_lookahead_bytes(Subtree self) { return SUBTREE
#undef SUBTREE_GET
static inline void ts_subtree_set_symbol(MutableSubtree *self, TSSymbol symbol) {
if (self->data.is_inline) {
assert(symbol < UINT8_MAX);
self->data.symbol = symbol;
} else {
self->ptr->symbol = symbol;
}
}
static inline void ts_subtree_set_extra(MutableSubtree *self) {
if (self->data.is_inline) {
self->data.extra = true;