gccrs: Add debug helper to dump HIR

Add simple debug wrapper to dump HIR nodes on stderr.
Similar to what we already have for AST.

gcc/rust/ChangeLog:

	* hir/rust-hir-dump.cc (Dump::debug): New.
	(debug): New.
	* hir/rust-hir-dump.h (debug): New.

Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
This commit is contained in:
Marc Poulhiès 2023-09-18 22:16:06 +02:00 committed by Arthur Cohen
parent e47a980566
commit af2be5b555
2 changed files with 25 additions and 0 deletions

View file

@ -68,6 +68,18 @@ BoundPolarityString (BoundPolarity polarity)
return "unknown";
}
/**
* Static member used to dump HIR from the debugger to stderr.
*
* @param v The HIR node to dump
*/
void
Dump::debug (FullVisitable &v)
{
Dump dump (std::cerr);
v.accept_vis (dump);
}
void
Dump::go (HIR::Crate &e)
{
@ -2390,3 +2402,10 @@ Dump::visit (BareFunctionType &e)
} // namespace HIR
} // namespace Rust
// In the global namespace to make it easier to call from debugger
void
debug (Rust::HIR::FullVisitable &v)
{
Rust::HIR::Dump::debug (v);
}

View file

@ -32,6 +32,8 @@ namespace HIR {
class Dump : public HIRFullVisitor
{
public:
static void debug (FullVisitable &v);
Dump (std::ostream &stream);
void go (HIR::Crate &crate);
@ -248,4 +250,8 @@ private:
} // namespace HIR
} // namespace Rust
// In the global namespace to make it easier to call from debugger
void
debug (Rust::HIR::FullVisitable &v);
#endif // !RUST_HIR_DUMP_H