forked from qt-creator/qt-creator
ClangCodeModel: Minimize QStringList -> QJsonArray conversions
... when setting up the compilation database. As it turns out, these conversions were the most expensive part of creating the JSON file. We now build the JSON arrays incrementally instead of setting them up from scratch for every source file. Change-Id: I1e664a6320d5b3c49b31366c58aa14f63818e008 Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -63,9 +63,15 @@ const QStringList optionsForProject(ProjectExplorer::Project *project,
|
||||
CppEditor::CompilerOptionsBuilder clangOptionsBuilder(
|
||||
const CppEditor::ProjectPart &projectPart,
|
||||
const CppEditor::ClangDiagnosticConfig &warningsConfig);
|
||||
QStringList clangOptionsForFile(CppEditor::CompilerOptionsBuilder optionsBuilder,
|
||||
const CppEditor::ProjectFile &file,
|
||||
const QStringList &projectOptions, CppEditor::UsePrecompiledHeaders usePch);
|
||||
QJsonArray projectPartOptions(const CppEditor::CompilerOptionsBuilder &optionsBuilder);
|
||||
QJsonArray fullProjectPartOptions(const CppEditor::CompilerOptionsBuilder &optionsBuilder,
|
||||
const QStringList &projectOptions);
|
||||
QJsonArray fullProjectPartOptions(const QJsonArray &projectPartOptions,
|
||||
const QJsonArray &projectOptions);
|
||||
QJsonArray clangOptionsForFile(const CppEditor::ProjectFile &file,
|
||||
const CppEditor::ProjectPart &projectPart,
|
||||
const QJsonArray &generalOptions,
|
||||
CppEditor::UsePrecompiledHeaders usePch);
|
||||
|
||||
CppEditor::ProjectPart::ConstPtr projectPartForFile(const QString &filePath);
|
||||
CppEditor::ProjectPart::ConstPtr projectPartForFileBasedOnProcessor(const QString &filePath);
|
||||
|
||||
Reference in New Issue
Block a user