diff --git a/src/libs/cplusplus/cppmodelmanagerbase.cpp b/src/libs/cplusplus/cppmodelmanagerbase.cpp index cff9ef99e2c..410244ab96f 100644 --- a/src/libs/cplusplus/cppmodelmanagerbase.cpp +++ b/src/libs/cplusplus/cppmodelmanagerbase.cpp @@ -3,29 +3,32 @@ #include "cppmodelmanagerbase.h" +#include #include +using namespace Utils; + namespace CPlusPlus::CppModelManagerBase { static bool (*setExtraDiagnosticsCallback) - (const QString &, const QString &, const QList &) = nullptr; + (const FilePath &, const QString &, const QList &) = nullptr; static CPlusPlus::Snapshot (*snapshotCallback)() = nullptr; -bool trySetExtraDiagnostics(const QString &fileName, const QString &kind, +bool trySetExtraDiagnostics(const FilePath &filePath, const QString &kind, const QList &diagnostics) { if (!setExtraDiagnosticsCallback) return false; - return setExtraDiagnosticsCallback(fileName, kind, diagnostics); + return setExtraDiagnosticsCallback(filePath, kind, diagnostics); } -bool setExtraDiagnostics(const QString &fileName, const QString &kind, - const QList &diagnostics) +bool setExtraDiagnostics(const FilePath &filePath, const QString &kind, + const QList &diagnostics) { QTC_ASSERT(setExtraDiagnosticsCallback, return false); - return setExtraDiagnosticsCallback(fileName, kind, diagnostics); + return setExtraDiagnosticsCallback(filePath, kind, diagnostics); } Snapshot snapshot() @@ -42,7 +45,7 @@ bool hasSnapshots() // Installation void registerSetExtraDiagnosticsCallback( - bool (*callback)(const QString &, const QString &, const QList &)) + bool (*callback)(const FilePath &, const QString &, const QList &)) { QTC_ASSERT(callback, return); QTC_CHECK(!setExtraDiagnosticsCallback); // bark when used twice diff --git a/src/libs/cplusplus/cppmodelmanagerbase.h b/src/libs/cplusplus/cppmodelmanagerbase.h index 1a9e4c7db33..0a8e18e733f 100644 --- a/src/libs/cplusplus/cppmodelmanagerbase.h +++ b/src/libs/cplusplus/cppmodelmanagerbase.h @@ -5,13 +5,15 @@ #include +namespace Utils { class FilePath; } + namespace CPlusPlus::CppModelManagerBase { CPLUSPLUS_EXPORT bool trySetExtraDiagnostics - (const QString &, const QString &, const QList &); + (const Utils::FilePath &filePath, const QString &, const QList &); CPLUSPLUS_EXPORT bool setSetExtraDiagnostics - (const QString &, const QString &, const QList &); + (const Utils::FilePath &, const QString &, const QList &); CPLUSPLUS_EXPORT bool hasSnapshots(); @@ -23,6 +25,6 @@ CPLUSPLUS_EXPORT CPlusPlus::Snapshot snapshot(); CPLUSPLUS_EXPORT void registerSnapshotCallback(CPlusPlus::Snapshot (*)(void)); CPLUSPLUS_EXPORT void registerSetExtraDiagnosticsCallback( - bool(*)(const QString &, const QString &, const QList &)); + bool(*)(const Utils::FilePath &, const QString &, const QList &)); } // CPlusPlus::CppModelManagerBase diff --git a/src/libs/qmljs/qmljsfindexportedcpptypes.cpp b/src/libs/qmljs/qmljsfindexportedcpptypes.cpp index e3c5cb6fc76..6b2c10b21a8 100644 --- a/src/libs/qmljs/qmljsfindexportedcpptypes.cpp +++ b/src/libs/qmljs/qmljsfindexportedcpptypes.cpp @@ -842,8 +842,7 @@ QStringList FindExportedCppTypes::operator()(const CPlusPlus::Document::Ptr &doc FindExportsVisitor finder(document); finder(); static const QString kindKey = QLatin1String("QmlJSTools.ExportedQmlTypesDiagnostic"); - CppModelManagerBase::trySetExtraDiagnostics(document->filePath().toString(), kindKey, - finder.messages()); + CppModelManagerBase::trySetExtraDiagnostics(document->filePath(), kindKey, finder.messages()); // if nothing was found, done const QList contextPropertyDescriptions = finder.contextProperties(); diff --git a/src/plugins/cppeditor/cppeditordocument.cpp b/src/plugins/cppeditor/cppeditordocument.cpp index e03dc2b40fe..da9eaed9b87 100644 --- a/src/plugins/cppeditor/cppeditordocument.cpp +++ b/src/plugins/cppeditor/cppeditordocument.cpp @@ -479,9 +479,9 @@ bool CppEditorDocument::usesClangd() const return CppModelManager::usesClangd(this); } -void CppEditorDocument::onDiagnosticsChanged(const QString &fileName, const QString &kind) +void CppEditorDocument::onDiagnosticsChanged(const FilePath &fileName, const QString &kind) { - if (FilePath::fromString(fileName) != filePath()) + if (fileName != filePath()) return; TextMarks removedMarks = marks(); diff --git a/src/plugins/cppeditor/cppeditordocument.h b/src/plugins/cppeditor/cppeditordocument.h index 734c64b665f..7a0a8f43cc5 100644 --- a/src/plugins/cppeditor/cppeditordocument.h +++ b/src/plugins/cppeditor/cppeditordocument.h @@ -76,7 +76,7 @@ private: void onAboutToReload(); void onReloadFinished(); - void onDiagnosticsChanged(const QString &fileName, const QString &kind); + void onDiagnosticsChanged(const Utils::FilePath &fileName, const QString &kind); void reparseWithPreferredParseContext(const QString &id); diff --git a/src/plugins/cppeditor/cppmodelmanager.cpp b/src/plugins/cppeditor/cppmodelmanager.cpp index 3980f99ac89..c95567eb3b6 100644 --- a/src/plugins/cppeditor/cppmodelmanager.cpp +++ b/src/plugins/cppeditor/cppmodelmanager.cpp @@ -2079,12 +2079,12 @@ QThreadPool *CppModelManager::sharedThreadPool() return &d->m_threadPool; } -bool CppModelManager::setExtraDiagnostics(const QString &fileName, +bool CppModelManager::setExtraDiagnostics(const FilePath &filePath, const QString &kind, const QList &diagnostics) { d->m_diagnosticMessages = diagnostics; - emit m_instance->diagnosticsChanged(fileName, kind); + emit m_instance->diagnosticsChanged(filePath, kind); return true; } diff --git a/src/plugins/cppeditor/cppmodelmanager.h b/src/plugins/cppeditor/cppmodelmanager.h index 6f6dc7298e3..2e78042eb79 100644 --- a/src/plugins/cppeditor/cppmodelmanager.h +++ b/src/plugins/cppeditor/cppmodelmanager.h @@ -95,7 +95,7 @@ public: static QByteArray codeModelConfiguration(); static CppLocatorData *locatorData(); - static bool setExtraDiagnostics(const QString &fileName, + static bool setExtraDiagnostics(const Utils::FilePath &filePath, const QString &kind, const QList &diagnostics); @@ -268,7 +268,7 @@ signals: void abstractEditorSupportRemoved(const QString &filePath); void fallbackProjectPartUpdated(); - void diagnosticsChanged(const QString &fileName, const QString &kind); + void diagnosticsChanged(const Utils::FilePath &filePath, const QString &kind); public slots: static void updateModifiedSourceFiles();