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