Commit 32d3db82 authored by hjk's avatar hjk
Browse files

debugger: special handling for char*

parent 4794cbf0
......@@ -166,7 +166,8 @@ void WatchData::setValue(const QString &value0)
// "numchild" is sometimes lying
//MODEL_DEBUG("\n\n\nPOINTER: " << type << value);
if (isPointerType(type))
setHasChildren(value != "0x0" && value != "<null>");
setHasChildren(value != "0x0" && value != "<null>"
&& !isCharPointerType(type));
// pointer type information is available in the 'type'
// column. No need to duplicate it here.
......
......@@ -268,6 +268,13 @@ bool isPointerType(const QString &type)
return type.endsWith(QLatin1Char('*')) || type.endsWith(QLatin1String("* const"));
}
bool isCharPointerType(const QString &type)
{
return type == QLatin1String("char *")
|| type == QLatin1String("const char *")
|| type == QLatin1String("char const *");
}
bool isAccessSpecifier(const QString &str)
{
static const QStringList items = QStringList()
......@@ -569,6 +576,8 @@ GuessChildrenResult guessChildren(const QString &type)
{
if (isIntOrFloatType(type))
return HasNoChildren;
if (isCharPointerType(type))
return HasNoChildren;
if (isPointerType(type))
return HasChildren;
if (type.endsWith(QLatin1String("QString")))
......
......@@ -70,6 +70,7 @@ bool hasLetterOrNumber(const QString &exp);
bool hasSideEffects(const QString &exp);
bool isKeyWord(const QString &exp);
bool isPointerType(const QString &type);
bool isCharPointerType(const QString &type);
bool isAccessSpecifier(const QString &str);
bool startsWithDigit(const QString &str);
QString stripPointerType(QString type);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment