aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangrefactoring/clangqueryprojectsfindfilter.cpp
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@qt.io>2016-11-30 15:29:36 +0100
committerMarco Bubke <marco.bubke@qt.io>2016-12-07 11:39:11 +0000
commit15de02ea0c92948e1c51b5da11541c2d382b79ca (patch)
treed2e9b0c10aea7f06ed0d31a1402f0b93f979dd6b /src/plugins/clangrefactoring/clangqueryprojectsfindfilter.cpp
parent636eea99f498bdb6542610a160ce4e8fa9be0cfe (diff)
Clang: Add refactoring support for unsaved content
We need the generated UI header but we don't have a build directory. So we provide clang with in memory represations of the file. Change-Id: Ie9db97bbea2222b0203a0457baa1f1fc7ad97213 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src/plugins/clangrefactoring/clangqueryprojectsfindfilter.cpp')
-rw-r--r--src/plugins/clangrefactoring/clangqueryprojectsfindfilter.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/plugins/clangrefactoring/clangqueryprojectsfindfilter.cpp b/src/plugins/clangrefactoring/clangqueryprojectsfindfilter.cpp
index a97658db0d..c5678511aa 100644
--- a/src/plugins/clangrefactoring/clangqueryprojectsfindfilter.cpp
+++ b/src/plugins/clangrefactoring/clangqueryprojectsfindfilter.cpp
@@ -70,7 +70,7 @@ void ClangQueryProjectsFindFilter::findAll(const QString &queryText, Core::FindF
auto message = createMessage(queryText);
- refactoringClient.setExpectedResultCount(message.fileContainers().size());
+ refactoringClient.setExpectedResultCount(message.sources().size());
server.requestSourceRangesAndDiagnosticsForQueryMessage(std::move(message));
}
@@ -100,6 +100,12 @@ SearchHandle *ClangQueryProjectsFindFilter::searchHandleForTestOnly() const
return searchHandle.get();
}
+void ClangQueryProjectsFindFilter::setUnsavedContent(
+ std::vector<ClangBackEnd::V2::FileContainer> &&unsavedContent)
+{
+ this->unsavedContent = std::move(unsavedContent);
+}
+
namespace {
Utils::SmallStringVector createCommandLine(CppTools::ProjectPart *projectPart,
@@ -118,13 +124,13 @@ Utils::SmallStringVector createCommandLine(CppTools::ProjectPart *projectPart,
}
std::vector<ClangBackEnd::V2::FileContainer>
-createFileContainers(const std::vector<CppTools::ProjectPart::Ptr> &projectParts)
+createSources(const std::vector<CppTools::ProjectPart::Ptr> &projectParts)
{
- std::vector<ClangBackEnd::V2::FileContainer> fileContainers;
+ std::vector<ClangBackEnd::V2::FileContainer> sources;
for (const CppTools::ProjectPart::Ptr &projectPart : projectParts) {
for (const CppTools::ProjectFile &projectFile : projectPart->files) {
- fileContainers.emplace_back(ClangBackEnd::FilePath(projectFile.path),
+ sources.emplace_back(ClangBackEnd::FilePath(projectFile.path),
"",
createCommandLine(projectPart.data(),
projectFile.path,
@@ -132,15 +138,17 @@ createFileContainers(const std::vector<CppTools::ProjectPart::Ptr> &projectParts
}
}
- return fileContainers;
+ return sources;
}
+
}
ClangBackEnd::RequestSourceRangesAndDiagnosticsForQueryMessage ClangQueryProjectsFindFilter::createMessage(const QString &queryText) const
{
return ClangBackEnd::RequestSourceRangesAndDiagnosticsForQueryMessage(
Utils::SmallString(queryText),
- createFileContainers(projectParts));
+ createSources(projectParts),
+ Utils::clone(unsavedContent));
}