diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2018-08-01 15:40:19 +0300 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2018-08-16 06:42:21 +0000 |
commit | 98b6fd26bfb36e297f2a2171f1406acad82f0e4f (patch) | |
tree | 5ce17e6ac1d70ee33ef4d0624e91b5820436c693 | |
parent | c5777741779ceee54a1761539933642dd1160273 (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.py | 2 | ||||
-rw-r--r-- | tests/auto/debugger/tst_dumpers.cpp | 4 |
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"); |