Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorZoltan Varga <vargaz@gmail.com>2009-04-05 04:28:01 +0400
committerZoltan Varga <vargaz@gmail.com>2009-04-05 04:28:01 +0400
commitc185e1b4ef74a6d790bab357aac76ee1c6d25f1c (patch)
treeb69898f80c0ffc382212a17c4af0f234ade7e2bf /data
parenta9fdac157fa19e7f143f1ad41a1928383211a6e5 (diff)
2009-04-05 Zoltan Varga <vargaz@gmail.com>
* mono-gdb.py: Handle superclasses in the pretty printer. svn path=/trunk/mono/; revision=131063
Diffstat (limited to 'data')
-rw-r--r--data/gdb/ChangeLog4
-rw-r--r--data/gdb/mono-gdb.py10
2 files changed, 13 insertions, 1 deletions
diff --git a/data/gdb/ChangeLog b/data/gdb/ChangeLog
index fe66ff41967..07f4a499bfd 100644
--- a/data/gdb/ChangeLog
+++ b/data/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2009-04-05 Zoltan Varga <vargaz@gmail.com>
+
+ * mono-gdb.py: Handle superclasses in the pretty printer.
+
2009-03-27 Zoltan Varga <vargaz@gmail.com>
* mono-gdb.py (StringPrinter.to_string): Fix support for non-ascii characters.
diff --git a/data/gdb/mono-gdb.py b/data/gdb/mono-gdb.py
index d906b7dc813..5102d1eada1 100644
--- a/data/gdb/mono-gdb.py
+++ b/data/gdb/mono-gdb.py
@@ -81,7 +81,15 @@ class ObjectPrinter:
def next(self):
field = self.iter.next ()
- return (field.name, self.obj [field.name])
+ try:
+ if str(self.obj [field.name].type ()) == "object":
+ # Avoid recursion
+ return (field.name, self.obj [field.name].cast (gdb.Type ("void").pointer ()))
+ else:
+ return (field.name, self.obj [field.name])
+ except:
+ # Superclass
+ return (field.name, self.obj.cast (gdb.Type ("struct %s" % (field.name))))
def children(self):
# FIXME: It would be easier if gdb.Value would support iteration itself