summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2010-02-11 10:18:05 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2010-02-11 10:18:05 +0100
commit75229edcf95accc43c7824630070c9402dc5beba (patch)
treeae65fc0bf8cff34fed851a37ed46993610ceac44 /src/libs/cplusplus
parent616227963009ca1af868f735b16793119b7395ab (diff)
downloadqt-creator-75229edcf95accc43c7824630070c9402dc5beba.tar.gz
Process the formal arguments of inline methods when searching the usages of a symbol.
Diffstat (limited to 'src/libs/cplusplus')
-rw-r--r--src/libs/cplusplus/FindUsages.cpp14
-rw-r--r--src/libs/cplusplus/FindUsages.h1
2 files changed, 9 insertions, 6 deletions
diff --git a/src/libs/cplusplus/FindUsages.cpp b/src/libs/cplusplus/FindUsages.cpp
index 7b79b0ac16..a8d0e456b6 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 2b066fa2fa..313676fc90 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);