summaryrefslogtreecommitdiff
path: root/share/qtcreator/debugger/dumper.py
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2018-12-11 15:15:48 +0100
committerhjk <hjk@qt.io>2018-12-12 09:27:20 +0000
commit81b6d4f637d03f7929e0963803961e6e5a42fa1f (patch)
tree14c68459a3beb5f6b8ea04d1b05687369c872c03 /share/qtcreator/debugger/dumper.py
parent5cd4a73acab1ee3782747d5de55c0ae734bfba2f (diff)
downloadqt-creator-81b6d4f637d03f7929e0963803961e6e5a42fa1f.tar.gz
Debugger: Robustify QEvent dumpers
There's no need to go through unknown enum sizes here, they are known. Also, make it work for namespaced Qt. Avoid casts to typedefs. Change-Id: I9c6fc44a03a0c245f05957306a129f6902f8cf85 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'share/qtcreator/debugger/dumper.py')
-rw-r--r--share/qtcreator/debugger/dumper.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py
index 67292e2e26..1a646ab4e5 100644
--- a/share/qtcreator/debugger/dumper.py
+++ b/share/qtcreator/debugger/dumper.py
@@ -2931,8 +2931,8 @@ class DumperBase:
% (self.name, self.type.name, self.lbitsize, self.lbitpos,
self.dumper.hexencode(self.ldata), addr)
- def displayEnum(self, form='%d'):
- intval = self.integer()
+ def displayEnum(self, form='%d', bitsize=None):
+ intval = self.integer(bitsize)
dd = self.type.typeData().enumDisplay
if dd is None:
return str(intval)
@@ -2957,7 +2957,7 @@ class DumperBase:
return self.detypedef().pointer()
return self.extractInteger(self.dumper.ptrSize() * 8, True)
- def integer(self):
+ def integer(self, bitsize=None):
if self.type.code == TypeCodeTypedef:
return self.detypedef().integer()
elif self.type.code == TypeCodeBitfield:
@@ -2966,7 +2966,8 @@ class DumperBase:
unsigned = self.type.name == 'unsigned' \
or self.type.name.startswith('unsigned ') \
or self.type.name.find(' unsigned ') != -1
- bitsize = self.type.bitsize()
+ if bitsize is None:
+ bitsize = self.type.bitsize()
return self.extractInteger(bitsize, unsigned)
def floatingPoint(self):