aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2018-08-01 15:40:19 +0300
committerOrgad Shaneh <orgads@gmail.com>2018-08-16 06:42:21 +0000
commit98b6fd26bfb36e297f2a2171f1406acad82f0e4f (patch)
tree5ce17e6ac1d70ee33ef4d0624e91b5820436c693
parentc5777741779ceee54a1761539933642dd1160273 (diff)
Dumper: Fix enum display in nested types
When used in SubItem, enums were displayed as "value of type E at address <addr>". Change-Id: Ieecfb791126c6f63f272817afc6c8d05f28b9242 Reviewed-by: David Schulz <david.schulz@qt.io>
-rw-r--r--share/qtcreator/debugger/dumper.py2
-rw-r--r--tests/auto/debugger/tst_dumpers.cpp4
2 files changed, 5 insertions, 1 deletions
diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py
index 4805545d24..b800a5ab24 100644
--- a/share/qtcreator/debugger/dumper.py
+++ b/share/qtcreator/debugger/dumper.py
@@ -2924,6 +2924,8 @@ class DumperBase:
return str(simple)
if self.ldisplay is not None:
return self.ldisplay
+ if self.type.code == TypeCodeEnum:
+ return self.displayEnum()
#if self.ldata is not None:
# if sys.version_info[0] == 2 and isinstance(self.ldata, buffer):
# return bytes(self.ldata).encode('hex')
diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp
index 9ac49187ba..f004a229bd 100644
--- a/tests/auto/debugger/tst_dumpers.cpp
+++ b/tests/auto/debugger/tst_dumpers.cpp
@@ -6836,12 +6836,14 @@ void tst_Dumpers::dumper_data()
QTest::newRow("Internal2")
- << Data("struct Foo { int bar = 15; }; \n"
+ << Data("enum E { V1, V2 };\n"
+ "struct Foo { int bar = 15; E e = V1; };\n"
"struct QtcDumperTest_PointerArray {\n"
" Foo *foos = new Foo[10];\n"
"};\n\n",
"QtcDumperTest_PointerArray tc; unused(&tc);\n")
+ Check("tc.0.bar", "15", "int")
+ + Check("tc.0.e", "V1 (0)", "E")
+ Check("tc.1.bar", "15", "int")
+ Check("tc.2.bar", "15", "int")
+ Check("tc.3.bar", "15", "int");