zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit dfe8c5a2e9b1778c1911e987c9286d05db307fe7 (tree)
parent a7763c06f9941bdeccc0679abf863b21f7cc33a3
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Mon,  5 Aug 2019 03:09:17 -0400

add a src() method to AstNode to aid debugging

Diffstat:
Msrc/all_types.hpp | 4++++
Msrc/ast_render.cpp | 6++++++
2 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/src/all_types.hpp b/src/all_types.hpp @@ -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 diff --git a/src/ast_render.cpp b/src/ast_render.cpp @@ -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); +}