forked from qt-creator/qt-creator
ProjectExplorer: Simplify ToolChainFactory::create() signature
Change-Id: I9d579898387609fa7374f43633711a978bb36d93 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -226,12 +226,6 @@ IarToolChain::IarToolChain(Detection d) :
|
||||
ToolChain(Constants::IAREW_TOOLCHAIN_TYPEID, d)
|
||||
{ }
|
||||
|
||||
IarToolChain::IarToolChain(Core::Id language, Detection d) :
|
||||
IarToolChain(d)
|
||||
{
|
||||
setLanguage(language);
|
||||
}
|
||||
|
||||
QString IarToolChain::typeDisplayName() const
|
||||
{
|
||||
return Internal::IarToolChainFactory::tr("IAREW");
|
||||
@@ -465,9 +459,9 @@ bool IarToolChainFactory::canCreate()
|
||||
return true;
|
||||
}
|
||||
|
||||
ToolChain *IarToolChainFactory::create(Core::Id language)
|
||||
ToolChain *IarToolChainFactory::create()
|
||||
{
|
||||
return new IarToolChain(language, ToolChain::ManualDetection);
|
||||
return new IarToolChain(ToolChain::ManualDetection);
|
||||
}
|
||||
|
||||
ToolChain *IarToolChainFactory::restore(const QVariantMap &data)
|
||||
|
@@ -90,7 +90,6 @@ protected:
|
||||
|
||||
private:
|
||||
explicit IarToolChain(Detection d);
|
||||
explicit IarToolChain(Core::Id language, Detection d);
|
||||
|
||||
ProjectExplorer::Abi m_targetAbi;
|
||||
Utils::FileName m_compilerCommand;
|
||||
@@ -112,7 +111,7 @@ public:
|
||||
const QList<ProjectExplorer::ToolChain *> &alreadyKnown) final;
|
||||
|
||||
bool canCreate() final;
|
||||
ProjectExplorer::ToolChain *create(Core::Id language) final;
|
||||
ProjectExplorer::ToolChain *create() final;
|
||||
|
||||
ProjectExplorer::ToolChain *restore(const QVariantMap &data) final;
|
||||
|
||||
|
@@ -243,12 +243,6 @@ KeilToolchain::KeilToolchain(Detection d) :
|
||||
ToolChain(Constants::KEIL_TOOLCHAIN_TYPEID, d)
|
||||
{ }
|
||||
|
||||
KeilToolchain::KeilToolchain(Core::Id language, Detection d) :
|
||||
KeilToolchain(d)
|
||||
{
|
||||
setLanguage(language);
|
||||
}
|
||||
|
||||
QString KeilToolchain::typeDisplayName() const
|
||||
{
|
||||
return Internal::KeilToolchainFactory::tr("KEIL");
|
||||
@@ -469,9 +463,9 @@ bool KeilToolchainFactory::canCreate()
|
||||
return true;
|
||||
}
|
||||
|
||||
ToolChain *KeilToolchainFactory::create(Core::Id language)
|
||||
ToolChain *KeilToolchainFactory::create()
|
||||
{
|
||||
return new KeilToolchain(language, ToolChain::ManualDetection);
|
||||
return new KeilToolchain(ToolChain::ManualDetection);
|
||||
}
|
||||
|
||||
ToolChain *KeilToolchainFactory::restore(const QVariantMap &data)
|
||||
|
@@ -90,7 +90,6 @@ protected:
|
||||
|
||||
private:
|
||||
explicit KeilToolchain(Detection d);
|
||||
explicit KeilToolchain(Core::Id language, Detection d);
|
||||
|
||||
ProjectExplorer::Abi m_targetAbi;
|
||||
Utils::FileName m_compilerCommand;
|
||||
@@ -112,7 +111,7 @@ public:
|
||||
const QList<ProjectExplorer::ToolChain *> &alreadyKnown) final;
|
||||
|
||||
bool canCreate() final;
|
||||
ProjectExplorer::ToolChain *create(Core::Id language) final;
|
||||
ProjectExplorer::ToolChain *create() final;
|
||||
|
||||
ProjectExplorer::ToolChain *restore(const QVariantMap &data) final;
|
||||
|
||||
|
@@ -220,12 +220,6 @@ SdccToolChain::SdccToolChain(Detection d) :
|
||||
ToolChain(Constants::SDCC_TOOLCHAIN_TYPEID, d)
|
||||
{ }
|
||||
|
||||
SdccToolChain::SdccToolChain(Core::Id language, Detection d) :
|
||||
SdccToolChain(d)
|
||||
{
|
||||
setLanguage(language);
|
||||
}
|
||||
|
||||
QString SdccToolChain::typeDisplayName() const
|
||||
{
|
||||
return Internal::SdccToolChainFactory::tr("SDCC");
|
||||
@@ -446,9 +440,9 @@ bool SdccToolChainFactory::canCreate()
|
||||
return true;
|
||||
}
|
||||
|
||||
ToolChain *SdccToolChainFactory::create(Core::Id language)
|
||||
ToolChain *SdccToolChainFactory::create()
|
||||
{
|
||||
return new SdccToolChain(language, ToolChain::ManualDetection);
|
||||
return new SdccToolChain(ToolChain::ManualDetection);
|
||||
}
|
||||
|
||||
ToolChain *SdccToolChainFactory::restore(const QVariantMap &data)
|
||||
|
@@ -90,7 +90,6 @@ protected:
|
||||
|
||||
private:
|
||||
explicit SdccToolChain(Detection d);
|
||||
explicit SdccToolChain(Core::Id language, Detection d);
|
||||
|
||||
ProjectExplorer::Abi m_targetAbi;
|
||||
Utils::FileName m_compilerCommand;
|
||||
@@ -112,7 +111,7 @@ public:
|
||||
const QList<ProjectExplorer::ToolChain *> &alreadyKnown) final;
|
||||
|
||||
bool canCreate() final;
|
||||
ProjectExplorer::ToolChain *create(Core::Id language) final;
|
||||
ProjectExplorer::ToolChain *create() final;
|
||||
|
||||
ProjectExplorer::ToolChain *restore(const QVariantMap &data) final;
|
||||
|
||||
|
@@ -52,13 +52,9 @@ bool NimToolChainFactory::canCreate()
|
||||
return true;
|
||||
}
|
||||
|
||||
ToolChain *NimToolChainFactory::create(Core::Id l)
|
||||
ToolChain *NimToolChainFactory::create()
|
||||
{
|
||||
if (l != Constants::C_NIMLANGUAGE_ID)
|
||||
return nullptr;
|
||||
auto result = new NimToolChain(ToolChain::ManualDetection);
|
||||
result->setLanguage(l);
|
||||
return result;
|
||||
return new NimToolChain(ToolChain::ManualDetection);
|
||||
}
|
||||
|
||||
ToolChain *NimToolChainFactory::restore(const QVariantMap &data)
|
||||
|
@@ -42,7 +42,7 @@ public:
|
||||
NimToolChainFactory();
|
||||
|
||||
bool canCreate() final;
|
||||
ProjectExplorer::ToolChain *create(Core::Id l) final;
|
||||
ProjectExplorer::ToolChain *create() final;
|
||||
ProjectExplorer::ToolChain *restore(const QVariantMap &data) final;
|
||||
QList<ProjectExplorer::ToolChain *> autoDetect(const QList<ProjectExplorer::ToolChain *> &alreadyKnown) final;
|
||||
QList<ProjectExplorer::ToolChain *> autoDetect(const Utils::FileName &compilerPath, const Core::Id &language) final;
|
||||
|
@@ -86,12 +86,6 @@ CustomToolChain::CustomToolChain(Detection d) :
|
||||
m_outputParserId(GccParser::id())
|
||||
{ }
|
||||
|
||||
CustomToolChain::CustomToolChain(Core::Id language, Detection d) : CustomToolChain(d)
|
||||
{
|
||||
setLanguage(language);
|
||||
}
|
||||
|
||||
|
||||
QString CustomToolChain::typeDisplayName() const
|
||||
{
|
||||
return Internal::CustomToolChainFactory::tr("Custom");
|
||||
@@ -434,9 +428,9 @@ bool CustomToolChainFactory::canCreate()
|
||||
return true;
|
||||
}
|
||||
|
||||
ToolChain *CustomToolChainFactory::create(Core::Id language)
|
||||
ToolChain *CustomToolChainFactory::create()
|
||||
{
|
||||
return new CustomToolChain(language, ToolChain::ManualDetection);
|
||||
return new CustomToolChain(ToolChain::ManualDetection);
|
||||
}
|
||||
|
||||
ToolChain *CustomToolChainFactory::restore(const QVariantMap &data)
|
||||
|
@@ -118,7 +118,6 @@ protected:
|
||||
|
||||
private:
|
||||
explicit CustomToolChain(Detection d);
|
||||
explicit CustomToolChain(Core::Id language, Detection d);
|
||||
|
||||
Utils::FileName m_compilerCommand;
|
||||
Utils::FileName m_makeCommand;
|
||||
@@ -146,7 +145,7 @@ public:
|
||||
CustomToolChainFactory();
|
||||
|
||||
bool canCreate() override;
|
||||
ToolChain *create(Core::Id language) override;
|
||||
ToolChain *create() override;
|
||||
|
||||
ToolChain *restore(const QVariantMap &data) override;
|
||||
};
|
||||
|
@@ -884,11 +884,9 @@ bool GccToolChainFactory::canCreate()
|
||||
return true;
|
||||
}
|
||||
|
||||
ToolChain *GccToolChainFactory::create(Core::Id language)
|
||||
ToolChain *GccToolChainFactory::create()
|
||||
{
|
||||
ToolChain *tc = createToolChain(false);
|
||||
tc->setLanguage(language);
|
||||
return tc;
|
||||
return createToolChain(false);
|
||||
}
|
||||
|
||||
QList<ToolChain *> GccToolChainFactory::autoDetect(const QList<ToolChain *> &alreadyKnown)
|
||||
|
@@ -58,7 +58,7 @@ public:
|
||||
QList<ToolChain *> autoDetect(const Utils::FileName &compilerPath, const Core::Id &language) override;
|
||||
|
||||
bool canCreate() override;
|
||||
ToolChain *create(Core::Id language) override;
|
||||
ToolChain *create() override;
|
||||
|
||||
ToolChain *restore(const QVariantMap &data) override;
|
||||
|
||||
|
@@ -782,9 +782,8 @@ MsvcToolChain::MsvcToolChain(const QString &name,
|
||||
const Abi &abi,
|
||||
const QString &varsBat,
|
||||
const QString &varsBatArg,
|
||||
Core::Id l,
|
||||
Detection d)
|
||||
: MsvcToolChain(Constants::MSVC_TOOLCHAIN_TYPEID, name, abi, varsBat, varsBatArg, l, d)
|
||||
: MsvcToolChain(Constants::MSVC_TOOLCHAIN_TYPEID, name, abi, varsBat, varsBatArg, d)
|
||||
{}
|
||||
|
||||
MsvcToolChain::MsvcToolChain(const MsvcToolChain &other)
|
||||
@@ -828,7 +827,6 @@ MsvcToolChain::MsvcToolChain(Core::Id typeId,
|
||||
const Abi &abi,
|
||||
const QString &varsBat,
|
||||
const QString &varsBatArg,
|
||||
Core::Id l,
|
||||
Detection d)
|
||||
: ToolChain(typeId, d)
|
||||
, m_headerPathsMutex(new QMutex)
|
||||
@@ -839,7 +837,6 @@ MsvcToolChain::MsvcToolChain(Core::Id typeId,
|
||||
{
|
||||
addToAvailableMsvcToolchains(this);
|
||||
|
||||
setLanguage(l);
|
||||
initEnvModWatcher(Utils::runAsync(envModThreadPool(),
|
||||
&MsvcToolChain::environmentModifications,
|
||||
varsBat,
|
||||
@@ -1429,7 +1426,8 @@ static QList<ToolChain *> detectClangClToolChainInPath(const QString &clangClPat
|
||||
clangClPath);
|
||||
}));
|
||||
if (!tc) {
|
||||
tc = new ClangClToolChain(name, clangClPath, language, ToolChain::AutoDetection);
|
||||
tc = new ClangClToolChain(name, clangClPath, ToolChain::AutoDetection);
|
||||
tc->setLanguage(language);
|
||||
tc->resetMsvcToolChain(toolChain);
|
||||
}
|
||||
res << tc;
|
||||
@@ -1491,9 +1489,8 @@ void ClangClToolChainConfigWidget::makeReadOnlyImpl()
|
||||
|
||||
ClangClToolChain::ClangClToolChain(const QString &name,
|
||||
const QString &clangPath,
|
||||
Core::Id language,
|
||||
Detection d)
|
||||
: MsvcToolChain(Constants::CLANG_CL_TOOLCHAIN_TYPEID, name, Abi(), "", "", language, d)
|
||||
: MsvcToolChain(Constants::CLANG_CL_TOOLCHAIN_TYPEID, name, Abi(), "", "", d)
|
||||
, m_clangPath(clangPath)
|
||||
{}
|
||||
|
||||
@@ -1679,8 +1676,10 @@ static QList<ToolChain *> findOrCreateToolChain(const QList<ToolChain *> &alread
|
||||
auto mtc = static_cast<MsvcToolChain *>(tc);
|
||||
return mtc->varsBat() == varsBat && mtc->varsBatArg() == varsBatArg;
|
||||
});
|
||||
if (!tc)
|
||||
tc = new MsvcToolChain(name, abi, varsBat, varsBatArg, language, d);
|
||||
if (!tc) {
|
||||
tc = new MsvcToolChain(name, abi, varsBat, varsBatArg, d);
|
||||
tc->setLanguage(language);
|
||||
}
|
||||
res << tc;
|
||||
}
|
||||
return res;
|
||||
@@ -1715,12 +1714,13 @@ static void detectCppBuildTools2015(QList<ToolChain *> *list)
|
||||
e.format,
|
||||
e.wordSize);
|
||||
for (auto language : {Constants::C_LANGUAGE_ID, Constants::CXX_LANGUAGE_ID}) {
|
||||
list->append(new MsvcToolChain(name + QLatin1String(e.postFix),
|
||||
abi,
|
||||
vcVarsBat,
|
||||
QLatin1String(e.varsBatArg),
|
||||
language,
|
||||
ToolChain::AutoDetection));
|
||||
auto tc = new MsvcToolChain(name + QLatin1String(e.postFix),
|
||||
abi,
|
||||
vcVarsBat,
|
||||
QLatin1String(e.varsBatArg),
|
||||
ToolChain::AutoDetection);
|
||||
tc->setLanguage(language);
|
||||
list->append(tc);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1865,9 +1865,9 @@ QList<ToolChain *> ClangClToolChainFactory::autoDetect(const QList<ToolChain *>
|
||||
return results;
|
||||
}
|
||||
|
||||
ToolChain *ClangClToolChainFactory::create(Core::Id l)
|
||||
ToolChain *ClangClToolChainFactory::create()
|
||||
{
|
||||
return new ClangClToolChain("clang-cl", "", l, ToolChain::ManualDetection);
|
||||
return new ClangClToolChain("clang-cl", "", ToolChain::ManualDetection);
|
||||
}
|
||||
|
||||
bool MsvcToolChain::operator==(const ToolChain &other) const
|
||||
|
@@ -59,7 +59,6 @@ public:
|
||||
const Abi &abi,
|
||||
const QString &varsBat,
|
||||
const QString &varsBatArg,
|
||||
Core::Id l,
|
||||
Detection d = ManualDetection);
|
||||
MsvcToolChain(const MsvcToolChain &other);
|
||||
MsvcToolChain();
|
||||
@@ -130,7 +129,6 @@ protected:
|
||||
const Abi &abi,
|
||||
const QString &varsBat,
|
||||
const QString &varsBatArg,
|
||||
Core::Id l,
|
||||
Detection d);
|
||||
explicit MsvcToolChain(Core::Id typeId);
|
||||
|
||||
@@ -182,7 +180,7 @@ protected:
|
||||
class ClangClToolChain : public MsvcToolChain
|
||||
{
|
||||
public:
|
||||
ClangClToolChain(const QString &name, const QString &llvmDir, Core::Id language, Detection d);
|
||||
ClangClToolChain(const QString &name, const QString &llvmDir, Detection d);
|
||||
ClangClToolChain();
|
||||
|
||||
bool isValid() const override;
|
||||
@@ -246,7 +244,7 @@ public:
|
||||
ToolChain *restore(const QVariantMap &data) override;
|
||||
|
||||
bool canCreate() override;
|
||||
ToolChain *create(Core::Id l) override;
|
||||
ToolChain *create() override;
|
||||
};
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
|
@@ -443,9 +443,8 @@ bool ToolChainFactory::canCreate()
|
||||
return false;
|
||||
}
|
||||
|
||||
ToolChain *ToolChainFactory::create(Core::Id l)
|
||||
ToolChain *ToolChainFactory::create()
|
||||
{
|
||||
Q_UNUSED(l);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
@@ -198,7 +198,7 @@ public:
|
||||
virtual QList<ToolChain *> autoDetect(const Utils::FileName &compilerPath, const Core::Id &language);
|
||||
|
||||
virtual bool canCreate();
|
||||
virtual ToolChain *create(Core::Id l);
|
||||
virtual ToolChain *create();
|
||||
|
||||
virtual ToolChain *restore(const QVariantMap &data);
|
||||
|
||||
|
@@ -509,10 +509,12 @@ void ToolChainOptionsWidget::createToolChain(ToolChainFactory *factory, const Co
|
||||
QTC_ASSERT(factory->canCreate(), return);
|
||||
QTC_ASSERT(language.isValid(), return);
|
||||
|
||||
ToolChain *tc = factory->create(language);
|
||||
ToolChain *tc = factory->create();
|
||||
if (!tc)
|
||||
return;
|
||||
|
||||
tc->setLanguage(language);
|
||||
|
||||
auto item = insertToolChain(tc, true);
|
||||
m_toAddList.append(item);
|
||||
|
||||
|
@@ -106,13 +106,6 @@ QnxToolChain::QnxToolChain(ToolChain::Detection d)
|
||||
setOptionsReinterpreter(&reinterpretOptions);
|
||||
}
|
||||
|
||||
QnxToolChain::QnxToolChain(Core::Id l, ToolChain::Detection d)
|
||||
: QnxToolChain(d)
|
||||
{
|
||||
setLanguage(l);
|
||||
}
|
||||
|
||||
|
||||
QString QnxToolChain::typeDisplayName() const
|
||||
{
|
||||
return QnxToolChainFactory::tr("QCC");
|
||||
@@ -243,9 +236,9 @@ bool QnxToolChainFactory::canCreate()
|
||||
return true;
|
||||
}
|
||||
|
||||
ToolChain *QnxToolChainFactory::create(Core::Id l)
|
||||
ToolChain *QnxToolChainFactory::create()
|
||||
{
|
||||
return new QnxToolChain(l, ToolChain::ManualDetection);
|
||||
return new QnxToolChain(ToolChain::ManualDetection);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------
|
||||
|
@@ -35,7 +35,6 @@ class QnxToolChain : public ProjectExplorer::GccToolChain
|
||||
{
|
||||
public:
|
||||
explicit QnxToolChain(Detection d);
|
||||
explicit QnxToolChain(Core::Id l, Detection d);
|
||||
|
||||
QString typeDisplayName() const override;
|
||||
|
||||
@@ -79,7 +78,7 @@ public:
|
||||
ProjectExplorer::ToolChain *restore(const QVariantMap &data) override;
|
||||
|
||||
bool canCreate() override;
|
||||
ProjectExplorer::ToolChain *create(Core::Id l) override;
|
||||
ProjectExplorer::ToolChain *create() override;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user