diff --git a/src/plugins/android/androidbuildapkstep.cpp b/src/plugins/android/androidbuildapkstep.cpp index 9b6e8d4dddf..b4934ee183f 100644 --- a/src/plugins/android/androidbuildapkstep.cpp +++ b/src/plugins/android/androidbuildapkstep.cpp @@ -894,14 +894,13 @@ bool AndroidBuildApkStep::fromMap(const QVariantMap &map) return ProjectExplorer::BuildStep::fromMap(map); } -QVariantMap AndroidBuildApkStep::toMap() const +void AndroidBuildApkStep::toMap(QVariantMap &map) const { - QVariantMap map = ProjectExplorer::AbstractProcessStep::toMap(); + ProjectExplorer::AbstractProcessStep::toMap(map); map.insert(KeystoreLocationKey, m_keystorePath.toSettings()); map.insert(BuildTargetSdkKey, m_buildTargetSdk); map.insert(BuildToolsVersionKey, m_buildToolsVersion.toString()); map.insert(VerboseOutputKey, m_verbose); - return map; } Utils::FilePath AndroidBuildApkStep::keystorePath() const diff --git a/src/plugins/android/androidbuildapkstep.h b/src/plugins/android/androidbuildapkstep.h index fd68a4ae2cd..e0a2a951338 100644 --- a/src/plugins/android/androidbuildapkstep.h +++ b/src/plugins/android/androidbuildapkstep.h @@ -24,7 +24,7 @@ public: AndroidBuildApkStep(ProjectExplorer::BuildStepList *bc, Utils::Id id); bool fromMap(const QVariantMap &map) override; - QVariantMap toMap() const override; + void toMap(QVariantMap &map) const override; // signing Utils::FilePath keystorePath() const; diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index e98ed2a8cd5..4d87dc0a28c 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -1562,10 +1562,9 @@ CMakeBuildConfiguration::~CMakeBuildConfiguration() delete m_buildSystem; } -QVariantMap CMakeBuildConfiguration::toMap() const +void CMakeBuildConfiguration::toMap(QVariantMap &map) const { - QVariantMap map(BuildConfiguration::toMap()); - return map; + BuildConfiguration::toMap(map); } bool CMakeBuildConfiguration::fromMap(const QVariantMap &map) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h index a04de47196e..126d796dc5a 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h @@ -94,7 +94,7 @@ protected: bool fromMap(const QVariantMap &map) override; private: - QVariantMap toMap() const override; + void toMap(QVariantMap &map) const override; BuildType buildType() const override; ProjectExplorer::NamedWidget *createConfigWidget() override; diff --git a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp index 6fc6ecc3e32..455340197bf 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp @@ -272,15 +272,13 @@ CMakeBuildStep::CMakeBuildStep(BuildStepList *bsl, Id id) : this, &CMakeBuildStep::updateBuildTargetsModel); } -QVariantMap CMakeBuildStep::toMap() const +void CMakeBuildStep::toMap(QVariantMap &map) const { - QVariantMap map(CMakeAbstractProcessStep::toMap()); + CMakeAbstractProcessStep::toMap(map); map.insert(BUILD_TARGETS_KEY, m_buildTargets); map.insert(QLatin1String(CLEAR_SYSTEM_ENVIRONMENT_KEY), m_clearSystemEnvironment); map.insert(QLatin1String(USER_ENVIRONMENT_CHANGES_KEY), EnvironmentItem::toStringList(m_userEnvironmentChanges)); map.insert(QLatin1String(BUILD_PRESET_KEY), m_buildPreset); - - return map; } bool CMakeBuildStep::fromMap(const QVariantMap &map) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildstep.h b/src/plugins/cmakeprojectmanager/cmakebuildstep.h index af239275d38..009f9f7e602 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildstep.h +++ b/src/plugins/cmakeprojectmanager/cmakebuildstep.h @@ -44,7 +44,7 @@ public: bool buildsBuildTarget(const QString &target) const; void setBuildsBuildTarget(const QString &target, bool on); - QVariantMap toMap() const override; + void toMap(QVariantMap &map) const override; QString cleanTarget() const; QString allTarget() const ; diff --git a/src/plugins/ios/iosbuildstep.cpp b/src/plugins/ios/iosbuildstep.cpp index 7831d84e239..af50a79ffde 100644 --- a/src/plugins/ios/iosbuildstep.cpp +++ b/src/plugins/ios/iosbuildstep.cpp @@ -57,7 +57,7 @@ private: bool init() final; void setupOutputFormatter(Utils::OutputFormatter *formatter) final; bool fromMap(const QVariantMap &map) final; - QVariantMap toMap() const final; + void toMap(QVariantMap &map) const final; QStringList m_baseBuildArguments; QStringList m_extraArguments; @@ -166,17 +166,15 @@ void IosBuildStep::setupOutputFormatter(OutputFormatter *formatter) AbstractProcessStep::setupOutputFormatter(formatter); } -QVariantMap IosBuildStep::toMap() const +void IosBuildStep::toMap(QVariantMap &map) const { - QVariantMap map(AbstractProcessStep::toMap()); + AbstractProcessStep::toMap(map); map.insert(BUILD_ARGUMENTS_KEY, m_baseBuildArguments); map.insert(BUILD_USE_DEFAULT_ARGS_KEY, m_useDefaultArguments); // Not used anymore since 4.14. But make sure older versions of Creator can read this. map.insert(CLEAN_KEY, stepList()->id() == ProjectExplorer::Constants::BUILDSTEPS_CLEAN); - - return map; } bool IosBuildStep::fromMap(const QVariantMap &map) diff --git a/src/plugins/ios/iosdsymbuildstep.cpp b/src/plugins/ios/iosdsymbuildstep.cpp index 2d0e2b841f0..2c840cb6b73 100644 --- a/src/plugins/ios/iosdsymbuildstep.cpp +++ b/src/plugins/ios/iosdsymbuildstep.cpp @@ -59,7 +59,7 @@ public: private: void setupOutputFormatter(OutputFormatter *formatter) override; - QVariantMap toMap() const override; + void toMap(QVariantMap &map) const override; bool fromMap(const QVariantMap &map) override; QStringList defaultCleanCmdList() const; @@ -83,9 +83,9 @@ IosDsymBuildStep::IosDsymBuildStep(BuildStepList *parent, Id id) : setIgnoreReturnValue(m_clean); } -QVariantMap IosDsymBuildStep::toMap() const +void IosDsymBuildStep::toMap(QVariantMap &map) const { - QVariantMap map(AbstractProcessStep::toMap()); + AbstractProcessStep::toMap(map); map.insert(id().withSuffix(ARGUMENTS_PARTIAL_KEY).toString(), arguments()); @@ -93,7 +93,6 @@ QVariantMap IosDsymBuildStep::toMap() const isDefault()); map.insert(id().withSuffix(CLEAN_PARTIAL_KEY).toString(), m_clean); map.insert(id().withSuffix(COMMAND_PARTIAL_KEY).toString(), command().toSettings()); - return map; } bool IosDsymBuildStep::fromMap(const QVariantMap &map) diff --git a/src/plugins/mesonprojectmanager/mesonbuildconfiguration.cpp b/src/plugins/mesonprojectmanager/mesonbuildconfiguration.cpp index b71d28b1072..e4c19e09572 100644 --- a/src/plugins/mesonprojectmanager/mesonbuildconfiguration.cpp +++ b/src/plugins/mesonprojectmanager/mesonbuildconfiguration.cpp @@ -137,12 +137,11 @@ void MesonBuildConfiguration::setParameters(const QString ¶ms) emit parametersChanged(); } -QVariantMap MesonBuildConfiguration::toMap() const +void MesonBuildConfiguration::toMap(QVariantMap &map) const { - auto data = ProjectExplorer::BuildConfiguration::toMap(); - data[Constants::BuildConfiguration::BUILD_TYPE_KEY] = mesonBuildTypeName(m_buildType); - data[Constants::BuildConfiguration::PARAMETERS_KEY] = m_parameters; - return data; + ProjectExplorer::BuildConfiguration::toMap(map); + map[Constants::BuildConfiguration::BUILD_TYPE_KEY] = mesonBuildTypeName(m_buildType); + map[Constants::BuildConfiguration::PARAMETERS_KEY] = m_parameters; } bool MesonBuildConfiguration::fromMap(const QVariantMap &map) diff --git a/src/plugins/mesonprojectmanager/mesonbuildconfiguration.h b/src/plugins/mesonprojectmanager/mesonbuildconfiguration.h index d262c837810..c9433dd5b69 100644 --- a/src/plugins/mesonprojectmanager/mesonbuildconfiguration.h +++ b/src/plugins/mesonprojectmanager/mesonbuildconfiguration.h @@ -30,7 +30,7 @@ signals: void parametersChanged(); private: - QVariantMap toMap() const override; + void toMap(QVariantMap &map) const override; bool fromMap(const QVariantMap &map) override; MesonBuildType m_buildType; ProjectExplorer::NamedWidget *createConfigWidget() final; diff --git a/src/plugins/mesonprojectmanager/ninjabuildstep.cpp b/src/plugins/mesonprojectmanager/ninjabuildstep.cpp index 0cb71186bdd..310d6b12da5 100644 --- a/src/plugins/mesonprojectmanager/ninjabuildstep.cpp +++ b/src/plugins/mesonprojectmanager/ninjabuildstep.cpp @@ -189,7 +189,7 @@ MesonBuildStepFactory::MesonBuildStepFactory() setDisplayName(Tr::tr("Meson Build")); } -void MesonProjectManager::Internal::NinjaBuildStep::setBuildTarget(const QString &targetName) +void NinjaBuildStep::setBuildTarget(const QString &targetName) { m_targetName = targetName; } @@ -199,12 +199,11 @@ void NinjaBuildStep::setCommandArgs(const QString &args) m_commandArgs = args.trimmed(); } -QVariantMap NinjaBuildStep::toMap() const +void NinjaBuildStep::toMap(QVariantMap &map) const { - QVariantMap map(AbstractProcessStep::toMap()); + AbstractProcessStep::toMap(map); map.insert(TARGETS_KEY, m_targetName); map.insert(TOOL_ARGUMENTS_KEY, m_commandArgs); - return map; } bool NinjaBuildStep::fromMap(const QVariantMap &map) diff --git a/src/plugins/mesonprojectmanager/ninjabuildstep.h b/src/plugins/mesonprojectmanager/ninjabuildstep.h index 1feecadb5f1..8038d36bb60 100644 --- a/src/plugins/mesonprojectmanager/ninjabuildstep.h +++ b/src/plugins/mesonprojectmanager/ninjabuildstep.h @@ -25,7 +25,8 @@ public: const QString &targetName() const { return m_targetName; } Q_SIGNAL void targetListChanged(); Q_SIGNAL void commandChanged(); - QVariantMap toMap() const override; + + void toMap(QVariantMap &map) const override; bool fromMap(const QVariantMap &map) override; private: diff --git a/src/plugins/nim/project/nimblebuildconfiguration.cpp b/src/plugins/nim/project/nimblebuildconfiguration.cpp index b0fc7cefb88..0f13a643aa7 100644 --- a/src/plugins/nim/project/nimblebuildconfiguration.cpp +++ b/src/plugins/nim/project/nimblebuildconfiguration.cpp @@ -43,11 +43,10 @@ bool NimbleBuildConfiguration::fromMap(const QVariantMap &map) return BuildConfiguration::fromMap(map); } -QVariantMap NimbleBuildConfiguration::toMap() const +void NimbleBuildConfiguration::toMap(QVariantMap &map) const { - auto map = BuildConfiguration::toMap(); + BuildConfiguration::toMap(map); map[Constants::C_NIMBLEBUILDCONFIGURATION_BUILDTYPE] = buildType(); - return map; } void NimbleBuildConfiguration::setBuildType(BuildConfiguration::BuildType buildType) diff --git a/src/plugins/nim/project/nimblebuildconfiguration.h b/src/plugins/nim/project/nimblebuildconfiguration.h index fa572bdc78d..1a575ac6f06 100644 --- a/src/plugins/nim/project/nimblebuildconfiguration.h +++ b/src/plugins/nim/project/nimblebuildconfiguration.h @@ -19,8 +19,7 @@ class NimbleBuildConfiguration : public ProjectExplorer::BuildConfiguration BuildType buildType() const override; bool fromMap(const QVariantMap &map) override; - - QVariantMap toMap() const override; + void toMap(QVariantMap &map) const override; private: void setBuildType(BuildType buildType); diff --git a/src/plugins/nim/project/nimcompilerbuildstep.cpp b/src/plugins/nim/project/nimcompilerbuildstep.cpp index 76802a85df8..49b7760c951 100644 --- a/src/plugins/nim/project/nimcompilerbuildstep.cpp +++ b/src/plugins/nim/project/nimcompilerbuildstep.cpp @@ -130,13 +130,12 @@ bool NimCompilerBuildStep::fromMap(const QVariantMap &map) return true; } -QVariantMap NimCompilerBuildStep::toMap() const +void NimCompilerBuildStep::toMap(QVariantMap &map) const { - QVariantMap result = AbstractProcessStep::toMap(); - result[Constants::C_NIMCOMPILERBUILDSTEP_USERCOMPILEROPTIONS] = m_userCompilerOptions.join('|'); - result[Constants::C_NIMCOMPILERBUILDSTEP_DEFAULTBUILDOPTIONS] = m_defaultOptions; - result[Constants::C_NIMCOMPILERBUILDSTEP_TARGETNIMFILE] = m_targetNimFile.toString(); - return result; + AbstractProcessStep::toMap(map); + map[Constants::C_NIMCOMPILERBUILDSTEP_USERCOMPILEROPTIONS] = m_userCompilerOptions.join('|'); + map[Constants::C_NIMCOMPILERBUILDSTEP_DEFAULTBUILDOPTIONS] = m_defaultOptions; + map[Constants::C_NIMCOMPILERBUILDSTEP_TARGETNIMFILE] = m_targetNimFile.toString(); } void NimCompilerBuildStep::setBuildType(BuildConfiguration::BuildType buildType) diff --git a/src/plugins/nim/project/nimcompilerbuildstep.h b/src/plugins/nim/project/nimcompilerbuildstep.h index 90fa7bdb718..41985166b3e 100644 --- a/src/plugins/nim/project/nimcompilerbuildstep.h +++ b/src/plugins/nim/project/nimcompilerbuildstep.h @@ -27,7 +27,7 @@ private: QWidget *createConfigWidget() override; bool fromMap(const QVariantMap &map) override; - QVariantMap toMap() const override; + void toMap(QVariantMap &map) const override; void updateTargetNimFile(); Utils::CommandLine commandLine(); diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index bce374884f4..b7500d46be5 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -372,9 +372,9 @@ void BuildConfiguration::appendInitialCleanStep(Utils::Id id) d->m_initialCleanSteps.append(id); } -QVariantMap BuildConfiguration::toMap() const +void BuildConfiguration::toMap(QVariantMap &map) const { - QVariantMap map = ProjectConfiguration::toMap(); + ProjectConfiguration::toMap(map); map.insert(QLatin1String(Constants::CLEAR_SYSTEM_ENVIRONMENT_KEY), d->m_clearSystemEnvironment); map.insert(QLatin1String(Constants::USER_ENVIRONMENT_CHANGES_KEY), @@ -386,8 +386,6 @@ QVariantMap BuildConfiguration::toMap() const map.insert(PARSE_STD_OUT_KEY, d->m_parseStdOut); map.insert(CUSTOM_PARSERS_KEY, transform(d->m_customParsers,&Utils::Id::toSetting)); - - return map; } bool BuildConfiguration::fromMap(const QVariantMap &map) @@ -795,9 +793,11 @@ BuildConfiguration *BuildConfigurationFactory::restore(Target *parent, const QVa } BuildConfiguration *BuildConfigurationFactory::clone(Target *parent, - const BuildConfiguration *source) + const BuildConfiguration *source) { - return restore(parent, source->toMap()); + QVariantMap map; + source->toMap(map); + return restore(parent, map); } } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h index 7d2a779bbda..64bcd2c8b38 100644 --- a/src/plugins/projectexplorer/buildconfiguration.h +++ b/src/plugins/projectexplorer/buildconfiguration.h @@ -69,7 +69,7 @@ public: void appendInitialCleanStep(Utils::Id id); bool fromMap(const QVariantMap &map) override; - QVariantMap toMap() const override; + void toMap(QVariantMap &map) const override; bool isEnabled() const; QString disabledReason() const; diff --git a/src/plugins/projectexplorer/buildstep.cpp b/src/plugins/projectexplorer/buildstep.cpp index 20747bf0cb2..8bea8c1f15f 100644 --- a/src/plugins/projectexplorer/buildstep.cpp +++ b/src/plugins/projectexplorer/buildstep.cpp @@ -192,11 +192,10 @@ bool BuildStep::fromMap(const QVariantMap &map) return ProjectConfiguration::fromMap(map); } -QVariantMap BuildStep::toMap() const +void BuildStep::toMap(QVariantMap &map) const { - QVariantMap map = ProjectConfiguration::toMap(); + ProjectConfiguration::toMap(map); map.insert(buildStepEnabledKey, m_enabled); - return map; } BuildConfiguration *BuildStep::buildConfiguration() const diff --git a/src/plugins/projectexplorer/buildstep.h b/src/plugins/projectexplorer/buildstep.h index ef483f60796..3a9d68bd4a0 100644 --- a/src/plugins/projectexplorer/buildstep.h +++ b/src/plugins/projectexplorer/buildstep.h @@ -54,7 +54,7 @@ public: void cancel(); bool fromMap(const QVariantMap &map) override; - QVariantMap toMap() const override; + void toMap(QVariantMap &map) const override; bool enabled() const; void setEnabled(bool b); diff --git a/src/plugins/projectexplorer/buildsteplist.cpp b/src/plugins/projectexplorer/buildsteplist.cpp index 4c520b977d6..f42c224f8b0 100644 --- a/src/plugins/projectexplorer/buildsteplist.cpp +++ b/src/plugins/projectexplorer/buildsteplist.cpp @@ -57,8 +57,11 @@ QVariantMap BuildStepList::toMap() const // Save build steps map.insert(QString::fromLatin1(STEPS_COUNT_KEY), m_steps.count()); - for (int i = 0; i < m_steps.count(); ++i) - map.insert(QString::fromLatin1(STEPS_PREFIX) + QString::number(i), m_steps.at(i)->toMap()); + for (int i = 0; i < m_steps.count(); ++i) { + QVariantMap data; + m_steps.at(i)->toMap(data); + map.insert(QString::fromLatin1(STEPS_PREFIX) + QString::number(i), data); + } return map; } diff --git a/src/plugins/projectexplorer/deployconfiguration.cpp b/src/plugins/projectexplorer/deployconfiguration.cpp index bb500c3294d..1fe0aa5166a 100644 --- a/src/plugins/projectexplorer/deployconfiguration.cpp +++ b/src/plugins/projectexplorer/deployconfiguration.cpp @@ -50,9 +50,9 @@ QWidget *DeployConfiguration::createConfigWidget() return m_configWidgetCreator(this); } -QVariantMap DeployConfiguration::toMap() const +void DeployConfiguration::toMap(QVariantMap &map) const { - QVariantMap map(ProjectConfiguration::toMap()); + ProjectConfiguration::toMap(map); map.insert(QLatin1String(BUILD_STEP_LIST_COUNT), 1); map.insert(QLatin1String(BUILD_STEP_LIST_PREFIX) + QLatin1Char('0'), m_stepList.toMap()); map.insert(USES_DEPLOYMENT_DATA, usesCustomDeploymentData()); @@ -62,7 +62,6 @@ QVariantMap DeployConfiguration::toMap() const deployData.insert(f.localFilePath().toString(), f.remoteDirectory()); } map.insert(DEPLOYMENT_DATA, deployData); - return map; } bool DeployConfiguration::fromMap(const QVariantMap &map) @@ -185,7 +184,9 @@ DeployConfiguration *DeployConfigurationFactory::create(Target *parent) DeployConfiguration *DeployConfigurationFactory::clone(Target *parent, const DeployConfiguration *source) { - return restore(parent, source->toMap()); + QVariantMap map; + source->toMap(map); + return restore(parent, map); } DeployConfiguration *DeployConfigurationFactory::restore(Target *parent, const QVariantMap &map) diff --git a/src/plugins/projectexplorer/deployconfiguration.h b/src/plugins/projectexplorer/deployconfiguration.h index e5a0f6d164a..e6b9c4c3cca 100644 --- a/src/plugins/projectexplorer/deployconfiguration.h +++ b/src/plugins/projectexplorer/deployconfiguration.h @@ -32,7 +32,7 @@ public: QWidget *createConfigWidget(); bool fromMap(const QVariantMap &map) override; - QVariantMap toMap() const override; + void toMap(QVariantMap &map) const override; bool isActive() const; diff --git a/src/plugins/projectexplorer/projectconfiguration.cpp b/src/plugins/projectexplorer/projectconfiguration.cpp index e0a4f4b66f9..96176786b0f 100644 --- a/src/plugins/projectexplorer/projectconfiguration.cpp +++ b/src/plugins/projectexplorer/projectconfiguration.cpp @@ -74,14 +74,12 @@ QString ProjectConfiguration::toolTip() const return m_toolTip; } -QVariantMap ProjectConfiguration::toMap() const +void ProjectConfiguration::toMap(QVariantMap &map) const { QTC_CHECK(m_id.isValid()); - QVariantMap map; map.insert(QLatin1String(CONFIGURATION_ID_KEY), m_id.toSetting()); m_displayName.toMap(map, DISPLAY_NAME_KEY); AspectContainer::toMap(map); - return map; } Target *ProjectConfiguration::target() const diff --git a/src/plugins/projectexplorer/projectconfiguration.h b/src/plugins/projectexplorer/projectconfiguration.h index b945631ceee..7a96ebbd05c 100644 --- a/src/plugins/projectexplorer/projectconfiguration.h +++ b/src/plugins/projectexplorer/projectconfiguration.h @@ -47,7 +47,7 @@ public: virtual bool fromMap(const QVariantMap &map); // Note: Make sure subclasses call the superclasses' toMap() function! - virtual QVariantMap toMap() const; + virtual void toMap(QVariantMap &map) const; Target *target() const; Project *project() const; diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index afe8dccb701..66e6d7272c9 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -246,7 +246,8 @@ bool RunConfiguration::isCustomized() const { if (m_customized) return true; - QVariantMap state = toMapSimple(); + QVariantMap state; + toMapSimple(state); // TODO: Why do we save this at all? It's a computed value. state.remove("RunConfiguration.WorkingDirectory.default"); @@ -265,7 +266,8 @@ bool RunConfiguration::hasCreator() const void RunConfiguration::setPristineState() { if (!m_customized) { - m_pristineState = toMapSimple(); + m_pristineState.clear(); + toMapSimple(m_pristineState); m_pristineState.remove("RunConfiguration.WorkingDirectory.default"); } } @@ -306,16 +308,15 @@ Task RunConfiguration::createConfigurationIssue(const QString &description) cons return BuildSystemTask(Task::Error, description); } -QVariantMap RunConfiguration::toMap() const +void RunConfiguration::toMap(QVariantMap &map) const { - QVariantMap map = toMapSimple(); + toMapSimple(map); map.insert(CUSTOMIZED_KEY, isCustomized()); - return map; } -QVariantMap RunConfiguration::toMapSimple() const +void RunConfiguration::toMapSimple(QVariantMap &map) const { - QVariantMap map = ProjectConfiguration::toMap(); + ProjectConfiguration::toMap(map); map.insert(BUILD_KEY, m_buildKey); // FIXME: Remove this id mangling, e.g. by using a separate entry for the build key. @@ -323,8 +324,6 @@ QVariantMap RunConfiguration::toMapSimple() const const Utils::Id mangled = id().withSuffix(m_buildKey); map.insert(settingsIdKey(), mangled.toSetting()); } - - return map; } void RunConfiguration::setCommandLineGetter(const CommandLineGetter &cmdGetter) @@ -649,7 +648,9 @@ RunConfiguration *RunConfigurationFactory::restore(Target *parent, const QVarian RunConfiguration *RunConfigurationFactory::clone(Target *parent, RunConfiguration *source) { - return restore(parent, source->toMap()); + QVariantMap map; + source->toMap(map); + return restore(parent, map); } const QList RunConfigurationFactory::creatorsForTarget(Target *parent) diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h index 9d9a55120bb..5f1820c0912 100644 --- a/src/plugins/projectexplorer/runconfiguration.h +++ b/src/plugins/projectexplorer/runconfiguration.h @@ -172,8 +172,8 @@ protected: private: // Any additional data should be handled by aspects. bool fromMap(const QVariantMap &map) final; - QVariantMap toMap() const final; - QVariantMap toMapSimple() const; + void toMap(QVariantMap &map) const final; + void toMapSimple(QVariantMap &map) const; static void addAspectFactory(const AspectFactory &aspectFactory); diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp index d2f6b3535e4..ae6d6d78ce2 100644 --- a/src/plugins/projectexplorer/target.cpp +++ b/src/plugins/projectexplorer/target.cpp @@ -602,20 +602,29 @@ QVariantMap Target::toMap() const const QList bcs = buildConfigurations(); map.insert(QLatin1String(ACTIVE_BC_KEY), bcs.indexOf(d->m_activeBuildConfiguration)); map.insert(QLatin1String(BC_COUNT_KEY), bcs.size()); - for (int i = 0; i < bcs.size(); ++i) - map.insert(QString::fromLatin1(BC_KEY_PREFIX) + QString::number(i), bcs.at(i)->toMap()); + for (int i = 0; i < bcs.size(); ++i) { + QVariantMap data; + bcs.at(i)->toMap(data); + map.insert(QString::fromLatin1(BC_KEY_PREFIX) + QString::number(i), data); + } const QList dcs = deployConfigurations(); map.insert(QLatin1String(ACTIVE_DC_KEY), dcs.indexOf(d->m_activeDeployConfiguration)); map.insert(QLatin1String(DC_COUNT_KEY), dcs.size()); - for (int i = 0; i < dcs.size(); ++i) - map.insert(QString::fromLatin1(DC_KEY_PREFIX) + QString::number(i), dcs.at(i)->toMap()); + for (int i = 0; i < dcs.size(); ++i) { + QVariantMap data; + dcs.at(i)->toMap(data); + map.insert(QString::fromLatin1(DC_KEY_PREFIX) + QString::number(i), data); + } const QList rcs = runConfigurations(); map.insert(QLatin1String(ACTIVE_RC_KEY), rcs.indexOf(d->m_activeRunConfiguration)); map.insert(QLatin1String(RC_COUNT_KEY), rcs.size()); - for (int i = 0; i < rcs.size(); ++i) - map.insert(QString::fromLatin1(RC_KEY_PREFIX) + QString::number(i), rcs.at(i)->toMap()); + for (int i = 0; i < rcs.size(); ++i) { + QVariantMap data; + rcs.at(i)->toMap(data); + map.insert(QString::fromLatin1(RC_KEY_PREFIX) + QString::number(i), data); + } if (!d->m_pluginSettings.isEmpty()) map.insert(QLatin1String(PLUGIN_SETTINGS_KEY), d->m_pluginSettings); diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp index 7a8cf613866..50ecdf5d7ea 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp @@ -381,11 +381,10 @@ bool QbsBuildStep::fromMap(const QVariantMap &map) return true; } -QVariantMap QbsBuildStep::toMap() const +void QbsBuildStep::toMap(QVariantMap &map) const { - QVariantMap map = ProjectExplorer::BuildStep::toMap(); + ProjectExplorer::BuildStep::toMap(map); map.insert(QBS_CONFIG, m_qbsConfiguration); - return map; } void QbsBuildStep::buildingDone(const ErrorInfo &error) diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.h b/src/plugins/qbsprojectmanager/qbsbuildstep.h index 7938f5137f6..c1dfd1b2edf 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildstep.h +++ b/src/plugins/qbsprojectmanager/qbsbuildstep.h @@ -86,7 +86,7 @@ private: void doCancel() override; QWidget *createConfigWidget() override; bool fromMap(const QVariantMap &map) override; - QVariantMap toMap() const override; + void toMap(QVariantMap &map) const override; void buildingDone(const ErrorInfo &error); void reparsingDone(bool success); diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp index eaff42d8f36..7e0d8918fe7 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp @@ -187,11 +187,10 @@ QmakeBuildConfiguration::~QmakeBuildConfiguration() delete m_buildSystem; } -QVariantMap QmakeBuildConfiguration::toMap() const +void QmakeBuildConfiguration::toMap(QVariantMap &map) const { - QVariantMap map(BuildConfiguration::toMap()); + BuildConfiguration::toMap(map); map.insert(QLatin1String(BUILD_CONFIGURATION_KEY), int(m_qmakeBuildConfiguration)); - return map; } bool QmakeBuildConfiguration::fromMap(const QVariantMap &map) diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h index f5a38c99fce..25f0c0db378 100644 --- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h +++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h @@ -67,7 +67,7 @@ public: QString *arguments, const Utils::FilePath &directory, const QtSupport::QtVersion *version, QStringList *outArgs = nullptr); - QVariantMap toMap() const override; + void toMap(QVariantMap &map) const override; BuildType buildType() const override; diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp index 68b47a92494..3487c04438e 100644 --- a/src/plugins/qmakeprojectmanager/qmakestep.cpp +++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp @@ -403,12 +403,11 @@ QString QMakeStep::mkspec() const return QmakeKitAspect::effectiveMkspec(target()->kit()); } -QVariantMap QMakeStep::toMap() const +void QMakeStep::toMap(QVariantMap &map) const { - QVariantMap map(AbstractProcessStep::toMap()); + AbstractProcessStep::toMap(map); map.insert(QMAKE_FORCED_KEY, m_forced); map.insert(QMAKE_SELECTED_ABIS_KEY, m_selectedAbis); - return map; } bool QMakeStep::fromMap(const QVariantMap &map) diff --git a/src/plugins/qmakeprojectmanager/qmakestep.h b/src/plugins/qmakeprojectmanager/qmakestep.h index b2cf126bcbd..b497000a3e6 100644 --- a/src/plugins/qmakeprojectmanager/qmakestep.h +++ b/src/plugins/qmakeprojectmanager/qmakestep.h @@ -124,7 +124,7 @@ public: QString makeArguments(const QString &makefile) const; QString effectiveQMakeCall() const; - QVariantMap toMap() const override; + void toMap(QVariantMap &map) const override; Utils::SelectionAspect buildType{this}; ProjectExplorer::ArgumentsAspect userArguments{this}; diff --git a/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp b/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp index 16745f77f08..8280c969f20 100644 --- a/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp +++ b/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp @@ -90,11 +90,10 @@ bool AbstractRemoteLinuxDeployStep::fromMap(const QVariantMap &map) return true; } -QVariantMap AbstractRemoteLinuxDeployStep::toMap() const +void AbstractRemoteLinuxDeployStep::toMap(QVariantMap &map) const { - QVariantMap map = BuildStep::toMap(); + BuildStep::toMap(map); map.insert(d->deployTimes.exportDeployTimes()); - return map; } bool AbstractRemoteLinuxDeployStep::init() diff --git a/src/plugins/remotelinux/abstractremotelinuxdeploystep.h b/src/plugins/remotelinux/abstractremotelinuxdeploystep.h index 0bfc44edfab..0fe42a26d9f 100644 --- a/src/plugins/remotelinux/abstractremotelinuxdeploystep.h +++ b/src/plugins/remotelinux/abstractremotelinuxdeploystep.h @@ -27,7 +27,7 @@ protected: void handleStdErrData(const QString &data); bool fromMap(const QVariantMap &map) final; - QVariantMap toMap() const final; + void toMap(QVariantMap &map) const final; bool init() final; void setInternalInitializer(const std::function()> &init); diff --git a/src/plugins/remotelinux/tarpackagecreationstep.cpp b/src/plugins/remotelinux/tarpackagecreationstep.cpp index 4654d3f7302..da9f43e29c6 100644 --- a/src/plugins/remotelinux/tarpackagecreationstep.cpp +++ b/src/plugins/remotelinux/tarpackagecreationstep.cpp @@ -63,7 +63,7 @@ private: bool init() final; GroupItem runRecipe() final; bool fromMap(const QVariantMap &map) final; - QVariantMap toMap() const final; + void toMap(QVariantMap &map) const final; QVariant data(Id id) const final; void raiseError(const QString &errorMessage); @@ -174,11 +174,10 @@ bool TarPackageCreationStep::fromMap(const QVariantMap &map) return true; } -QVariantMap TarPackageCreationStep::toMap() const +void TarPackageCreationStep::toMap(QVariantMap &map) const { - QVariantMap map = BuildStep::toMap(); + BuildStep::toMap(map); map.insert(m_deployTimes.exportDeployTimes()); - return map; } QVariant TarPackageCreationStep::data(Id id) const