mirror of
https://gcc.gnu.org/git/gcc.git
synced 2026-02-22 20:01:22 -05:00
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`.
This commit is contained in:
@@ -52,6 +52,22 @@ public:
|
||||
void go (AST::Crate &crate);
|
||||
void go (AST::Item &item);
|
||||
|
||||
/**
|
||||
* Use the AST Dump as a debugging tool
|
||||
*/
|
||||
template <typename T> static void debug (T &instance)
|
||||
{
|
||||
auto dump = Dump (std::cerr);
|
||||
|
||||
std::cerr << '\n';
|
||||
instance.accept_vis (dump);
|
||||
std::cerr << '\n';
|
||||
}
|
||||
template <typename T> static void debug (std::unique_ptr<T> &instance)
|
||||
{
|
||||
debug (*instance);
|
||||
}
|
||||
|
||||
private:
|
||||
std::ostream &stream;
|
||||
Indent indentation;
|
||||
|
||||
Reference in New Issue
Block a user