diff options
author | Roberto Raggi <roberto.raggi@nokia.com> | 2009-10-07 14:33:37 +0200 |
---|---|---|
committer | con <qtc-committer@nokia.com> | 2009-10-07 19:18:21 +0200 |
commit | 6b61561dfc763536f51c9d7afba43c20696b8a6a (patch) | |
tree | dcca2a6c1d467ce8071e39d56a09dd63ca9055a2 | |
parent | c33a5f38ae85484d1330a9057db58224e228babd (diff) | |
download | qt-creator-6b61561dfc763536f51c9d7afba43c20696b8a6a.tar.gz |
Run the binder before searching strong and weak references.
(cherry picked from commit afedec330a9be2378009c5497bbb8b88efd4255d)
-rw-r--r-- | src/plugins/cpptools/cppfindreferences.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp index 26f9a18696..40259589a2 100644 --- a/src/plugins/cpptools/cppfindreferences.cpp +++ b/src/plugins/cpptools/cppfindreferences.cpp @@ -49,6 +49,7 @@ #include <Scope.h> #include <cplusplus/CppDocument.h> +#include <cplusplus/CppBindings.h> #include <cplusplus/ExpressionUnderCursor.h> #include <cplusplus/ResolveExpression.h> #include <cplusplus/Overview.h> @@ -81,6 +82,11 @@ public: _snapshot.insert(_doc); } + void setGlobalNamespaceBinding(NamespaceBindingPtr globalNamespaceBinding) + { + _globalNamespaceBinding = globalNamespaceBinding; + } + QList<int> operator()(Symbol *symbol, Identifier *id, AST *ast) { _references.clear(); @@ -419,6 +425,7 @@ private: QByteArray _source; Document::Ptr _exprDoc; Semantic _sem; + NamespaceBindingPtr _globalNamespaceBinding; QList<PostfixExpressionAST *> _postfixExpressionStack; QList<QualifiedNameAST *> _qualifiedNameStack; QList<int> _references; @@ -456,6 +463,7 @@ QList<int> CppFindReferences::references(Symbol *symbol, Q_ASSERT(translationUnit != 0); Process process(doc, snapshot, /*future = */ 0); + process.setGlobalNamespaceBinding(bind(doc, snapshot)); references = process(symbol, id, translationUnit->ast()); return references; @@ -542,6 +550,7 @@ static void find_helper(QFutureInterface<Utils::FileSearchResult> &future, tm.start(); Process process(doc, snapshot, &future); + process.setGlobalNamespaceBinding(bind(doc, snapshot)); TranslationUnit *unit = doc->translationUnit(); process(symbol, id, unit->ast()); |