forked from qt-creator/qt-creator
Debugger: Use natural order when displaying a map
Task-number: QTCREATORBUG-10781 Change-Id: I20e6ee87efd445a32539f6600fa90a5192c72114 Reviewed-by: Eike Ziller <eike.ziller@digia.com>
This commit is contained in:
@@ -920,38 +920,36 @@ def qdumpHelper__Qt5_QMap(d, value, forceLong):
|
|||||||
else:
|
else:
|
||||||
innerType = nodeType
|
innerType = nodeType
|
||||||
|
|
||||||
with Children(d, n, childType=innerType):
|
|
||||||
toDo = []
|
def helper(d, node, nodeType, isCompact, forceLong, i):
|
||||||
i = -1
|
|
||||||
node = d_ptr["header"]
|
|
||||||
left = node["left"]
|
left = node["left"]
|
||||||
if not d.isNull(left):
|
if not d.isNull(left):
|
||||||
toDo.append(left.dereference())
|
i = helper(d, left.dereference(), nodeType, isCompact, forceLong, i)
|
||||||
|
|
||||||
|
nodex = node.cast(nodeType)
|
||||||
|
with SubItem(d, i):
|
||||||
|
d.putField("iname", d.currentIName)
|
||||||
|
if isCompact:
|
||||||
|
if forceLong:
|
||||||
|
d.putName("[%s] %s" % (i, nodex["key"]))
|
||||||
|
else:
|
||||||
|
d.putMapName(nodex["key"])
|
||||||
|
d.putItem(nodex["value"])
|
||||||
|
else:
|
||||||
|
qdump__QMapNode(d, nodex)
|
||||||
|
|
||||||
|
i += 1
|
||||||
|
|
||||||
right = node["right"]
|
right = node["right"]
|
||||||
if not d.isNull(right):
|
if not d.isNull(right):
|
||||||
toDo.append(right.dereference())
|
i = helper(d, right.dereference(), nodeType, isCompact, forceLong, i)
|
||||||
|
|
||||||
while len(toDo):
|
return i
|
||||||
node = toDo[0].cast(nodeType)
|
|
||||||
toDo = toDo[1:]
|
with Children(d, n, childType=innerType):
|
||||||
left = node["left"]
|
node = d_ptr["header"]
|
||||||
if not d.isNull(left):
|
helper(d, node, nodeType, isCompact, forceLong, 0)
|
||||||
toDo.append(left.dereference())
|
|
||||||
right = node["right"]
|
|
||||||
if not d.isNull(right):
|
|
||||||
toDo.append(right.dereference())
|
|
||||||
i += 1
|
|
||||||
|
|
||||||
with SubItem(d, i):
|
|
||||||
d.putField("iname", d.currentIName)
|
|
||||||
if isCompact:
|
|
||||||
if forceLong:
|
|
||||||
d.putName("[%s] %s" % (i, node["key"]))
|
|
||||||
else:
|
|
||||||
d.putMapName(node["key"])
|
|
||||||
d.putItem(node["value"])
|
|
||||||
else:
|
|
||||||
qdump__QMapNode(d, node)
|
|
||||||
|
|
||||||
|
|
||||||
def qdumpHelper__QMap(d, value, forceLong):
|
def qdumpHelper__QMap(d, value, forceLong):
|
||||||
|
|||||||
Reference in New Issue
Block a user