forked from qt-creator/qt-creator
Debugger: Re-enable access to dumper.Value by integral index
Task-number: QTCREATORBUG-17220 Change-Id: I63632a90e2518151b3bf20b1241c24f9808ec39c Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -2862,6 +2862,9 @@ class DumperBase:
|
||||
elif isinstance(index, self.dumper.Field):
|
||||
field = index
|
||||
elif self.dumper.isInt(index):
|
||||
if self.type.code in (TypeCodeArray, TypeCodePointer):
|
||||
itemAddress = self.laddress + int(index) * self.type.ltarget.size()
|
||||
return self.dumper.createValue(itemAddress, self.type.ltarget)
|
||||
return self.members(False)[index]
|
||||
else:
|
||||
error('BAD INDEX TYPE %s' % type(index))
|
||||
|
@@ -315,3 +315,14 @@ def qdump__WTF__String(d, value):
|
||||
charSize = 2
|
||||
|
||||
d.putCharArrayHelper(bufferPtr, stringLength, charSize)
|
||||
|
||||
|
||||
#######################################################################
|
||||
#
|
||||
# Internal test
|
||||
#
|
||||
#######################################################################
|
||||
|
||||
def qdump__QtcDumperTest_FieldAccessByIndex(d, value):
|
||||
d.putValue(value["d"][2].integer())
|
||||
|
||||
|
@@ -6239,6 +6239,11 @@ void tst_Dumpers::dumper_data()
|
||||
+ Check("v15", "\"utf16\"", "@QJSValue (QString)")
|
||||
+ Check("v15.1", "[1]", "116", "@QChar");
|
||||
|
||||
QTest::newRow("Internal1")
|
||||
<< Data("struct QtcDumperTest_FieldAccessByIndex { int d[3] = { 10, 11, 12 }; };\n",
|
||||
"QtcDumperTest_FieldAccessByIndex d; unused(&d);\n")
|
||||
+ Check("d", "12", "QtcDumperTest_FieldAccessByIndex");
|
||||
|
||||
#if 0
|
||||
#ifdef Q_OS_LINUX
|
||||
// Hint: To open a failing test in Creator, do:
|
||||
|
Reference in New Issue
Block a user