ProjectExplorer: Use data member for ToolChain::typeDisplayName

Change-Id: Ia78ea3f8628b759706c5b024d687d917b203ec4d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2019-06-19 17:28:20 +02:00
parent f50da02880
commit d56fa44964
21 changed files with 40 additions and 109 deletions

View File

@@ -72,13 +72,14 @@ static ToolChain *findToolChain(Utils::FilePath &compilerPath, Core::Id lang, co
return tc;
}
AndroidToolChain::~AndroidToolChain() = default;
QString AndroidToolChain::typeDisplayName() const
AndroidToolChain::AndroidToolChain()
: ClangToolChain(Constants::ANDROID_TOOLCHAIN_TYPEID)
{
return AndroidToolChainFactory::tr("Android Clang");
setTypeDisplayName(AndroidToolChainFactory::tr("Android Clang"));
}
AndroidToolChain::~AndroidToolChain() = default;
bool AndroidToolChain::isValid() const
{
return ClangToolChain::isValid()
@@ -211,12 +212,5 @@ ToolChainList AndroidToolChainFactory::autodetectToolChainsForNdk(const ToolChai
return result;
}
// for fromMap
AndroidToolChain::AndroidToolChain()
: ClangToolChain(Constants::ANDROID_TOOLCHAIN_TYPEID)
{
}
} // namespace Internal
} // namespace Android

View File

@@ -37,7 +37,6 @@ class AndroidToolChain : public ProjectExplorer::ClangToolChain
public:
~AndroidToolChain() override;
QString typeDisplayName() const override;
bool isValid() const override;
void addToEnvironment(Utils::Environment &env) const override;

View File

@@ -224,11 +224,8 @@ static QString buildDisplayName(Abi::Architecture arch, Core::Id language,
IarToolChain::IarToolChain() :
ToolChain(Constants::IAREW_TOOLCHAIN_TYPEID)
{ }
QString IarToolChain::typeDisplayName() const
{
return Internal::IarToolChainFactory::tr("IAREW");
setTypeDisplayName(Internal::IarToolChainFactory::tr("IAREW"));
}
void IarToolChain::setTargetAbi(const Abi &abi)

View File

@@ -52,8 +52,6 @@ class IarToolChain final : public ProjectExplorer::ToolChain
Q_DECLARE_TR_FUNCTIONS(IarToolChain)
public:
QString typeDisplayName() const final;
void setTargetAbi(const ProjectExplorer::Abi &abi);
ProjectExplorer::Abi targetAbi() const final;

View File

@@ -238,11 +238,8 @@ static QString buildDisplayName(Abi::Architecture arch, Core::Id language,
KeilToolchain::KeilToolchain() :
ToolChain(Constants::KEIL_TOOLCHAIN_TYPEID)
{ }
QString KeilToolchain::typeDisplayName() const
{
return Internal::KeilToolchainFactory::tr("KEIL");
setTypeDisplayName(Internal::KeilToolchainFactory::tr("KEIL"));
}
void KeilToolchain::setTargetAbi(const Abi &abi)

View File

@@ -52,8 +52,6 @@ class KeilToolchain final : public ProjectExplorer::ToolChain
Q_DECLARE_TR_FUNCTIONS(KeilToolchain)
public:
QString typeDisplayName() const final;
void setTargetAbi(const ProjectExplorer::Abi &abi);
ProjectExplorer::Abi targetAbi() const final;

View File

@@ -212,11 +212,8 @@ static Utils::FilePath compilerPathFromEnvironment(const QString &compilerName)
SdccToolChain::SdccToolChain() :
ToolChain(Constants::SDCC_TOOLCHAIN_TYPEID)
{ }
QString SdccToolChain::typeDisplayName() const
{
return Internal::SdccToolChainFactory::tr("SDCC");
setTypeDisplayName(Internal::SdccToolChainFactory::tr("SDCC"));
}
void SdccToolChain::setTargetAbi(const Abi &abi)

View File

@@ -52,8 +52,6 @@ class SdccToolChain final : public ProjectExplorer::ToolChain
Q_DECLARE_TR_FUNCTIONS(SdccToolChain)
public:
QString typeDisplayName() const final;
void setTargetAbi(const ProjectExplorer::Abi &abi);
ProjectExplorer::Abi targetAbi() const final;

View File

@@ -49,19 +49,7 @@ NimToolChain::NimToolChain(Core::Id typeId)
, m_version(std::make_tuple(-1,-1,-1))
{
setLanguage(Constants::C_NIMLANGUAGE_ID);
}
NimToolChain::NimToolChain(const NimToolChain &other)
: ToolChain(other.typeId())
, m_compilerCommand(other.m_compilerCommand)
, m_version(other.m_version)
{
setLanguage(Constants::C_NIMLANGUAGE_ID);
}
QString NimToolChain::typeDisplayName() const
{
return NimToolChainFactory::tr("Nim");
setTypeDisplayName(NimToolChainFactory::tr("Nim"));
}
Abi NimToolChain::targetAbi() const

View File

@@ -36,7 +36,6 @@ public:
NimToolChain();
explicit NimToolChain(Core::Id typeId);
QString typeDisplayName() const override;
ProjectExplorer::Abi targetAbi() const override;
bool isValid() const override;
@@ -62,8 +61,6 @@ public:
static bool parseVersion(const Utils::FilePath &path, std::tuple<int, int, int> &version);
private:
NimToolChain(const NimToolChain &other);
Utils::FilePath m_compilerCommand;
std::tuple<int, int, int> m_version;
};

View File

@@ -84,11 +84,8 @@ static const char warningExampleKeyC[] = "ProjectExplorer.CustomToolChain.Warnin
CustomToolChain::CustomToolChain() :
ToolChain(Constants::CUSTOM_TOOLCHAIN_TYPEID),
m_outputParserId(GccParser::id())
{ }
QString CustomToolChain::typeDisplayName() const
{
return Internal::CustomToolChainFactory::tr("Custom");
setTypeDisplayName(Internal::CustomToolChainFactory::tr("Custom"));
}
Abi CustomToolChain::targetAbi() const

View File

@@ -65,7 +65,6 @@ public:
QString displayName; ///< A translateable name to show in the user interface
};
QString typeDisplayName() const override;
Abi targetAbi() const override;
void setTargetAbi(const Abi &);

View File

@@ -232,13 +232,11 @@ static QString gccVersion(const FilePath &path, const QStringList &env)
// GccToolChain
// --------------------------------------------------------------------------
GccToolChain::GccToolChain() :
GccToolChain(Constants::GCC_TOOLCHAIN_TYPEID)
{ }
GccToolChain::GccToolChain(Core::Id typeId) :
ToolChain(typeId)
{ }
{
setTypeDisplayName(GccToolChainFactory::tr("GCC"));
}
void GccToolChain::setCompilerCommand(const FilePath &path)
{
@@ -289,11 +287,6 @@ LanguageExtensions GccToolChain::defaultLanguageExtensions() const
return LanguageExtension::Gnu;
}
QString GccToolChain::typeDisplayName() const
{
return GccToolChainFactory::tr("GCC");
}
Abi GccToolChain::targetAbi() const
{
return m_targetAbi;
@@ -867,7 +860,7 @@ GccToolChainFactory::GccToolChainFactory()
setDisplayName(tr("GCC"));
setSupportedToolChainType(Constants::GCC_TOOLCHAIN_TYPEID);
setSupportedLanguages({Constants::C_LANGUAGE_ID, Constants::CXX_LANGUAGE_ID});
setToolchainConstructor([] { return new GccToolChain; });
setToolchainConstructor([] { return new GccToolChain(Constants::GCC_TOOLCHAIN_TYPEID); });
setUserCreatable(true);
}
@@ -1265,14 +1258,14 @@ void ClangToolChain::syncAutodetectedWithParentToolchains()
}
ClangToolChain::ClangToolChain() :
GccToolChain(Constants::CLANG_TOOLCHAIN_TYPEID)
ClangToolChain(Constants::CLANG_TOOLCHAIN_TYPEID)
{
syncAutodetectedWithParentToolchains();
}
ClangToolChain::ClangToolChain(Core::Id typeId) :
GccToolChain(typeId)
{
setTypeDisplayName(ClangToolChainFactory::tr("Clang"));
syncAutodetectedWithParentToolchains();
}
@@ -1282,11 +1275,6 @@ ClangToolChain::~ClangToolChain()
QObject::disconnect(m_mingwToolchainAddedConnection);
}
QString ClangToolChain::typeDisplayName() const
{
return ClangToolChainFactory::tr("Clang");
}
FilePath ClangToolChain::makeCommand(const Environment &environment) const
{
const QStringList makes
@@ -1594,11 +1582,8 @@ void ClangToolChainConfigWidget::makeReadOnlyImpl()
MingwToolChain::MingwToolChain() :
GccToolChain(Constants::MINGW_TOOLCHAIN_TYPEID)
{ }
QString MingwToolChain::typeDisplayName() const
{
return MingwToolChainFactory::tr("MinGW");
setTypeDisplayName(MingwToolChainFactory::tr("MinGW"));
}
QStringList MingwToolChain::suggestedMkspecList() const
@@ -1673,11 +1658,8 @@ QList<ToolChain *> MingwToolChainFactory::autoDetect(const FilePath &compilerPat
LinuxIccToolChain::LinuxIccToolChain() :
GccToolChain(Constants::LINUXICC_TOOLCHAIN_TYPEID)
{ }
QString LinuxIccToolChain::typeDisplayName() const
{
return LinuxIccToolChainFactory::tr("Linux ICC");
setTypeDisplayName(LinuxIccToolChainFactory::tr("Linux ICC"));
}
/**

View File

@@ -68,7 +68,7 @@ class PROJECTEXPLORER_EXPORT GccToolChain : public ToolChain
{
public:
GccToolChain(Core::Id typeId);
QString typeDisplayName() const override;
Abi targetAbi() const override;
QString originalTargetTriple() const override;
QString version() const;
@@ -174,8 +174,6 @@ protected:
};
private:
explicit GccToolChain();
void updateSupportedAbis() const;
static QStringList gccPrepareArguments(const QStringList &flags,
const QString &sysRoot,
@@ -214,7 +212,6 @@ public:
explicit ClangToolChain(Core::Id typeId);
~ClangToolChain() override;
QString typeDisplayName() const override;
Utils::FilePath makeCommand(const Utils::Environment &environment) const override;
Utils::LanguageExtensions languageExtensions(const QStringList &cxxflags) const override;
@@ -256,7 +253,6 @@ private:
class PROJECTEXPLORER_EXPORT MingwToolChain : public GccToolChain
{
public:
QString typeDisplayName() const override;
Utils::FilePath makeCommand(const Utils::Environment &environment) const override;
QStringList suggestedMkspecList() const override;
@@ -275,8 +271,6 @@ private:
class PROJECTEXPLORER_EXPORT LinuxIccToolChain : public GccToolChain
{
public:
QString typeDisplayName() const override;
Utils::LanguageExtensions languageExtensions(const QStringList &cxxflags) const override;
IOutputParser *outputParser() const override;

View File

@@ -847,6 +847,7 @@ MsvcToolChain::MsvcToolChain(Core::Id typeId)
: ToolChain(typeId)
{
setDisplayName("Microsoft Visual C++ Compiler");
setTypeDisplayName(MsvcToolChainFactory::tr("MSVC"));
}
void MsvcToolChain::inferWarningsForLevel(int warningLevel, WarningFlags &flags)
@@ -902,11 +903,6 @@ QString MsvcToolChain::originalTargetTriple() const
: QLatin1String("i686-pc-windows-msvc");
}
QString MsvcToolChain::typeDisplayName() const
{
return MsvcToolChainFactory::tr("MSVC");
}
QStringList MsvcToolChain::suggestedMkspecList() const
{
// "win32-msvc" is the common MSVC mkspec introduced in Qt 5.8.1
@@ -1651,6 +1647,7 @@ ClangClToolChain::ClangClToolChain()
: MsvcToolChain(Constants::CLANG_CL_TOOLCHAIN_TYPEID)
{
setDisplayName("clang-cl");
setTypeDisplayName(QCoreApplication::translate("ProjectExplorer::ClangToolChainFactory", "Clang"));
}
bool ClangClToolChain::isValid() const
@@ -1671,11 +1668,6 @@ Utils::FilePath ClangClToolChain::compilerCommand() const
return Utils::FilePath::fromString(m_clangPath);
}
QString ClangClToolChain::typeDisplayName() const
{
return QCoreApplication::translate("ProjectExplorer::ClangToolChainFactory", "Clang");
}
QStringList ClangClToolChain::suggestedMkspecList() const
{
const QString mkspec = "win32-clang-" + Abi::toString(targetAbi().osFlavor());

View File

@@ -70,8 +70,6 @@ public:
QStringList suggestedMkspecList() const override;
QString typeDisplayName() const override;
QVariantMap toMap() const override;
bool fromMap(const QVariantMap &data) override;
@@ -170,7 +168,6 @@ public:
ClangClToolChain();
bool isValid() const override;
QString typeDisplayName() const override;
QStringList suggestedMkspecList() const override;
void addToEnvironment(Utils::Environment &env) const override;
Utils::FilePath compilerCommand() const override;

View File

@@ -70,6 +70,7 @@ public:
QByteArray m_id;
QSet<Core::Id> m_supportedLanguages;
mutable QString m_displayName;
QString m_typeDisplayName;
Core::Id m_typeId;
Core::Id m_language;
Detection m_detection = ToolChain::UninitializedDetection;
@@ -257,6 +258,16 @@ void ToolChain::setDetection(ToolChain::Detection de)
}
}
QString ToolChain::typeDisplayName() const
{
return d->m_typeDisplayName;
}
void ToolChain::setTypeDisplayName(const QString &typeName)
{
d->m_typeDisplayName = typeName;
}
/*!
Used by the tool chain manager to load user-generated tool chains.

View File

@@ -101,8 +101,10 @@ public:
virtual QStringList suggestedMkspecList() const;
Core::Id typeId() const;
virtual QString typeDisplayName() const = 0;
QString typeDisplayName() const;
virtual Abi targetAbi() const = 0;
virtual ProjectExplorer::Abis supportedAbis() const;
virtual QString originalTargetTriple() const { return QString(); }
virtual QStringList extraCodeModelFlags() const { return QStringList(); }
@@ -163,6 +165,8 @@ public:
protected:
explicit ToolChain(Core::Id typeId);
void setTypeDisplayName(const QString &typeName);
const MacrosCache &predefinedMacrosCache() const;
const HeaderPathsCache &headerPathsCache() const;

View File

@@ -299,21 +299,19 @@ const char TestToolChainType[] = "TestToolChainType";
class TTC : public ToolChain
{
public:
TTC() : ToolChain(TestToolChainType) {}
TTC(const QByteArray &t, bool v = true) :
TTC(const QByteArray &t = {}, bool v = true) :
ToolChain(TestToolChainType),
token(t),
m_valid(v)
{
m_toolChains.append(this);
setLanguage(Constants::CXX_LANGUAGE_ID);
setTypeDisplayName("Test Tool Chain");
}
static QList<TTC *> toolChains();
static bool hasToolChains() { return !m_toolChains.isEmpty(); }
QString typeDisplayName() const override { return QString("Test Tool Chain"); }
Abi targetAbi() const override { return Abi::hostAbi(); }
bool isValid() const override { return m_valid; }
MacroInspectionRunner createMacroInspectionRunner() const override { return MacroInspectionRunner(); }

View File

@@ -103,11 +103,7 @@ QnxToolChain::QnxToolChain()
: GccToolChain(Constants::QNX_TOOLCHAIN_ID)
{
setOptionsReinterpreter(&reinterpretOptions);
}
QString QnxToolChain::typeDisplayName() const
{
return QnxToolChainFactory::tr("QCC");
setTypeDisplayName(QnxToolChainFactory::tr("QCC"));
}
std::unique_ptr<ToolChainConfigWidget> QnxToolChain::createConfigurationWidget()

View File

@@ -36,8 +36,6 @@ class QnxToolChain : public ProjectExplorer::GccToolChain
public:
QnxToolChain();
QString typeDisplayName() const override;
std::unique_ptr<ProjectExplorer::ToolChainConfigWidget> createConfigurationWidget() override;
void addToEnvironment(Utils::Environment &env) const override;