forked from qt-creator/qt-creator
ProjectExplorer: Change ToolChain::toMap() signature
... to something similar to AspectContainer::toMap() as preparation for later aspectification. Change-Id: Ic60060ad1a7eb1aba58ded01221b016c684db073 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
@@ -309,7 +309,7 @@ public:
|
||||
void addToEnvironment(Environment &env) const final;
|
||||
QList<OutputLineParser *> createOutputParsers() const final;
|
||||
|
||||
QVariantMap toMap() const final;
|
||||
void toMap(QVariantMap &data) const final;
|
||||
bool fromMap(const QVariantMap &data) final;
|
||||
|
||||
std::unique_ptr<ToolChainConfigWidget> createConfigurationWidget() final;
|
||||
@@ -404,11 +404,10 @@ QList<Utils::OutputLineParser *> IarToolChain::createOutputParsers() const
|
||||
return {new IarParser()};
|
||||
}
|
||||
|
||||
QVariantMap IarToolChain::toMap() const
|
||||
void IarToolChain::toMap(QVariantMap &data) const
|
||||
{
|
||||
QVariantMap data = ToolChain::toMap();
|
||||
ToolChain::toMap(data);
|
||||
data.insert(compilerPlatformCodeGenFlagsKeyC, m_extraCodeModelFlags);
|
||||
return data;
|
||||
}
|
||||
|
||||
bool IarToolChain::fromMap(const QVariantMap &data)
|
||||
|
@@ -449,7 +449,7 @@ public:
|
||||
|
||||
QList<OutputLineParser *> createOutputParsers() const final { return {new KeilParser}; }
|
||||
|
||||
QVariantMap toMap() const final;
|
||||
void toMap(QVariantMap &data) const final;
|
||||
bool fromMap(const QVariantMap &data) final;
|
||||
|
||||
std::unique_ptr<ToolChainConfigWidget> createConfigurationWidget() final;
|
||||
@@ -527,11 +527,10 @@ void KeilToolChain::addToEnvironment(Environment &env) const
|
||||
}
|
||||
|
||||
|
||||
QVariantMap KeilToolChain::toMap() const
|
||||
void KeilToolChain::toMap(QVariantMap &data) const
|
||||
{
|
||||
QVariantMap data = ToolChain::toMap();
|
||||
ToolChain::toMap(data);
|
||||
data.insert(compilerPlatformCodeGenFlagsKeyC, m_extraCodeModelFlags);
|
||||
return data;
|
||||
}
|
||||
|
||||
bool KeilToolChain::fromMap(const QVariantMap &data)
|
||||
|
@@ -217,9 +217,9 @@ QString CustomToolChain::mkspecs() const
|
||||
return m_mkspecs.join(',');
|
||||
}
|
||||
|
||||
QVariantMap CustomToolChain::toMap() const
|
||||
void CustomToolChain::toMap(QVariantMap &data) const
|
||||
{
|
||||
QVariantMap data = ToolChain::toMap();
|
||||
ToolChain::toMap(data);
|
||||
data.insert(QLatin1String(makeCommandKeyC), m_makeCommand.toString());
|
||||
QStringList macros = Utils::transform<QList>(m_predefinedMacros, [](const Macro &m) { return QString::fromUtf8(m.toByteArray()); });
|
||||
data.insert(QLatin1String(predefinedMacrosKeyC), macros);
|
||||
@@ -227,8 +227,6 @@ QVariantMap CustomToolChain::toMap() const
|
||||
data.insert(QLatin1String(cxx11FlagsKeyC), m_cxx11Flags);
|
||||
data.insert(QLatin1String(mkspecsKeyC), mkspecs());
|
||||
data.insert(QLatin1String(outputParserKeyC), m_outputParserId.toSetting());
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
bool CustomToolChain::fromMap(const QVariantMap &data)
|
||||
|
@@ -56,7 +56,7 @@ public:
|
||||
QStringList headerPathsList() const;
|
||||
void setHeaderPaths(const QStringList &list);
|
||||
|
||||
QVariantMap toMap() const override;
|
||||
void toMap(QVariantMap &data) const override;
|
||||
bool fromMap(const QVariantMap &data) override;
|
||||
|
||||
std::unique_ptr<ToolChainConfigWidget> createConfigurationWidget() override;
|
||||
|
@@ -795,14 +795,13 @@ QStringList GccToolChain::platformLinkerFlags() const
|
||||
return m_platformLinkerFlags;
|
||||
}
|
||||
|
||||
QVariantMap GccToolChain::toMap() const
|
||||
void GccToolChain::toMap(QVariantMap &data) const
|
||||
{
|
||||
QVariantMap data = ToolChain::toMap();
|
||||
ToolChain::toMap(data);
|
||||
data.insert(compilerPlatformCodeGenFlagsKeyC, m_platformCodeGenFlags);
|
||||
data.insert(compilerPlatformLinkerFlagsKeyC, m_platformLinkerFlags);
|
||||
data.insert(originalTargetTripleKeyC, m_originalTargetTriple);
|
||||
data.insert(supportedAbisKeyC, Utils::transform<QStringList>(m_supportedAbis, &Abi::toString));
|
||||
return data;
|
||||
}
|
||||
|
||||
bool GccToolChain::fromMap(const QVariantMap &data)
|
||||
@@ -1713,12 +1712,11 @@ std::unique_ptr<ToolChainConfigWidget> ClangToolChain::createConfigurationWidget
|
||||
return std::make_unique<ClangToolChainConfigWidget>(this);
|
||||
}
|
||||
|
||||
QVariantMap ClangToolChain::toMap() const
|
||||
void ClangToolChain::toMap(QVariantMap &data) const
|
||||
{
|
||||
QVariantMap data = GccToolChain::toMap();
|
||||
GccToolChain::toMap(data);
|
||||
data.insert(parentToolChainIdKeyC, m_parentToolChainId);
|
||||
data.insert(priorityKeyC, m_priority);
|
||||
return data;
|
||||
}
|
||||
|
||||
bool ClangToolChain::fromMap(const QVariantMap &data)
|
||||
|
@@ -66,7 +66,7 @@ public:
|
||||
QStringList suggestedMkspecList() const override;
|
||||
QList<Utils::OutputLineParser *> createOutputParsers() const override;
|
||||
|
||||
QVariantMap toMap() const override;
|
||||
void toMap(QVariantMap &data) const override;
|
||||
bool fromMap(const QVariantMap &data) override;
|
||||
|
||||
std::unique_ptr<ToolChainConfigWidget> createConfigurationWidget() override;
|
||||
@@ -206,7 +206,7 @@ public:
|
||||
|
||||
std::unique_ptr<ToolChainConfigWidget> createConfigurationWidget() override;
|
||||
|
||||
QVariantMap toMap() const override;
|
||||
void toMap(QVariantMap &data) const override;
|
||||
bool fromMap(const QVariantMap &data) override;
|
||||
|
||||
void setPriority(int priority) { m_priority = priority; }
|
||||
|
@@ -978,16 +978,15 @@ Abis MsvcToolChain::supportedAbis() const
|
||||
return abis;
|
||||
}
|
||||
|
||||
QVariantMap MsvcToolChain::toMap() const
|
||||
void MsvcToolChain::toMap(QVariantMap &data) const
|
||||
{
|
||||
QVariantMap data = ToolChain::toMap();
|
||||
ToolChain::toMap(data);
|
||||
data.insert(QLatin1String(varsBatKeyC), m_vcvarsBat);
|
||||
if (!m_varsBatArg.isEmpty())
|
||||
data.insert(QLatin1String(varsBatArgKeyC), m_varsBatArg);
|
||||
Utils::EnvironmentItem::sort(&m_environmentModifications);
|
||||
data.insert(QLatin1String(environModsKeyC),
|
||||
Utils::EnvironmentItem::toVariantList(m_environmentModifications));
|
||||
return data;
|
||||
}
|
||||
|
||||
bool MsvcToolChain::fromMap(const QVariantMap &data)
|
||||
@@ -1728,11 +1727,10 @@ static inline QString llvmDirKey()
|
||||
return QStringLiteral("ProjectExplorer.ClangClToolChain.LlvmDir");
|
||||
}
|
||||
|
||||
QVariantMap ClangClToolChain::toMap() const
|
||||
void ClangClToolChain::toMap(QVariantMap &data) const
|
||||
{
|
||||
QVariantMap result = MsvcToolChain::toMap();
|
||||
result.insert(llvmDirKey(), m_clangPath.toString());
|
||||
return result;
|
||||
MsvcToolChain::toMap(data);
|
||||
data.insert(llvmDirKey(), m_clangPath.toString());
|
||||
}
|
||||
|
||||
bool ClangClToolChain::fromMap(const QVariantMap &data)
|
||||
|
@@ -46,7 +46,7 @@ public:
|
||||
QStringList suggestedMkspecList() const override;
|
||||
Abis supportedAbis() const override;
|
||||
|
||||
QVariantMap toMap() const override;
|
||||
void toMap(QVariantMap &data) const override;
|
||||
bool fromMap(const QVariantMap &data) override;
|
||||
|
||||
std::unique_ptr<ToolChainConfigWidget> createConfigurationWidget() override;
|
||||
@@ -146,7 +146,7 @@ public:
|
||||
void addToEnvironment(Utils::Environment &env) const override;
|
||||
Utils::FilePath compilerCommand() const override; // FIXME: Remove
|
||||
QList<Utils::OutputLineParser *> createOutputParsers() const override;
|
||||
QVariantMap toMap() const override;
|
||||
void toMap(QVariantMap &data) const override;
|
||||
bool fromMap(const QVariantMap &data) override;
|
||||
std::unique_ptr<ToolChainConfigWidget> createConfigurationWidget() override;
|
||||
BuiltInHeaderPathsRunner createBuiltInHeaderPathsRunner(
|
||||
|
@@ -226,7 +226,9 @@ ToolChain *ToolChain::clone() const
|
||||
if (f->supportedToolChainType() == d->m_typeId) {
|
||||
ToolChain *tc = f->create();
|
||||
QTC_ASSERT(tc, return nullptr);
|
||||
tc->fromMap(toMap());
|
||||
QVariantMap data;
|
||||
toMap(data);
|
||||
tc->fromMap(data);
|
||||
// New ID for the clone. It's different.
|
||||
tc->d->m_id = QUuid::createUuid().toByteArray();
|
||||
return tc;
|
||||
@@ -242,9 +244,8 @@ ToolChain *ToolChain::clone() const
|
||||
Make sure to call this function when deriving.
|
||||
*/
|
||||
|
||||
QVariantMap ToolChain::toMap() const
|
||||
void ToolChain::toMap(QVariantMap &result) const
|
||||
{
|
||||
QVariantMap result;
|
||||
QString idToSave = d->m_typeId.toString() + QLatin1Char(':') + QString::fromUtf8(id());
|
||||
result.insert(QLatin1String(ID_KEY), idToSave);
|
||||
result.insert(QLatin1String(DISPLAY_NAME_KEY), displayName());
|
||||
@@ -265,7 +266,6 @@ QVariantMap ToolChain::toMap() const
|
||||
result.insert(d->m_targetAbiKey, d->m_targetAbi.toString());
|
||||
if (!d->m_compilerCommandKey.isEmpty())
|
||||
result.insert(d->m_compilerCommandKey, d->m_compilerCommand.toSettings());
|
||||
return result;
|
||||
}
|
||||
|
||||
void ToolChain::toolChainUpdated()
|
||||
|
@@ -145,7 +145,7 @@ public:
|
||||
|
||||
// Used by the toolchainmanager to save user-generated tool chains.
|
||||
// Make sure to call this function when deriving!
|
||||
virtual QVariantMap toMap() const;
|
||||
virtual void toMap(QVariantMap &map) const;
|
||||
virtual Tasks validateKit(const Kit *k) const;
|
||||
|
||||
virtual bool isJobCountSupported() const { return true; }
|
||||
|
@@ -220,7 +220,8 @@ void ToolChainSettingsAccessor::saveToolChains(const Toolchains &toolchains, QWi
|
||||
for (const ToolChain *tc : toolchains) {
|
||||
if (!tc || (!tc->isValid() && tc->isAutoDetected()))
|
||||
continue;
|
||||
const QVariantMap tmp = tc->toMap();
|
||||
QVariantMap tmp;
|
||||
tc->toMap(tmp);
|
||||
if (tmp.isEmpty())
|
||||
continue;
|
||||
data.insert(QString::fromLatin1(TOOLCHAIN_DATA_KEY) + QString::number(count), tmp);
|
||||
@@ -326,11 +327,10 @@ public:
|
||||
return true;
|
||||
}
|
||||
|
||||
QVariantMap toMap() const final
|
||||
void toMap(QVariantMap &data) const final
|
||||
{
|
||||
QVariantMap data = ToolChain::toMap();
|
||||
ToolChain::toMap(data);
|
||||
data[TestTokenKey] = token;
|
||||
return data;
|
||||
}
|
||||
|
||||
QByteArray token;
|
||||
@@ -339,8 +339,6 @@ private:
|
||||
bool m_valid = false;
|
||||
|
||||
static QList<TTC *> m_toolChains;
|
||||
|
||||
public:
|
||||
};
|
||||
|
||||
QList<TTC *> TTC::m_toolChains;
|
||||
|
@@ -131,12 +131,11 @@ QStringList QnxToolChain::suggestedMkspecList() const
|
||||
};
|
||||
}
|
||||
|
||||
QVariantMap QnxToolChain::toMap() const
|
||||
void QnxToolChain::toMap(QVariantMap &data) const
|
||||
{
|
||||
QVariantMap data = GccToolChain::toMap();
|
||||
GccToolChain::toMap(data);
|
||||
data.insert(QLatin1String(CompilerSdpPath), m_sdpPath.toSettings());
|
||||
data.insert(QLatin1String(CpuDirKey), m_cpuDir);
|
||||
return data;
|
||||
}
|
||||
|
||||
bool QnxToolChain::fromMap(const QVariantMap &data)
|
||||
|
@@ -21,7 +21,7 @@ public:
|
||||
void addToEnvironment(Utils::Environment &env) const override;
|
||||
QStringList suggestedMkspecList() const override;
|
||||
|
||||
QVariantMap toMap() const override;
|
||||
void toMap(QVariantMap &data) const override;
|
||||
bool fromMap(const QVariantMap &data) override;
|
||||
|
||||
Utils::FilePath sdpPath() const;
|
||||
|
Reference in New Issue
Block a user