From 98b6fd26bfb36e297f2a2171f1406acad82f0e4f Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Wed, 1 Aug 2018 15:40:19 +0300 Subject: [PATCH] Dumper: Fix enum display in nested types When used in SubItem, enums were displayed as "value of type E at address ". Change-Id: Ieecfb791126c6f63f272817afc6c8d05f28b9242 Reviewed-by: David Schulz --- share/qtcreator/debugger/dumper.py | 2 ++ tests/auto/debugger/tst_dumpers.cpp | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index 4805545d246..b800a5ab24e 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 9ac49187bae..f004a229bdb 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");