add a src() method to AstNode to aid debugging

This commit is contained in:
Andrew Kelley 2019-08-05 03:09:17 -04:00
parent a7763c06f9
commit dfe8c5a2e9
No known key found for this signature in database
GPG Key ID: 7C5F548F728501A9
2 changed files with 10 additions and 0 deletions

View File

@ -1009,6 +1009,10 @@ struct AstNode {
AstNodeAnyFrameType anyframe_type;
AstNodeEnumLiteral enum_literal;
} data;
// This is a function for use in the debugger to print
// the source location.
void src();
};
// this struct is allocated with allocate_nonzero

View File

@ -1186,3 +1186,9 @@ void ast_render(FILE *f, AstNode *node, int indent_size) {
render_node_grouped(&ar, node);
}
void AstNode::src() {
fprintf(stderr, "%s:%" ZIG_PRI_usize ":%" ZIG_PRI_usize "\n",
buf_ptr(this->owner->data.structure.root_struct->path),
this->line + 1, this->column + 1);
}