Debuger: Fix enum dumper (again)

Fixes: QTCREATORBUG-21726
Change-Id: I25f4a84d88a915247456ac8e12877d503ae0d49a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2018-12-17 10:57:48 +01:00
parent aa8629cbfd
commit 18bee3a08f

View File

@@ -189,7 +189,7 @@ class Dumper(DumperBase):
self.nativeStructAlignment(nativeType) self.nativeStructAlignment(nativeType)
if code == TypeCodeEnum: if code == TypeCodeEnum:
tdata.enumDisplay = lambda intval, addr, form : \ tdata.enumDisplay = lambda intval, addr, form : \
self.nativeTypeEnumDisplay(nativeType, addr, form) self.nativeTypeEnumDisplay(nativeType, intval, form)
tdata.templateArguments = self.listTemplateParameters(nativeType.name()) tdata.templateArguments = self.listTemplateParameters(nativeType.name())
self.registerType(typeId, tdata) # Fix up fields and template args self.registerType(typeId, tdata) # Fix up fields and template args
return self.Type(self, typeId) return self.Type(self, typeId)
@@ -215,11 +215,11 @@ class Dumper(DumperBase):
align = handleItem(f.type(), align) align = handleItem(f.type(), align)
return align return align
def nativeTypeEnumDisplay(self, nativeType, addr, form): def nativeTypeEnumDisplay(self, nativeType, intval, form):
value = cdbext.createValue(addr, nativeType) value = self.nativeParseAndEvaluate('(%s)%d' % (nativeType.name(), intval))
if value is None: if value is None:
return '' return ''
return enumDisplay(value) return self.enumValue(value)
def enumExpression(self, enumType, enumValue): def enumExpression(self, enumType, enumValue):
ns = self.qtNamespace() ns = self.qtNamespace()