From 75229edcf95accc43c7824630070c9402dc5beba Mon Sep 17 00:00:00 2001 From: Roberto Raggi <roberto.raggi@nokia.com> Date: Thu, 11 Feb 2010 10:18:05 +0100 Subject: [PATCH] Process the formal arguments of inline methods when searching the usages of a symbol. --- src/libs/cplusplus/FindUsages.cpp | 14 +++++++++----- src/libs/cplusplus/FindUsages.h | 1 - 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/libs/cplusplus/FindUsages.cpp b/src/libs/cplusplus/FindUsages.cpp index 7b79b0ac16d..a8d0e456b6f 100644 --- a/src/libs/cplusplus/FindUsages.cpp +++ b/src/libs/cplusplus/FindUsages.cpp @@ -69,6 +69,7 @@ void FindUsages::operator()(Symbol *symbol) _references.clear(); _usages.clear(); _declSymbol = symbol; + _inSimpleDeclaration = 0; _id = 0; if (_declSymbol && 0 != (_id = _declSymbol->identifier())) @@ -450,15 +451,18 @@ bool FindUsages::visit(FunctionDeclaratorAST *ast) return false; } -bool FindUsages::visit(SimpleDeclarationAST *) +bool FindUsages::visit(SimpleDeclarationAST *ast) { + for (SpecifierListAST *it = ast->decl_specifier_list; it; it = it->next) + accept(it->value); + ++_inSimpleDeclaration; - return true; + for (DeclaratorListAST *it = ast->declarator_list; it; it = it->next) + accept(it->value); + --_inSimpleDeclaration; + return false; } -void FindUsages::endVisit(SimpleDeclarationAST *) -{ --_inSimpleDeclaration; } - bool FindUsages::visit(ObjCSelectorWithoutArgumentsAST *ast) { const Identifier *id = identifier(ast->name_token); diff --git a/src/libs/cplusplus/FindUsages.h b/src/libs/cplusplus/FindUsages.h index 2b066fa2fa5..313676fc909 100644 --- a/src/libs/cplusplus/FindUsages.h +++ b/src/libs/cplusplus/FindUsages.h @@ -99,7 +99,6 @@ protected: virtual bool visit(ExpressionOrDeclarationStatementAST *ast); virtual bool visit(FunctionDeclaratorAST *ast); virtual bool visit(SimpleDeclarationAST *); - virtual void endVisit(SimpleDeclarationAST *); virtual bool visit(ObjCSelectorWithoutArgumentsAST *ast); virtual bool visit(ObjCSelectorWithArgumentsAST *ast); -- GitLab