From 8266c366a38279975e005355e43cdfdd2d4c1210 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 9 Oct 2009 14:11:05 +0200 Subject: CDB: Make use of the improved debugger expression syntax CDB can now handle sizeof(Class) and even expressions that determine the offset of map node values (to some extent), may still fail with templates). Format expressions accordingly, adapt cached expressions. Use gdbQuoteType depending on debugger type only. Most important, do not evaluate each expression separately before issuing the call, as ".call" can now do it on its own. Check for syntax errors there and cache failing types as before. --- src/plugins/debugger/watchutils.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/plugins/debugger/watchutils.h') diff --git a/src/plugins/debugger/watchutils.h b/src/plugins/debugger/watchutils.h index 9c4280b0df..7811c98e75 100644 --- a/src/plugins/debugger/watchutils.h +++ b/src/plugins/debugger/watchutils.h @@ -79,7 +79,6 @@ bool isSymbianIntType(const QString &type); enum GuessChildrenResult { HasChildren, HasNoChildren, HasPossiblyChildren }; GuessChildrenResult guessChildren(const QString &type); -QString sizeofTypeExpression(const QString &type); QString quoteUnprintableLatin1(const QByteArray &ba); // Editor tooltip support @@ -193,6 +192,11 @@ private: static Type specialType(QString s); QString evaluationSizeofTypeExpression(const QString &typeName, Debugger d) const; void parseQueryTypes(const QStringList &l, Debugger debugger); + QString qMapNodeValueOffsetExpression(const QString &type, + const QString &addressIn, + Debugger debugger) const; + + inline QString lookupCdbDummyAddressExpression(const QString &expr, const QString &address) const; NameTypeMap m_nameTypeMap; SizeCache m_sizeCache; -- cgit v1.2.1