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):
|
elif isinstance(index, self.dumper.Field):
|
||||||
field = index
|
field = index
|
||||||
elif self.dumper.isInt(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]
|
return self.members(False)[index]
|
||||||
else:
|
else:
|
||||||
error('BAD INDEX TYPE %s' % type(index))
|
error('BAD INDEX TYPE %s' % type(index))
|
||||||
|
@@ -315,3 +315,14 @@ def qdump__WTF__String(d, value):
|
|||||||
charSize = 2
|
charSize = 2
|
||||||
|
|
||||||
d.putCharArrayHelper(bufferPtr, stringLength, charSize)
|
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", "\"utf16\"", "@QJSValue (QString)")
|
||||||
+ Check("v15.1", "[1]", "116", "@QChar");
|
+ 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
|
#if 0
|
||||||
#ifdef Q_OS_LINUX
|
#ifdef Q_OS_LINUX
|
||||||
// Hint: To open a failing test in Creator, do:
|
// Hint: To open a failing test in Creator, do:
|
||||||
|
Reference in New Issue
Block a user