forked from qt-creator/qt-creator
Debugger: Fix std::map dumper for XCode 8
Change-Id: I7536d65355d69f4b8c31bc5adeb582d9b4eb1b33 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -2690,7 +2690,8 @@ class DumperBase:
|
|||||||
return self.extractField(field)
|
return self.extractField(field)
|
||||||
|
|
||||||
def extractField(self, field):
|
def extractField(self, field):
|
||||||
self.dumper.check(self.type.code != TypeCodeTypedef)
|
if self.type.code == TypeCodeTypedef:
|
||||||
|
return self.cast(self.type.stripTypedefs()).extractField(field)
|
||||||
if not isinstance(field, self.dumper.Field):
|
if not isinstance(field, self.dumper.Field):
|
||||||
error("BAD INDEX TYPE %s" % type(field))
|
error("BAD INDEX TYPE %s" % type(field))
|
||||||
|
|
||||||
|
@@ -245,6 +245,7 @@ class Dumper(DumperBase):
|
|||||||
#warn("BASE NAMES: %s" % baseNames)
|
#warn("BASE NAMES: %s" % baseNames)
|
||||||
#warn("VIRTUAL NAMES: %s" % virtualNames)
|
#warn("VIRTUAL NAMES: %s" % virtualNames)
|
||||||
#warn("FIELD BITS: %s" % fieldBits)
|
#warn("FIELD BITS: %s" % fieldBits)
|
||||||
|
fieldParentType = self.fromNativeType(nativeType).stripTypedefs()
|
||||||
|
|
||||||
# This does not list empty base entries.
|
# This does not list empty base entries.
|
||||||
for i in xrange(dummyValue.GetNumChildren()):
|
for i in xrange(dummyValue.GetNumChildren()):
|
||||||
@@ -262,7 +263,7 @@ class Dumper(DumperBase):
|
|||||||
child.name = fieldName
|
child.name = fieldName
|
||||||
field = self.Field(self)
|
field = self.Field(self)
|
||||||
field.value = child
|
field.value = child
|
||||||
field.parentType = self.fromNativeType(nativeType)
|
field.parentType = fieldParentType
|
||||||
field.ltype = self.fromNativeType(fieldType)
|
field.ltype = self.fromNativeType(fieldType)
|
||||||
field.nativeIndex = i
|
field.nativeIndex = i
|
||||||
field.name = fieldName
|
field.name = fieldName
|
||||||
@@ -295,7 +296,7 @@ class Dumper(DumperBase):
|
|||||||
field.value = child
|
field.value = child
|
||||||
field.isBaseClass = True
|
field.isBaseClass = True
|
||||||
field.baseIndex = baseNames[fieldName]
|
field.baseIndex = baseNames[fieldName]
|
||||||
field.parentType = self.fromNativeType(nativeType)
|
field.parentType = fieldParentType
|
||||||
field.ltype = self.fromNativeType(fieldType)
|
field.ltype = self.fromNativeType(fieldType)
|
||||||
field.name = fieldName
|
field.name = fieldName
|
||||||
field.lbitsize = 0
|
field.lbitsize = 0
|
||||||
|
@@ -486,6 +486,17 @@ def qform__std____1__multimap():
|
|||||||
def qdump__std____1__multimap(d, value):
|
def qdump__std____1__multimap(d, value):
|
||||||
qdump__std____1__map(d, value)
|
qdump__std____1__map(d, value)
|
||||||
|
|
||||||
|
def qdump__std____1__map__iterator(d, value):
|
||||||
|
d.putEmptyValue()
|
||||||
|
if d.isExpanded():
|
||||||
|
with Children(d):
|
||||||
|
node = value['__i_']['__ptr_'].dereference()['__value_']['__cc']
|
||||||
|
d.putSubItem('first', node['first'])
|
||||||
|
d.putSubItem('second', node['second'])
|
||||||
|
|
||||||
|
def qdump__std____1__map__const_iterator(d, value):
|
||||||
|
qdump__std____1__map__iterator(d, value)
|
||||||
|
|
||||||
def qdump__std__stack(d, value):
|
def qdump__std__stack(d, value):
|
||||||
d.putItem(value["c"])
|
d.putItem(value["c"])
|
||||||
d.putBetterType(value.type)
|
d.putBetterType(value.type)
|
||||||
|
Reference in New Issue
Block a user