forked from qt-creator/qt-creator
debugger: display size of bitfields in 'type' column
This commit is contained in:
@@ -144,6 +144,8 @@ WatchData::WatchData() :
|
|||||||
state(InitialState),
|
state(InitialState),
|
||||||
editformat(0),
|
editformat(0),
|
||||||
address(0),
|
address(0),
|
||||||
|
bitpos(0),
|
||||||
|
bitsize(0),
|
||||||
generation(-1),
|
generation(-1),
|
||||||
hasChildren(false),
|
hasChildren(false),
|
||||||
valueEnabled(true),
|
valueEnabled(true),
|
||||||
|
|||||||
@@ -128,6 +128,8 @@ public:
|
|||||||
QByteArray type; // Type for further processing
|
QByteArray type; // Type for further processing
|
||||||
QString displayedType;// Displayed type (optional)
|
QString displayedType;// Displayed type (optional)
|
||||||
quint64 address; // Displayed address
|
quint64 address; // Displayed address
|
||||||
|
uint bitpos; // Position within bit fields
|
||||||
|
uint bitsize; // Size in case of bit fields
|
||||||
qint32 generation; // When updated?
|
qint32 generation; // When updated?
|
||||||
bool hasChildren;
|
bool hasChildren;
|
||||||
bool valueEnabled; // Value will be enabled or not
|
bool valueEnabled; // Value will be enabled or not
|
||||||
|
|||||||
@@ -285,9 +285,12 @@ static QString removeInitialNamespace(QString str, const QByteArray &ns)
|
|||||||
|
|
||||||
QString WatchModel::displayType(const WatchData &data) const
|
QString WatchModel::displayType(const WatchData &data) const
|
||||||
{
|
{
|
||||||
return data.displayedType.isEmpty()
|
QString base = data.displayedType.isEmpty()
|
||||||
? niceTypeHelper(data.type)
|
? niceTypeHelper(data.type)
|
||||||
: data.displayedType;
|
: data.displayedType;
|
||||||
|
if (data.bitsize)
|
||||||
|
base += QString(":%1").arg(data.bitsize);
|
||||||
|
return base;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int formatToIntegerBase(int format)
|
static int formatToIntegerBase(int format)
|
||||||
|
|||||||
@@ -1399,6 +1399,12 @@ void parseWatchData(const QSet<QByteArray> &expandedINames,
|
|||||||
mi = item.findChild("typeformats");
|
mi = item.findChild("typeformats");
|
||||||
if (mi.isValid())
|
if (mi.isValid())
|
||||||
data.typeFormats = QString::fromUtf8(mi.data());
|
data.typeFormats = QString::fromUtf8(mi.data());
|
||||||
|
mi = item.findChild("bitpos");
|
||||||
|
if (mi.isValid())
|
||||||
|
data.bitpos = mi.data().toInt();
|
||||||
|
mi = item.findChild("bitsize");
|
||||||
|
if (mi.isValid())
|
||||||
|
data.bitsize = mi.data().toInt();
|
||||||
|
|
||||||
setWatchDataValue(data, item);
|
setWatchDataValue(data, item);
|
||||||
setWatchDataAddress(data, item.findChild("addr"));
|
setWatchDataAddress(data, item.findChild("addr"));
|
||||||
|
|||||||
Reference in New Issue
Block a user