Fix query analysis with top-level non-terminal extras

Fixes https://github.com/tree-sitter/tree-sitter/issues/968#issuecomment-792314281
This commit is contained in:
Max Brunsfeld 2021-03-08 09:33:26 -08:00
parent 5a2534ac4a
commit 6ba11d7778
2 changed files with 18 additions and 2 deletions

View file

@ -784,8 +784,10 @@ static bool ts_query__analyze_patterns(TSQuery *self, unsigned *error_offset) {
state_predecessor_map_add(&predecessor_map, next_state, state);
}
}
} else if (lookahead_iterator.next_state != 0 && lookahead_iterator.next_state != state) {
state_predecessor_map_add(&predecessor_map, lookahead_iterator.next_state, state);
} else if (lookahead_iterator.next_state != 0) {
if (lookahead_iterator.next_state != state) {
state_predecessor_map_add(&predecessor_map, lookahead_iterator.next_state, state);
}
const TSSymbol *aliases, *aliases_end;
ts_language_aliases_for_symbol(
self->language,