aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangpchmanager/projectupdater.h
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@qt.io>2017-02-01 13:43:28 +0100
committerMarco Bubke <marco.bubke@qt.io>2017-02-01 13:11:15 +0000
commitb860d465797a6e42ac9eee9e2aa80645af1d2714 (patch)
treeb6c41e67030c9039d573a9d024545e196b916cba /src/plugins/clangpchmanager/projectupdater.h
parent55400d5becb6a730317b80c9e02a2cf88f8f1a10 (diff)
Clang: Handle generated files
We don't handled generated files so we got internal parse errors. Change-Id: If75e202f93fe3f71f43e3b1d15c0fb77e20c2248 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src/plugins/clangpchmanager/projectupdater.h')
-rw-r--r--src/plugins/clangpchmanager/projectupdater.h24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/plugins/clangpchmanager/projectupdater.h b/src/plugins/clangpchmanager/projectupdater.h
index 880920d1b7..b50dc8af65 100644
--- a/src/plugins/clangpchmanager/projectupdater.h
+++ b/src/plugins/clangpchmanager/projectupdater.h
@@ -27,8 +27,11 @@
#include <clangpchmanager_global.h>
+#include <filecontainerv2.h>
+
namespace CppTools {
class ProjectPart;
+class ProjectFile;
}
namespace ClangBackEnd {
@@ -45,6 +48,7 @@ QT_FORWARD_DECLARE_CLASS(QStringList)
namespace ClangPchManager {
+class HeaderAndSources;
class PchManagerClient;
class ProjectUpdater
@@ -53,16 +57,26 @@ public:
ProjectUpdater(ClangBackEnd::PchManagerServerInterface &server,
PchManagerClient &client);
- void updateProjectParts(const std::vector<CppTools::ProjectPart *> &projectParts);
+ void updateProjectParts(const std::vector<CppTools::ProjectPart *> &projectParts,
+ ClangBackEnd::V2::FileContainers &&generatedFiles);
void removeProjectParts(const QStringList &projectPartIds);
unittest_public:
- static ClangBackEnd::V2::ProjectPartContainer toProjectPartContainer(
- CppTools::ProjectPart *projectPart);
- static std::vector<ClangBackEnd::V2::ProjectPartContainer> toProjectPartContainers(
- std::vector<CppTools::ProjectPart *> projectParts);
+ void setExcludedPaths(Utils::PathStringVector &&excludedPaths);
+
+ HeaderAndSources headerAndSourcesFromProjectPart(CppTools::ProjectPart *projectPart) const;
+ ClangBackEnd::V2::ProjectPartContainer toProjectPartContainer(
+ CppTools::ProjectPart *projectPart) const;
+ std::vector<ClangBackEnd::V2::ProjectPartContainer> toProjectPartContainers(
+ std::vector<CppTools::ProjectPart *> projectParts) const;
+ void addToHeaderAndSources(HeaderAndSources &headerAndSources,
+ const CppTools::ProjectFile &projectFile) const;
+
+ static Utils::PathStringVector createExcludedPaths(
+ const ClangBackEnd::V2::FileContainers &generatedFiles);
private:
+ Utils::PathStringVector m_excludedPaths;
ClangBackEnd::PchManagerServerInterface &m_server;
PchManagerClient &m_client;
};