forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/12.0'
Change-Id: Ice9c78147917fc13b6cf81ba781a37bdcd870e17
This commit is contained in:
@@ -553,17 +553,15 @@ void ClangModelManagerSupport::updateLanguageClient(Project *project)
|
||||
hasDocuments = true;
|
||||
}
|
||||
|
||||
for (auto it = m_queuedShadowDocuments.begin(); it != m_queuedShadowDocuments.end();) {
|
||||
if (fileIsProjectBuildArtifact(client, it.key())) {
|
||||
if (it.value().isEmpty())
|
||||
client->removeShadowDocument(it.key());
|
||||
else
|
||||
client->setShadowDocument(it.key(), it.value());
|
||||
ClangdClient::handleUiHeaderChange(it.key().fileName());
|
||||
it = m_queuedShadowDocuments.erase(it);
|
||||
} else {
|
||||
++it;
|
||||
}
|
||||
for (auto it = m_potentialShadowDocuments.begin();
|
||||
it != m_potentialShadowDocuments.end(); ++it) {
|
||||
if (!fileIsProjectBuildArtifact(client, it.key()))
|
||||
continue;
|
||||
if (it.value().isEmpty())
|
||||
client->removeShadowDocument(it.key());
|
||||
else
|
||||
client->setShadowDocument(it.key(), it.value());
|
||||
ClangdClient::handleUiHeaderChange(it.key().fileName());
|
||||
}
|
||||
|
||||
updateParserConfig(client);
|
||||
@@ -799,10 +797,8 @@ void ClangModelManagerSupport::onAbstractEditorSupportContentsUpdated(const QStr
|
||||
if (Client * const client = clientForGeneratedFile(fp)) {
|
||||
client->setShadowDocument(fp, stringContent);
|
||||
ClangdClient::handleUiHeaderChange(fp.fileName());
|
||||
QTC_CHECK(m_queuedShadowDocuments.remove(fp) == 0);
|
||||
} else {
|
||||
m_queuedShadowDocuments.insert(fp, stringContent);
|
||||
}
|
||||
m_potentialShadowDocuments.insert(fp, stringContent);
|
||||
}
|
||||
|
||||
void ClangModelManagerSupport::onAbstractEditorSupportRemoved(const QString &filePath)
|
||||
@@ -813,10 +809,8 @@ void ClangModelManagerSupport::onAbstractEditorSupportRemoved(const QString &fil
|
||||
if (Client * const client = clientForGeneratedFile(fp)) {
|
||||
client->removeShadowDocument(fp);
|
||||
ClangdClient::handleUiHeaderChange(fp.fileName());
|
||||
QTC_CHECK(m_queuedShadowDocuments.remove(fp) == 0);
|
||||
} else {
|
||||
m_queuedShadowDocuments.insert(fp, {});
|
||||
}
|
||||
m_potentialShadowDocuments.remove(fp);
|
||||
}
|
||||
|
||||
void addFixItsActionsToMenu(QMenu *menu, const TextEditor::QuickFixOperations &fixItOperations)
|
||||
|
||||
@@ -96,7 +96,7 @@ private:
|
||||
Utils::FutureSynchronizer m_generatorSynchronizer;
|
||||
QList<QPointer<ClangdClient>> m_clientsToRestart;
|
||||
QTimer * const m_clientRestartTimer;
|
||||
QHash<Utils::FilePath, QString> m_queuedShadowDocuments;
|
||||
QHash<Utils::FilePath, QString> m_potentialShadowDocuments;
|
||||
};
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
Reference in New Issue
Block a user