aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorOrgad Shaneh <orgads@gmail.com>2012-04-01 19:18:26 +0300
committerhjk <qthjk@ovi.com>2012-04-02 13:50:45 +0200
commitd6a2667dac94864a0169d71d782a9b84aa8200ba (patch)
treea68d131f93a2c259c3f03e07ff8e64b6844c40e2 /share
parent26d0311b7038c917d0afc30e54b238f88b7ba5ab (diff)
Dumper: Fix dynamic type dumper for generic struct
Change-Id: Idb5ff44061afa8170afed3737f1be378165732f2 Reviewed-by: hjk <qthjk@ovi.com>
Diffstat (limited to 'share')
-rw-r--r--share/qtcreator/dumper/dumper.py20
1 files changed, 8 insertions, 12 deletions
diff --git a/share/qtcreator/dumper/dumper.py b/share/qtcreator/dumper/dumper.py
index 4a1af665c2..973f80afe4 100644
--- a/share/qtcreator/dumper/dumper.py
+++ b/share/qtcreator/dumper/dumper.py
@@ -1673,26 +1673,22 @@ class Dumper:
if self.useDynamicType and tryDynamic:
- dtypeName = dynamicTypeName(value.cast(type))
- else:
- dtypeName = typeName
+ self.putItem(expensiveUpcast(value), False)
+ return
format = self.formats.get(self.currentIName)
if format is None:
- format = self.typeformats.get(stripForFormat(dtypeName))
+ format = self.typeformats.get(stripForFormat(typeName))
if self.useFancy and (format is None or format >= 1):
self.putAddress(value.address)
- self.putType(dtypeName)
+ self.putType(typeName)
- if dtypeName in qqDumpers:
- if tryDynamic:
- qqDumpers[dtypeName](self, expensiveUpcast(value))
- else:
- qqDumpers[dtypeName](self, value)
+ if typeName in qqDumpers:
+ qqDumpers[typeName](self, value)
return
- nsStrippedType = self.stripNamespaceFromType(dtypeName)\
+ nsStrippedType = self.stripNamespaceFromType(typeName)\
.replace("::", "__")
# The following block is only needed for D.
@@ -1727,7 +1723,7 @@ class Dumper:
fields = extractFields(type)
#fields = type.fields()
- self.putType(dtypeName)
+ self.putType(typeName)
self.putAddress(value.address)
self.putValue("{...}")