summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppfindreferences.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2009-09-24 16:51:40 +0200
committerRoberto Raggi <roberto.raggi@nokia.com>2009-09-24 16:51:40 +0200
commit91a50a74f2dac603df8c80dc9295a4ae8b7aba54 (patch)
tree15028f2350d9993ac77386c4e3ca64d8e14b0e3c /src/plugins/cpptools/cppfindreferences.cpp
parente7b96347f144b33d0afbb914e47c8fbffb1ee5a4 (diff)
downloadqt-creator-91a50a74f2dac603df8c80dc9295a4ae8b7aba54.tar.gz
Changed the signature of findReferences()
Diffstat (limited to 'src/plugins/cpptools/cppfindreferences.cpp')
-rw-r--r--src/plugins/cpptools/cppfindreferences.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp
index 4dc797704a..b0097b2066 100644
--- a/src/plugins/cpptools/cppfindreferences.cpp
+++ b/src/plugins/cpptools/cppfindreferences.cpp
@@ -211,20 +211,20 @@ CppFindReferences::~CppFindReferences()
}
static void find_helper(QFutureInterface<Core::Utils::FileSearchResult> &future,
- QString word,
- QString fileName,
- Snapshot snapshot)
+ Snapshot snapshot,
+ Symbol *symbol)
{
QTime tm;
tm.start();
+
+ const QString fileName = QString::fromUtf8(symbol->fileName(), symbol->fileNameLength());
+
QStringList files(fileName);
files += snapshot.dependsOn(fileName);
qDebug() << "done in:" << tm.elapsed() << "number of files to parse:" << files.size();
future.setProgressRange(0, files.size());
- const QByteArray literal = word.toLatin1();
-
tm.start();
for (int i = 0; i < files.size(); ++i) {
const QString &fn = files.at(i);
@@ -238,8 +238,11 @@ static void find_helper(QFutureInterface<Core::Utils::FileSearchResult> &future,
Document::Ptr doc = snapshot.documentFromSource(preprocessedCode, fn);
doc->tokenize();
+ Identifier *symbolId = symbol->identifier();
+ Q_ASSERT(symbolId != 0);
+
Control *control = doc->control();
- if (Identifier *id = control->findIdentifier(literal.constData(), literal.size())) {
+ if (Identifier *id = control->findIdentifier(symbolId->chars(), symbolId->size())) {
doc->check();
TranslationUnit *unit = doc->translationUnit();
Process process(future, doc, snapshot);
@@ -249,17 +252,15 @@ static void find_helper(QFutureInterface<Core::Utils::FileSearchResult> &future,
future.setProgressValue(files.size());
}
-void CppFindReferences::findAll(const QString &fileName, const QString &text)
+void CppFindReferences::findAll(const Snapshot &snapshot, Symbol *symbol)
{
_resultWindow->clearContents();
_resultWindow->popup(true);
Core::ProgressManager *progressManager = Core::ICore::instance()->progressManager();
- const Snapshot snapshot = _modelManager->snapshot();
-
QFuture<Core::Utils::FileSearchResult> result =
- QtConcurrent::run(&find_helper, text, fileName, snapshot);
+ QtConcurrent::run(&find_helper, snapshot, symbol);
m_watcher.setFuture(result);