Debugger: Dumper code cosmetics

Mostly left-overs from earlier reorganization.

Change-Id: I94f44efa1aab1e17de3c0fec6c230722149a1404
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
hjk
2016-11-08 16:45:24 +01:00
parent 75be7de6f4
commit 67505423e6
4 changed files with 10 additions and 28 deletions

View File

@@ -2947,18 +2947,14 @@ class DumperBase:
else: else:
self.dumper.check(False) self.dumper.check(False)
val.type = None
if fieldType.code == TypeCodeReference: if fieldType.code == TypeCodeReference:
if val.laddress is not None: if val.laddress is not None:
val = self.dumper.createReferenceValue(val.laddress, fieldType.ltarget) val = self.dumper.createReferenceValue(val.laddress, fieldType.ltarget)
val.name = field.name val.name = field.name
if val.type is None:
val.type = fieldType
#warn('GOT VAL %s FOR FIELD %s' % (val, field)) #warn('GOT VAL %s FOR FIELD %s' % (val, field))
val.check()
val.name = field.name
val.lbitsize = fieldBitsize val.lbitsize = fieldBitsize
val.check()
return val return val
# This is the generic version for synthetic values. # This is the generic version for synthetic values.
@@ -3299,7 +3295,7 @@ class DumperBase:
def unqualified(self): def unqualified(self):
return self return self
def templateArgument(self, position, numeric = False): def templateArgument(self, position):
tdata = self.typeData() tdata = self.typeData()
#warn('TDATA: %s' % tdata) #warn('TDATA: %s' % tdata)
#warn('ID: %s' % self.typeId) #warn('ID: %s' % self.typeId)
@@ -3313,11 +3309,7 @@ class DumperBase:
return res return res
#warn('TA: %s %s' % (position, self.typeId)) #warn('TA: %s %s' % (position, self.typeId))
#warn('ARGS: %s' % tdata.templateArguments) #warn('ARGS: %s' % tdata.templateArguments)
res = tdata.templateArguments[position] return tdata.templateArguments[position]
#if tdata.templateArguments is not None:
#if numeric:
# return tdata.templateArguments[position].value()
return res
def simpleEncoding(self): def simpleEncoding(self):
res = { res = {
@@ -3343,7 +3335,7 @@ class DumperBase:
tdata = self.typeData() tdata = self.typeData()
if tdata.code == TypeCodeTypedef: if tdata.code == TypeCodeTypedef:
return tdata.ltarget.alignment() return tdata.ltarget.alignment()
if self.isSimpleType(): if tdata.code in (TypeCodeIntegral, TypeCodeFloat, TypeCodeEnum):
if tdata.name in ('double', 'long long', 'unsigned long long'): if tdata.name in ('double', 'long long', 'unsigned long long'):
return self.dumper.ptrSize() # Crude approximation. return self.dumper.ptrSize() # Crude approximation.
return self.size() return self.size()
@@ -3356,16 +3348,6 @@ class DumperBase:
return tdata.lalignment return tdata.lalignment
return 1 return 1
#align = 1
#for field in self.fields():
# #warn(' SUBFIELD: %s TYPE %s' % (field.name, field.fieldType().name))
# a = field.fieldType().alignment()
# #warn(' SUBFIELD: %s ALIGN: %s' % (field.name, a))
# if a is not None and a > align:
# align = a
##warn('COMPUTED ALIGNMENT: %s ' % align)
#return align
def pointer(self): def pointer(self):
return self.dumper.createPointerType(self) return self.dumper.createPointerType(self)

View File

@@ -102,10 +102,10 @@ def qdump____m512i(d, value):
# return 'Transposed' # return 'Transposed'
def qdump__Eigen__Matrix(d, value): def qdump__Eigen__Matrix(d, value):
innerType = value.type.templateArgument(0, False) innerType = value.type[0]
argRow = value.type.templateArgument(1, True) argRow = value.type[1]
argCol = value.type.templateArgument(2, True) argCol = value.type[2]
options = value.type.templateArgument(3, True) options = value.type[3]
rowMajor = (int(options) & 0x1) rowMajor = (int(options) & 0x1)
# The magic dimension value is -1 in Eigen3, but 10000 in Eigen2. # The magic dimension value is -1 in Eigen3, but 10000 in Eigen2.
# 10000 x 10000 matrices are rare, vectors of dim 10000 less so. # 10000 x 10000 matrices are rare, vectors of dim 10000 less so.

View File

@@ -1260,7 +1260,7 @@ def qdump__QString(d, value):
d.putArrayData(data, size, d.createType('QChar')) d.putArrayData(data, size, d.createType('QChar'))
def qdump__QStaticStringData(d, value): def qdump__QStaticStringData(d, value):
size = value.type.templateArgument(0, numeric=True) size = value.type[0]
(ref, size, alloc, pad, offset, data) = value.split('iii@p%ss' % (2 * size)) (ref, size, alloc, pad, offset, data) = value.split('iii@p%ss' % (2 * size))
d.putValue(d.hexencode(data), 'utf16') d.putValue(d.hexencode(data), 'utf16')
d.putPlainChildren(value) d.putPlainChildren(value)

View File

@@ -29,7 +29,7 @@ def qform__std__array():
return arrayForms() return arrayForms()
def qdump__std__array(d, value): def qdump__std__array(d, value):
size = value.type.templateArgument(1, numeric=True) size = value.type[1]
d.putItemCount(size) d.putItemCount(size)
if d.isExpanded(): if d.isExpanded():
d.putPlotData(value.address(), size, value.type[0]) d.putPlotData(value.address(), size, value.type[0])