aboutsummaryrefslogtreecommitdiff
path: root/src/tree_sitter/stack.c
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2020-08-27 23:18:36 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2020-09-04 20:59:00 +0200
commit7593c8012b1d183ce4806daca3fb50795ab969bf (patch)
treeb14e9f030b156aedd26ea45c79f73e5317cffe55 /src/tree_sitter/stack.c
parent3853276d9cacc99a2698117e904475dbf7033383 (diff)
downloadrneovim-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.c11
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);