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