Skip to content

Commit dc6598e

Browse files
committed
Include external token states in stack debug graphs
1 parent 5ee7cbd commit dc6598e

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/runtime/stack.c

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -553,8 +553,20 @@ bool ts_stack_print_dot_graph(Stack *self, const char **symbol_names, FILE *f) {
553553
fprintf(
554554
f,
555555
"node_head_%u -> node_%p [label=%u, fontcolor=blue, weight=10000, "
556-
"labeltooltip=\"push_count: %u\"]\n",
556+
"labeltooltip=\"push_count: %u",
557557
i, head->node, i, head->push_count);
558+
559+
if (head->external_token_state) {
560+
const TSExternalTokenState *s = head->external_token_state;
561+
fprintf(f,
562+
"\nexternal_token_state: "
563+
"%2X %2X %2X %2X %2X %2X %2X %2X %2X %2X %2X %2X %2X %2X %2X %2X",
564+
(*s)[0], (*s)[1], (*s)[2], (*s)[3], (*s)[4], (*s)[5], (*s)[6], (*s)[7],
565+
(*s)[8], (*s)[9], (*s)[10], (*s)[11], (*s)[12], (*s)[13], (*s)[14], (*s)[15]
566+
);
567+
}
568+
569+
fprintf(f, "\"]\n");
558570
array_push(&self->iterators, ((Iterator){.node = head->node }));
559571
}
560572

0 commit comments

Comments
 (0)