diff options
author | Marco Bubke <marco.bubke@qt.io> | 2017-02-01 13:43:28 +0100 |
---|---|---|
committer | Marco Bubke <marco.bubke@qt.io> | 2017-02-01 13:11:15 +0000 |
commit | b860d465797a6e42ac9eee9e2aa80645af1d2714 (patch) | |
tree | b6c41e67030c9039d573a9d024545e196b916cba /src/plugins/clangpchmanager/projectupdater.h | |
parent | 55400d5becb6a730317b80c9e02a2cf88f8f1a10 (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.h | 24 |
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; }; |