diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2020-08-27 23:18:36 +0200 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2020-09-04 20:59:00 +0200 |
commit | 7593c8012b1d183ce4806daca3fb50795ab969bf (patch) | |
tree | b14e9f030b156aedd26ea45c79f73e5317cffe55 /src/tree_sitter/stack.c | |
parent | 3853276d9cacc99a2698117e904475dbf7033383 (diff) | |
download | rneovim-7593c8012b1d183ce4806daca3fb50795ab969bf.tar.gz rneovim-7593c8012b1d183ce4806daca3fb50795ab969bf.tar.bz2 rneovim-7593c8012b1d183ce4806daca3fb50795ab969bf.zip |
treesitter: update runtime
Diffstat (limited to 'src/tree_sitter/stack.c')
-rw-r--r-- | src/tree_sitter/stack.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/tree_sitter/stack.c b/src/tree_sitter/stack.c index 6ceee2577f..6a8d897c37 100644 --- a/src/tree_sitter/stack.c +++ b/src/tree_sitter/stack.c @@ -571,7 +571,12 @@ void ts_stack_record_summary(Stack *self, StackVersion version, unsigned max_dep }; array_init(session.summary); stack__iter(self, version, summarize_stack_callback, &session, -1); - self->heads.contents[version].summary = session.summary; + StackHead *head = &self->heads.contents[version]; + if (head->summary) { + array_delete(head->summary); + ts_free(head->summary); + } + head->summary = session.summary; } StackSummary *ts_stack_get_summary(Stack *self, StackVersion version) { @@ -743,6 +748,10 @@ bool ts_stack_print_dot_graph(Stack *self, const TSLanguage *language, FILE *f) ts_stack_error_cost(self, i) ); + if (head->summary) { + fprintf(f, "\nsummary_size: %u", head->summary->size); + } + if (head->last_external_token.ptr) { const ExternalScannerState *state = &head->last_external_token.ptr->external_scanner_state; const char *data = ts_external_scanner_state_data(state); |