From 7f757884c5a04484820a97e592afae74beff95a9 Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Wed, 23 Nov 2016 13:13:38 +0100 Subject: Clang: Extend clang query It's a first step to introduce clang query. Change-Id: I4d001a8883f56066765ce6bc561fa3f49611c0a4 Reviewed-by: Tim Jenssen --- src/tools/clangrefactoringbackend/source/clangtool.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/tools/clangrefactoringbackend/source/clangtool.cpp') 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 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); -- cgit v1.2.1