forked from qt-creator/qt-creator
Dumper: Fix dynamic type dumper for generic struct
Change-Id: Idb5ff44061afa8170afed3737f1be378165732f2 Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
@@ -1673,26 +1673,22 @@ class Dumper:
|
|||||||
|
|
||||||
|
|
||||||
if self.useDynamicType and tryDynamic:
|
if self.useDynamicType and tryDynamic:
|
||||||
dtypeName = dynamicTypeName(value.cast(type))
|
self.putItem(expensiveUpcast(value), False)
|
||||||
else:
|
return
|
||||||
dtypeName = typeName
|
|
||||||
|
|
||||||
format = self.formats.get(self.currentIName)
|
format = self.formats.get(self.currentIName)
|
||||||
if format is None:
|
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):
|
if self.useFancy and (format is None or format >= 1):
|
||||||
self.putAddress(value.address)
|
self.putAddress(value.address)
|
||||||
self.putType(dtypeName)
|
self.putType(typeName)
|
||||||
|
|
||||||
if dtypeName in qqDumpers:
|
if typeName in qqDumpers:
|
||||||
if tryDynamic:
|
qqDumpers[typeName](self, value)
|
||||||
qqDumpers[dtypeName](self, expensiveUpcast(value))
|
|
||||||
else:
|
|
||||||
qqDumpers[dtypeName](self, value)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
nsStrippedType = self.stripNamespaceFromType(dtypeName)\
|
nsStrippedType = self.stripNamespaceFromType(typeName)\
|
||||||
.replace("::", "__")
|
.replace("::", "__")
|
||||||
|
|
||||||
# The following block is only needed for D.
|
# The following block is only needed for D.
|
||||||
@@ -1727,7 +1723,7 @@ class Dumper:
|
|||||||
fields = extractFields(type)
|
fields = extractFields(type)
|
||||||
#fields = type.fields()
|
#fields = type.fields()
|
||||||
|
|
||||||
self.putType(dtypeName)
|
self.putType(typeName)
|
||||||
self.putAddress(value.address)
|
self.putAddress(value.address)
|
||||||
self.putValue("{...}")
|
self.putValue("{...}")
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user