summaryrefslogtreecommitdiff
path: root/src/tools/clangrefactoringbackend/source/clangtool.cpp
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@qt.io>2016-11-23 13:13:38 +0100
committerTim Jenssen <tim.jenssen@qt.io>2016-11-23 12:16:04 +0000
commit7f757884c5a04484820a97e592afae74beff95a9 (patch)
treed5066d8a24965523b5024ba37d210c74cd68446c /src/tools/clangrefactoringbackend/source/clangtool.cpp
parent52fc4a4ebdc840cc351a0ed465a6523d5bc53ac2 (diff)
downloadqt-creator-7f757884c5a04484820a97e592afae74beff95a9.tar.gz
Clang: Extend clang query
It's a first step to introduce clang query. Change-Id: I4d001a8883f56066765ce6bc561fa3f49611c0a4 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src/tools/clangrefactoringbackend/source/clangtool.cpp')
-rw-r--r--src/tools/clangrefactoringbackend/source/clangtool.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/tools/clangrefactoringbackend/source/clangtool.cpp b/src/tools/clangrefactoringbackend/source/clangtool.cpp
index d447121379..aaef2845e0 100644
--- a/src/tools/clangrefactoringbackend/source/clangtool.cpp
+++ b/src/tools/clangrefactoringbackend/source/clangtool.cpp
@@ -57,6 +57,24 @@ void ClangTool::addFile(std::string &&directory,
sourceFilePaths.push_back(fileContent.filePath);
}
+void ClangTool::addFiles(const Utils::SmallStringVector &filePaths,
+ const Utils::SmallStringVector &arguments)
+{
+ for (const Utils::SmallString &filePath : filePaths) {
+ auto found = std::find(filePath.rbegin(), filePath.rend(), '/');
+
+ auto fileNameBegin = found.base();
+
+ std::vector<std::string> commandLine(arguments.begin(), arguments.end());
+ commandLine.push_back(filePath);
+
+ addFile({filePath.begin(), std::prev(fileNameBegin)},
+ {fileNameBegin, filePath.end()},
+ {},
+ std::move(commandLine));
+ }
+}
+
clang::tooling::ClangTool ClangTool::createTool() const
{
clang::tooling::ClangTool tool(compilationDatabase, sourceFilePaths);