diff options
| author | Roberto Raggi <roberto.raggi@nokia.com> | 2009-09-24 16:51:40 +0200 |
|---|---|---|
| committer | Roberto Raggi <roberto.raggi@nokia.com> | 2009-09-24 16:51:40 +0200 |
| commit | 91a50a74f2dac603df8c80dc9295a4ae8b7aba54 (patch) | |
| tree | 15028f2350d9993ac77386c4e3ca64d8e14b0e3c /src/plugins/cpptools/cppfindreferences.cpp | |
| parent | e7b96347f144b33d0afbb914e47c8fbffb1ee5a4 (diff) | |
| download | qt-creator-91a50a74f2dac603df8c80dc9295a4ae8b7aba54.tar.gz | |
Changed the signature of findReferences()
Diffstat (limited to 'src/plugins/cpptools/cppfindreferences.cpp')
| -rw-r--r-- | src/plugins/cpptools/cppfindreferences.cpp | 21 |
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); |
