diff --git a/src/plugins/clangtools/clangtoolruncontrol.cpp b/src/plugins/clangtools/clangtoolruncontrol.cpp index fda7144704a..c684774ef8d 100644 --- a/src/plugins/clangtools/clangtoolruncontrol.cpp +++ b/src/plugins/clangtools/clangtoolruncontrol.cpp @@ -189,7 +189,7 @@ void ClangToolRunWorker::start() const AnalyzeInputData input{tool, m_diagnosticConfig, m_temporaryDir.path(), m_environment, unit}; const auto setupHandler = [this, unit, tool] { - const QString filePath = FilePath::fromString(unit.file).toUserOutput(); + const QString filePath = unit.file.toUserOutput(); appendMessage(Tr::tr("Analyzing \"%1\" [%2].").arg(filePath, clangToolName(tool)), Utils::StdOutFormat); return true; @@ -231,7 +231,7 @@ void ClangToolRunWorker::onDone(const AnalyzeOutputData &output) m_filesNotAnalyzed.insert(output.fileToAnalyze); const QString message = Tr::tr("Failed to analyze \"%1\": %2") - .arg(output.fileToAnalyze, output.errorMessage); + .arg(output.fileToAnalyze.toUserOutput(), output.errorMessage); appendMessage(message, Utils::StdErrFormat); appendMessage(output.errorDetails, Utils::StdErrFormat); return; @@ -247,7 +247,8 @@ void ClangToolRunWorker::onDone(const AnalyzeOutputData &output) m_filesAnalyzed.remove(output.fileToAnalyze); m_filesNotAnalyzed.insert(output.fileToAnalyze); qCDebug(LOG) << "onRunnerFinishedWithSuccess: Error reading log file:" << errorMessage; - appendMessage(Tr::tr("Failed to analyze \"%1\": %2").arg(output.fileToAnalyze, errorMessage), + appendMessage(Tr::tr("Failed to analyze \"%1\": %2") + .arg(output.fileToAnalyze.toUserOutput(), errorMessage), Utils::StdErrFormat); } else { if (!m_filesNotAnalyzed.contains(output.fileToAnalyze)) diff --git a/src/plugins/clangtools/clangtoolruncontrol.h b/src/plugins/clangtools/clangtoolruncontrol.h index 4a47e486106..19ad9189af4 100644 --- a/src/plugins/clangtools/clangtoolruncontrol.h +++ b/src/plugins/clangtools/clangtoolruncontrol.h @@ -69,8 +69,8 @@ private: std::unique_ptr m_taskTree; QSet m_projectFiles; - QSet m_filesAnalyzed; - QSet m_filesNotAnalyzed; + QSet m_filesAnalyzed; + QSet m_filesNotAnalyzed; QElapsedTimer m_elapsed; }; diff --git a/src/plugins/clangtools/clangtoolrunner.cpp b/src/plugins/clangtools/clangtoolrunner.cpp index 4c2a908a789..a02ae6912e0 100644 --- a/src/plugins/clangtools/clangtoolrunner.cpp +++ b/src/plugins/clangtools/clangtoolrunner.cpp @@ -41,7 +41,7 @@ AnalyzeUnit::AnalyzeUnit(const FileInfo &fileInfo, UseLanguageDefines::No, UseBuildSystemWarnings::No, actualClangIncludeDir); - file = fileInfo.file.toString(); + file = fileInfo.file; arguments = extraClangToolsPrependOptions(); arguments.append(optionsBuilder.build(fileInfo.kind, CppEditor::getPchUsage())); arguments.append(extraClangToolsAppendOptions()); @@ -85,9 +85,9 @@ static QStringList clangArguments(const ClangDiagnosticConfig &diagnosticConfig, return arguments; } -static QString createOutputFilePath(const FilePath &dirPath, const QString &fileToAnalyze) +static QString createOutputFilePath(const FilePath &dirPath, const FilePath &fileToAnalyze) { - const QString fileName = QFileInfo(fileToAnalyze).fileName(); + const QString fileName = fileToAnalyze.fileName(); const FilePath fileTemplate = dirPath.pathAppended("report-" + fileName + "-XXXXXX"); TemporaryFile temporaryFile("clangtools"); @@ -117,7 +117,7 @@ TaskItem clangToolTask(const AnalyzeInputData &input, result << "-export-fixes=" + data->outputFilePath; if (!input.overlayFilePath.isEmpty() && isVFSOverlaySupported(data->executable)) result << "--vfsoverlay=" + input.overlayFilePath; - result << QDir::toNativeSeparators(input.unit.file); + result << input.unit.file.nativePath(); return result; }; @@ -134,8 +134,8 @@ TaskItem clangToolTask(const AnalyzeInputData &input, } QTC_CHECK(!input.unit.arguments.contains(QLatin1String("-o"))); - QTC_CHECK(!input.unit.arguments.contains(input.unit.file)); - QTC_ASSERT(FilePath::fromString(input.unit.file).exists(), return TaskAction::StopWithError); + QTC_CHECK(!input.unit.arguments.contains(input.unit.file.nativePath())); + QTC_ASSERT(input.unit.file.exists(), return TaskAction::StopWithError); data->outputFilePath = createOutputFilePath(input.outputDirPath, input.unit.file); QTC_ASSERT(!data->outputFilePath.isEmpty(), return TaskAction::StopWithError); diff --git a/src/plugins/clangtools/clangtoolrunner.h b/src/plugins/clangtools/clangtoolrunner.h index 2ba0af444c3..2ea281810f8 100644 --- a/src/plugins/clangtools/clangtoolrunner.h +++ b/src/plugins/clangtools/clangtoolrunner.h @@ -14,12 +14,13 @@ namespace Utils::Tasking { class TaskItem; } namespace ClangTools { namespace Internal { -struct AnalyzeUnit { +struct AnalyzeUnit +{ AnalyzeUnit(const FileInfo &fileInfo, const Utils::FilePath &clangResourceDir, const QString &clangVersion); - QString file; + Utils::FilePath file; QStringList arguments; // without file itself and "-o somePath" }; using AnalyzeUnits = QList; @@ -37,7 +38,7 @@ struct AnalyzeInputData struct AnalyzeOutputData { bool success = true; - QString fileToAnalyze; + Utils::FilePath fileToAnalyze; QString outputFilePath; CppEditor::ClangToolType toolType; QString errorMessage = {};