From f97a62b62043cb21296c7d1acb89b83e7ff8a9dd Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 14 Apr 2025 11:33:58 +0200 Subject: [PATCH] ProjectExplorer: Use Result in JsonWizardFileGenerator Change-Id: I068c4a22099f406142e24a528eba61be147e10a5 Reviewed-by: Alessandro Portale --- .../jsonwizard/jsonwizardfilegenerator.cpp | 33 +++++++++---------- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizardfilegenerator.cpp b/src/plugins/projectexplorer/jsonwizard/jsonwizardfilegenerator.cpp index d23d903456e..783d862d1cd 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonwizardfilegenerator.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonwizardfilegenerator.cpp @@ -28,14 +28,14 @@ namespace ProjectExplorer::Internal { class JsonWizardFileGenerator final : public JsonWizardGenerator { public: - Utils::Result<> setup(const QVariant &data); + Result<> setup(const QVariant &data); Core::GeneratedFiles fileList(MacroExpander *expander, const FilePath &wizardDir, const FilePath &projectDir, QString *errorMessage) final; - Utils::Result<> writeFile(const JsonWizard *wizard, Core::GeneratedFile *file) final; + Result<> writeFile(const JsonWizard *wizard, Core::GeneratedFile *file) final; private: class File { @@ -53,8 +53,7 @@ private: QList options; }; - Core::GeneratedFile generateFile(const File &file, MacroExpander *expander, - QString *errorMessage); + Result generateFile(const File &file, MacroExpander *expander); QList m_fileList; @@ -109,13 +108,12 @@ Result<> JsonWizardFileGenerator::setup(const QVariant &data) return ResultOk; } -Core::GeneratedFile JsonWizardFileGenerator::generateFile(const File &file, - MacroExpander *expander, QString *errorMessage) +Result JsonWizardFileGenerator::generateFile(const File &file, MacroExpander *expander) { // Read contents of source file FileReader reader; - if (!reader.fetch(file.source, errorMessage)) - return Core::GeneratedFile(); + if (!reader.fetch(file.source)) + return ResultError(reader.errorString()); // Generate file information: Core::GeneratedFile gf; @@ -147,12 +145,12 @@ Core::GeneratedFile JsonWizardFileGenerator::generateFile(const File &file, return expander->resolveMacro(n, ret); }); + QString errorMessage; gf.setContents(TemplateEngine::processText(&nested, QString::fromUtf8(reader.text()), - errorMessage)); - if (!errorMessage->isEmpty()) { - *errorMessage = Tr::tr("When processing \"%1\":
%2") - .arg(file.source.toUserOutput(), *errorMessage); - return Core::GeneratedFile(); + &errorMessage)); + if (!errorMessage.isEmpty()) { + return ResultError(Tr::tr("When processing \"%1\":
%2") + .arg(file.source.toUserOutput(), errorMessage)); } } if (!file.source.isResourceFile()) // resource files mess up permissions, stay with default @@ -233,11 +231,10 @@ Core::GeneratedFiles JsonWizardFileGenerator::fileList(MacroExpander *expander, const Core::GeneratedFiles result = Utils::transform(fileList, [this, &expander, &errorMessage](const File &f) { - QString generateError; - const Core::GeneratedFile file = generateFile(f, expander, &generateError); - if (!generateError.isEmpty()) - *errorMessage = generateError; - return file; + const Result file = generateFile(f, expander); + if (!file) + *errorMessage = file.error(); + return file.value(); }); if (Utils::contains(result, [](const Core::GeneratedFile &gf) {