Debugger: Save a few cycles in WatchData

Change-Id: Id2fc21fcc917969fa2f31864f4ff91f4df8c19d2
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
hjk
2023-02-24 13:25:35 +01:00
parent 8ab0c965a4
commit be1f95082d

View File

@@ -15,6 +15,10 @@
namespace Debugger::Internal {
const QStringView inameLocal = u"local.";
const QStringView inameWatch = u"watch.";
const QStringView inameInspect = u"inspect.";
bool isPointerType(const QStringView type)
{
return type.endsWith('*') || type.endsWith(u"* const");
@@ -308,7 +312,7 @@ void WatchItem::parseHelper(const GdbMi &input, bool maySort)
if (mi.isValid()) {
address = mi.toAddress();
if (exp.isEmpty()) {
if (iname.startsWith("local.") && iname.count('.') == 1)
if (iname.startsWith(inameLocal) && iname.count('.') == 1)
// Solve one common case of adding 'class' in
// *(class X*)0xdeadbeef for gdb.
exp = name;
@@ -505,7 +509,7 @@ bool WatchItem::isLocal() const
if (arrayIndex >= 0)
if (const WatchItem *p = parent())
return p->isLocal();
return iname.startsWith("local.");
return iname.startsWith(inameLocal);
}
bool WatchItem::isWatcher() const
@@ -513,7 +517,7 @@ bool WatchItem::isWatcher() const
if (arrayIndex >= 0)
if (const WatchItem *p = parent())
return p->isWatcher();
return iname.startsWith("watch.");
return iname.startsWith(inameWatch);
}
bool WatchItem::isInspect() const
@@ -521,7 +525,7 @@ bool WatchItem::isInspect() const
if (arrayIndex >= 0)
if (const WatchItem *p = parent())
return p->isInspect();
return iname.startsWith("inspect.");
return iname.startsWith(inameInspect);
}
QString WatchItem::internalName() const