forked from qt-creator/qt-creator
Debugger: Fix QFlags dumper for cdb
Also adding a test covering this dumper. Change-Id: I491dd87e52f65bf3faf21d81436f264507bf0b51 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -642,10 +642,10 @@ def qdump__QFiniteStack(d, value):
|
||||
def qdump__QFlags(d, value):
|
||||
i = value.split('{int}')[0]
|
||||
enumType = value.type[0]
|
||||
if d.isLldb:
|
||||
d.putValue(i.cast(enumType.name).display())
|
||||
else:
|
||||
if d.isGdb:
|
||||
d.putValue(i.cast('enum ' + enumType.name).display())
|
||||
else:
|
||||
d.putValue(i.cast(enumType.name).display())
|
||||
d.putNumChild(0)
|
||||
|
||||
|
||||
|
||||
@@ -1895,6 +1895,17 @@ void tst_Dumpers::dumper_data()
|
||||
+ Check("c", "120", "@QChar");
|
||||
|
||||
|
||||
QTest::newRow("QFlags")
|
||||
<< Data("#include <QFlags>\n"
|
||||
"enum Foo { a = 0x1, b = 0x2 };\n"
|
||||
"Q_DECLARE_FLAGS(FooFlags, Foo)\n"
|
||||
"Q_DECLARE_OPERATORS_FOR_FLAGS(FooFlags)\n",
|
||||
"FooFlags f1(a);\n"
|
||||
"FooFlags f2(a | b);\n")
|
||||
+ CoreProfile()
|
||||
+ Check("f1", "a (1)", TypeDef("QFlags<enum Foo>", "FooFlags"))
|
||||
+ Check("f2", "(a | b) (3)", "FooFlags") % GdbEngine;
|
||||
|
||||
QTest::newRow("QDateTime")
|
||||
<< Data("#include <QDateTime>\n",
|
||||
|
||||
|
||||
Reference in New Issue
Block a user