From fc1006e296a694babd797ed70230c688ed40b56c Mon Sep 17 00:00:00 2001 From: Roberto Raggi <roberto.raggi@nokia.com> Date: Tue, 3 Aug 2010 18:14:34 +0200 Subject: [PATCH] Highlight only the unqualified name id. --- src/plugins/cppeditor/cppchecksymbols.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/plugins/cppeditor/cppchecksymbols.cpp b/src/plugins/cppeditor/cppchecksymbols.cpp index e105cf48b43..cb224af3e22 100644 --- a/src/plugins/cppeditor/cppchecksymbols.cpp +++ b/src/plugins/cppeditor/cppchecksymbols.cpp @@ -464,17 +464,26 @@ bool CheckSymbols::visit(CallAST *ast) const QByteArray expression = textOf(access); const QList<LookupItem> candidates = typeOfExpression(expression, scope, TypeOfExpression::Preprocess); - addVirtualMethodUsage(candidates, access->member_name, argumentCount); + + NameAST *memberName = access->member_name; + if (QualifiedNameAST *q = memberName->asQualifiedName()) + memberName = q->unqualified_name; + + addVirtualMethodUsage(candidates, memberName, argumentCount); } } } else if (IdExpressionAST *idExpr = ast->base_expression->asIdExpression()) { if (const Name *name = idExpr->name->name) { if (maybeVirtualMethod(name)) { + NameAST *exprName = idExpr->name; + if (QualifiedNameAST *q = exprName->asQualifiedName()) + exprName = q->unqualified_name; + Scope *scope = findScope(idExpr); const QByteArray expression = textOf(idExpr); const QList<LookupItem> candidates = typeOfExpression(expression, scope, TypeOfExpression::Preprocess); - addVirtualMethodUsage(candidates, idExpr->name, argumentCount); + addVirtualMethodUsage(candidates, exprName, argumentCount); } } } -- GitLab