diff options
| author | Roberto Raggi <roberto.raggi@nokia.com> | 2009-06-10 12:25:52 +0200 |
|---|---|---|
| committer | Roberto Raggi <roberto.raggi@nokia.com> | 2009-06-10 12:25:52 +0200 |
| commit | ec769aeaf795c77e5295ef4323d4c71edcf85348 (patch) | |
| tree | dbbe20e93530895f7b93a575fa1d8c0615674315 /src/plugins/cpptools/cppsemanticsearch.cpp | |
| parent | 3ae43daa5a3f13553d9a0eb3abb9f6f3fbab92d9 (diff) | |
| download | qt-creator-ec769aeaf795c77e5295ef4323d4c71edcf85348.tar.gz | |
Search in the editor buffers.
Diffstat (limited to 'src/plugins/cpptools/cppsemanticsearch.cpp')
| -rw-r--r-- | src/plugins/cpptools/cppsemanticsearch.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/plugins/cpptools/cppsemanticsearch.cpp b/src/plugins/cpptools/cppsemanticsearch.cpp index b86e963e07..2782c40fac 100644 --- a/src/plugins/cpptools/cppsemanticsearch.cpp +++ b/src/plugins/cpptools/cppsemanticsearch.cpp @@ -262,6 +262,7 @@ SemanticSearch *SearchFunctionCallFactory::create(QFutureInterface<Core::Utils:: static void semanticSearch_helper(QFutureInterface<Core::Utils::FileSearchResult> &future, QPointer<CppModelManager> modelManager, + QMap<QString, QByteArray> wl, SemanticSearchFactory::Ptr factory) { const Snapshot snapshot = modelManager->snapshot(); @@ -273,14 +274,20 @@ static void semanticSearch_helper(QFutureInterface<Core::Utils::FileSearchResult foreach (Document::Ptr doc, snapshot) { const QString fileName = doc->fileName(); - QFile file(fileName); - if (! file.open(QFile::ReadOnly)) - continue; + QByteArray source; + + if (wl.contains(fileName)) + source = wl.value(fileName); + else { + QFile file(fileName); + if (! file.open(QFile::ReadOnly)) + continue; + + const QString contents = QTextStream(&file).readAll(); // ### FIXME + source = snapshot.preprocessedCode(contents.toUtf8(), fileName); + } - const QString contents = QTextStream(&file).readAll(); // ### FIXME - const QByteArray source = snapshot.preprocessedCode(contents.toUtf8(), fileName); Document::Ptr newDoc = snapshot.documentFromSource(source, fileName); - newDoc->parse(); if (SemanticSearch *search = factory->create(future, newDoc, snapshot)) { search->setSource(source); @@ -295,5 +302,6 @@ static void semanticSearch_helper(QFutureInterface<Core::Utils::FileSearchResult QFuture<Core::Utils::FileSearchResult> CppTools::Internal::semanticSearch(QPointer<CppModelManager> modelManager, SemanticSearchFactory::Ptr factory) { - return QtConcurrent::run(&semanticSearch_helper, modelManager, factory); + return QtConcurrent::run(&semanticSearch_helper, modelManager, + modelManager->buildWorkingCopyList(), factory); } |
