From: Arthur Cohen Date: Mon, 29 Aug 2022 11:37:00 +0000 (+0200) Subject: gccrs: dump: Add AST debugging using the AST::Dump class X-Git-Tag: basepoints/gcc-14~1664 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7dc41901213d32ff9962f1d54cc6291c38d0e597;p=thirdparty%2Fgcc.git gccrs: dump: Add AST debugging using the AST::Dump class gcc/rust/ChangeLog: * ast/rust-ast-dump.h: Add shorthand `AST::Dump::debug` function to dump an AST node on `stderr`. --- diff --git a/gcc/rust/ast/rust-ast-dump.h b/gcc/rust/ast/rust-ast-dump.h index 4fa4db9265f0..955dbc0bebc4 100644 --- a/gcc/rust/ast/rust-ast-dump.h +++ b/gcc/rust/ast/rust-ast-dump.h @@ -52,6 +52,22 @@ public: void go (AST::Crate &crate); void go (AST::Item &item); + /** + * Use the AST Dump as a debugging tool + */ + template static void debug (T &instance) + { + auto dump = Dump (std::cerr); + + std::cerr << '\n'; + instance.accept_vis (dump); + std::cerr << '\n'; + } + template static void debug (std::unique_ptr &instance) + { + debug (*instance); + } + private: std::ostream &stream; Indent indentation;