diff options
author | Cédric Bosdonnat <cedric.bosdonnat@free.fr> | 2013-05-27 19:53:01 +0200 |
---|---|---|
committer | Cédric Bosdonnat <cedric.bosdonnat.ooo@free.fr> | 2013-05-28 15:00:39 +0200 |
commit | 1848540022f2f50436ec505eb82efa99bb14a5b3 (patch) | |
tree | 3b959c6bbdac78847f10a1a17da04d493ec0d88f | |
parent | 9f4c8a8bca06b4c2a916a51909367b453fc41a8b (diff) |
SmartPtr pretty printer now behaves according to set print object value
Change-Id: Ie8a092b7d91e0f379c7102c3aa12da8eb7666840
-rw-r--r-- | solenv/gdb/boost/smart_ptr.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/solenv/gdb/boost/smart_ptr.py b/solenv/gdb/boost/smart_ptr.py index fdf5818b07f4..6646e12ea5f8 100644 --- a/solenv/gdb/boost/smart_ptr.py +++ b/solenv/gdb/boost/smart_ptr.py @@ -32,9 +32,14 @@ class SmartPtrPrinter: def to_string(self): if self.value['px']: - return "%s %s" % (self.typename, self.value['px'].dereference()) + print_object = gdb.parameter('print object') + value = self.value['px'].dereference() + if print_object: + dynamic_type = self.value['px'].dynamic_type + value = self.value['px'].cast(dynamic_type).dereference() + return "%s %s" % (self.typename, value) else: - return "empty %s" % (self.typename,) + return "empty %s" % (self.typename) printer = None |