aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangcodemodel/clangutils.cpp
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2018-09-25 09:41:32 +0200
committerNikolai Kosjar <nikolai.kosjar@qt.io>2018-09-26 10:45:41 +0000
commitaa290912b832da3d4fd57e762902d3c24614d1a6 (patch)
tree52e211dc06503c386ad19e8bf4b038c8b5a8323b /src/plugins/clangcodemodel/clangutils.cpp
parent25ea9a4d2465a1ca7d1375f8937fd36d247f41e4 (diff)
Clang: Remove project tracking on clangbackend side
...as it is not needed. Just provide the compilation arguments as part of the Document. As a side effect, re-initializing the backend after a crash is cheaper and will not freeze the UI anymore (referenced bug). Task-number: QTCREATORBUG-21097 Change-Id: I866e25ef1fd5e4d318df16612a7564469e6baa11 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Diffstat (limited to 'src/plugins/clangcodemodel/clangutils.cpp')
-rw-r--r--src/plugins/clangcodemodel/clangutils.cpp32
1 files changed, 3 insertions, 29 deletions
diff --git a/src/plugins/clangcodemodel/clangutils.cpp b/src/plugins/clangcodemodel/clangutils.cpp
index 2150521e86..2d74d7f4ef 100644
--- a/src/plugins/clangcodemodel/clangutils.cpp
+++ b/src/plugins/clangcodemodel/clangutils.cpp
@@ -63,26 +63,6 @@ using namespace CppTools;
namespace ClangCodeModel {
namespace Utils {
-/**
- * @brief Creates list of message-line arguments required for correct parsing
- * @param pPart Null if file isn't part of any project
- * @param fileName Path to file, non-empty
- */
-QStringList createClangOptions(const ProjectPart::Ptr &pPart, const QString &fileName)
-{
- ProjectFile::Kind fileKind = ProjectFile::Unclassified;
- if (!pPart.isNull())
- foreach (const ProjectFile &file, pPart->files)
- if (file.path == fileName) {
- fileKind = file.kind;
- break;
- }
- if (fileKind == ProjectFile::Unclassified)
- fileKind = ProjectFile::classify(fileName);
-
- return createClangOptions(pPart, fileKind);
-}
-
class LibClangOptionsBuilder final : public CompilerOptionsBuilder
{
public:
@@ -122,16 +102,10 @@ private:
}
};
-/**
- * @brief Creates list of message-line arguments required for correct parsing
- * @param pPart Null if file isn't part of any project
- * @param fileKind Determines language and source/header state
- */
-QStringList createClangOptions(const ProjectPart::Ptr &pPart, ProjectFile::Kind fileKind)
+QStringList createClangOptions(const ProjectPart &projectPart, ProjectFile::Kind fileKind)
{
- if (!pPart)
- return QStringList();
- return LibClangOptionsBuilder(*pPart).build(fileKind, CompilerOptionsBuilder::PchUsage::None);
+ return LibClangOptionsBuilder(projectPart)
+ .build(fileKind, CompilerOptionsBuilder::PchUsage::None);
}
ProjectPart::Ptr projectPartForFile(const QString &filePath)