From 43df685c687fe900583cc4c0c281c30184a7c72a Mon Sep 17 00:00:00 2001 From: Roberto Raggi <roberto.raggi@nokia.com> Date: Thu, 3 Dec 2009 11:59:37 +0100 Subject: [PATCH] Removed useless arguments --- src/libs/cplusplus/FindUsages.cpp | 13 +++++++--- src/libs/cplusplus/FindUsages.h | 2 +- src/plugins/cpptools/cppfindreferences.cpp | 29 +++------------------- 3 files changed, 13 insertions(+), 31 deletions(-) diff --git a/src/libs/cplusplus/FindUsages.cpp b/src/libs/cplusplus/FindUsages.cpp index 0d48bb0d7a3..2a560ec5a9c 100644 --- a/src/libs/cplusplus/FindUsages.cpp +++ b/src/libs/cplusplus/FindUsages.cpp @@ -35,6 +35,7 @@ #include <Names.h> #include <Symbols.h> #include <AST.h> +#include <TranslationUnit.h> #include <QtCore/QDir> @@ -63,16 +64,20 @@ QList<Usage> FindUsages::usages() const QList<int> FindUsages::references() const { return _references; } -void FindUsages::operator()(Symbol *symbol, const Identifier *id, AST *ast) +void FindUsages::operator()(Symbol *symbol) { _processed.clear(); _references.clear(); _usages.clear(); _declSymbol = symbol; - _id = id; - if (_declSymbol && _id) { + + _id = 0; + if (_declSymbol && 0 != & (_id = _declSymbol->identifier())) + _id = _doc->control()->findOrInsertIdentifier(_id->chars(), _id->size()); + + if (_id) { _exprDoc = Document::create("<references>"); - accept(ast); + accept(_doc->translationUnit()->ast()); } } diff --git a/src/libs/cplusplus/FindUsages.h b/src/libs/cplusplus/FindUsages.h index 4b09e1502e1..d578f8e3778 100644 --- a/src/libs/cplusplus/FindUsages.h +++ b/src/libs/cplusplus/FindUsages.h @@ -64,7 +64,7 @@ public: void setGlobalNamespaceBinding(NamespaceBindingPtr globalNamespaceBinding); - void operator()(Symbol *symbol, const Identifier *id, AST *ast); + void operator()(Symbol *symbol); QList<Usage> usages() const; QList<int> references() const; diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp index 20d32819928..a1f9a31dc16 100644 --- a/src/plugins/cpptools/cppfindreferences.cpp +++ b/src/plugins/cpptools/cppfindreferences.cpp @@ -79,21 +79,11 @@ QList<int> CppFindReferences::references(Symbol *symbol, Document::Ptr doc, const Snapshot& snapshot) const { - const Identifier *id = 0; - if (const Identifier *symbolId = symbol->identifier()) - id = doc->control()->findIdentifier(symbolId->chars(), symbolId->size()); - QList<int> references; - if (! id) - return references; - - TranslationUnit *translationUnit = doc->translationUnit(); - Q_ASSERT(translationUnit != 0); - FindUsages findUsages(doc, snapshot, /*future = */ 0); findUsages.setGlobalNamespaceBinding(bind(doc, snapshot)); - findUsages(symbol, id, translationUnit->ast()); + findUsages(symbol); references = findUsages.references(); return references; @@ -165,26 +155,13 @@ static void find_helper(QFutureInterface<Usage> &future, doc->tokenize(); Control *control = doc->control(); - if (const Identifier *id = control->findIdentifier(symbolId->chars(), symbolId->size())) { - QTime tm; - tm.start(); - doc->parse(); - - //qDebug() << "***" << unit->fileName() << "parsed in:" << tm.elapsed(); - - tm.start(); + if (control->findIdentifier(symbolId->chars(), symbolId->size()) != 0) { doc->check(); - //qDebug() << "***" << unit->fileName() << "checked in:" << tm.elapsed(); - - tm.start(); FindUsages process(doc, snapshot, &future); process.setGlobalNamespaceBinding(bind(doc, snapshot)); - TranslationUnit *unit = doc->translationUnit(); - process(symbol, id, unit->ast()); - - //qDebug() << "***" << unit->fileName() << "processed in:" << tm.elapsed(); + process(symbol); } } -- GitLab