From: Pierre-Emmanuel Patry <[email protected]>
A crate is not a visitable and thus cannot be used with the debug
function. Until it is made visitable this commit provides a function
to dump the content of a crate.
gcc/rust/ChangeLog:
* ast/rust-ast-dump.cc (debug): Add debug function which calls debug
on every crate field.
* ast/rust-ast-dump.h (debug): Add function prototype.
Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
---
gcc/rust/ast/rust-ast-dump.cc | 13 +++++++++++++
gcc/rust/ast/rust-ast-dump.h | 1 +
2 files changed, 14 insertions(+)
diff --git a/gcc/rust/ast/rust-ast-dump.cc b/gcc/rust/ast/rust-ast-dump.cc
index a30e85ed0ad..e813ea9d7f5 100644
--- a/gcc/rust/ast/rust-ast-dump.cc
+++ b/gcc/rust/ast/rust-ast-dump.cc
@@ -105,3 +105,16 @@ debug (Rust::AST::Visitable &v)
{
Rust::AST::Dump::debug (v);
}
+
+void
+debug (Rust::AST::Crate &crate)
+{
+ for (auto &inner_attr : crate.get_inner_attrs ())
+ {
+ debug (inner_attr);
+ }
+ for (auto &item : crate.items)
+ {
+ debug (*item);
+ }
+}
diff --git a/gcc/rust/ast/rust-ast-dump.h b/gcc/rust/ast/rust-ast-dump.h
index 497f84aae91..cb281de8eee 100644
--- a/gcc/rust/ast/rust-ast-dump.h
+++ b/gcc/rust/ast/rust-ast-dump.h
@@ -143,5 +143,6 @@ private:
// In the global namespace to make it easier to call from debugger
void debug (Rust::AST::Visitable &v);
+void debug (Rust::AST::Crate &v);
#endif // !RUST_AST_DUMP_H
--
2.50.1