[applied] ir: Improve get_debug_representation
Commit Message
Hello,
While looking at something else, I noticed that the debug() function,
very useful which debugging (using GDB at least) could be improved for
classes/unions by prefixing the type name with struct/class/union as
appropriate.
Fixed thus.
* src/abg-ir.cc (get_debug_representation): Prefix
classes/structs/unions with the 'classes/struct/union' prefix.
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
---
src/abg-ir.cc | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
@@ -9303,6 +9303,15 @@ get_debug_representation(const type_or_decl_base* artifact)
class_decl *clazz = is_class_type(c);
string name = c->get_qualified_name();
std::ostringstream o;
+ if (clazz)
+ {
+ if (clazz->is_struct())
+ o << "struct ";
+ else
+ o << "class ";
+ }
+ else if (is_union_type(c))
+ o << "union ";
o << name;
if (clazz)
@@ -9362,7 +9371,7 @@ get_debug_representation(const type_or_decl_base* artifact)
{
string name = e->get_qualified_name();
std::ostringstream o;
- o << name
+ o << "union " << name
<< " : "
<< e->get_underlying_type()->get_pretty_representation(/*internal=*/false,
true)