Debugger: Pass request to sort struct members to {gdb,lldb}bridge.py

The request will be honored when creating the values
instead of re-sorting in the frontend.

Change-Id: I0ea13bd9b0700a4d2ae4f0b355c56ddd37557398
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This commit is contained in:
hjk
2015-05-29 08:23:52 +02:00
parent a968940494
commit 7c8d20ded7
4 changed files with 14 additions and 3 deletions

View File

@@ -1145,9 +1145,11 @@ class Dumper(DumperBase):
self.put('iname="%s",' % self.currentIName)
self.put('name="[%s]",' % child.name)
self.putItem(child)
for i in xrange(m, n):
#for i in range(n):
child = value.GetChildAtIndex(i)
children = [value.GetChildAtIndex(i) for i in xrange(m, n)]
if self.sortStructMembers:
children.sort(key = lambda child: str(child.GetName()))
for child in children:
# Only needed in the QVariant4 test.
if int(child.GetLoadAddress()) == 0xffffffffffffffff:
typeClass = child.GetType().GetTypeClass()
@@ -1655,6 +1657,7 @@ class Dumper(DumperBase):
self.reportToken(args)
self.expandedINames = set(args.get('expanded', []))
self.autoDerefPointers = int(args.get('autoderef', '0'))
self.sortStructMembers = bool(args.get("sortStructMembers", True));
self.useDynamicType = int(args.get('dyntype', '0'))
self.useFancy = int(args.get('fancy', '0'))
self.passExceptions = int(args.get('passexceptions', '0'))