From 78fd99f5d3348bf7cdef52a9a7e1e13574ae6bb5 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 8 May 2019 14:56:26 +0200 Subject: [PATCH] ProjectExplorer: Replace ToolChainFactory::canRestore ... by a member-based check. Change-Id: Id7d19e488695e76ea17cf2d02c7b6eb2cd0246cc Reviewed-by: Christian Kandeler --- src/plugins/android/androidtoolchain.cpp | 6 +---- src/plugins/android/androidtoolchain.h | 1 - src/plugins/baremetal/iarewtoolchain.cpp | 6 +---- src/plugins/baremetal/iarewtoolchain.h | 1 - src/plugins/baremetal/keiltoolchain.cpp | 6 +---- src/plugins/baremetal/keiltoolchain.h | 1 - src/plugins/baremetal/sdcctoolchain.cpp | 6 +---- src/plugins/baremetal/sdcctoolchain.h | 1 - .../nim/project/nimtoolchainfactory.cpp | 6 +---- src/plugins/nim/project/nimtoolchainfactory.h | 1 - .../projectexplorer/customtoolchain.cpp | 7 +----- src/plugins/projectexplorer/customtoolchain.h | 2 -- src/plugins/projectexplorer/gcctoolchain.cpp | 25 +++---------------- .../projectexplorer/gcctoolchainfactories.h | 7 ------ src/plugins/projectexplorer/msvctoolchain.cpp | 14 ++--------- src/plugins/projectexplorer/msvctoolchain.h | 2 -- src/plugins/projectexplorer/toolchain.cpp | 15 +++++++---- src/plugins/projectexplorer/toolchain.h | 4 ++- .../toolchainsettingsaccessor.cpp | 17 +++++++------ src/plugins/qnx/qnxtoolchain.cpp | 6 +---- src/plugins/qnx/qnxtoolchain.h | 1 - 21 files changed, 36 insertions(+), 99 deletions(-) diff --git a/src/plugins/android/androidtoolchain.cpp b/src/plugins/android/androidtoolchain.cpp index 1a7315309db..4e3cd7b3221 100644 --- a/src/plugins/android/androidtoolchain.cpp +++ b/src/plugins/android/androidtoolchain.cpp @@ -154,6 +154,7 @@ GccToolChain::DetectedAbisResult AndroidToolChain::detectSupportedAbis() const AndroidToolChainFactory::AndroidToolChainFactory() { setDisplayName(tr("Android Clang")); + setSupportedToolChainType(Constants::ANDROID_TOOLCHAIN_ID); } QSet Android::Internal::AndroidToolChainFactory::supportedLanguages() const @@ -166,11 +167,6 @@ ToolChainList AndroidToolChainFactory::autoDetect(CToolChainList &alreadyKnown) return autodetectToolChainsForNdk(alreadyKnown); } -bool AndroidToolChainFactory::canRestore(const QVariantMap &data) -{ - return typeIdFromMap(data) == Constants::ANDROID_TOOLCHAIN_ID; -} - ToolChain *AndroidToolChainFactory::restore(const QVariantMap &data) { auto tc = new AndroidToolChain(); diff --git a/src/plugins/android/androidtoolchain.h b/src/plugins/android/androidtoolchain.h index b8dbe4c6c22..6d69f842c88 100644 --- a/src/plugins/android/androidtoolchain.h +++ b/src/plugins/android/androidtoolchain.h @@ -67,7 +67,6 @@ public: QSet supportedLanguages() const override; ToolChainList autoDetect(CToolChainList &alreadyKnown) override; - bool canRestore(const QVariantMap &data) override; ProjectExplorer::ToolChain *restore(const QVariantMap &data) override; class AndroidToolChainInformation diff --git a/src/plugins/baremetal/iarewtoolchain.cpp b/src/plugins/baremetal/iarewtoolchain.cpp index 15986d878b4..66e915fc9a2 100644 --- a/src/plugins/baremetal/iarewtoolchain.cpp +++ b/src/plugins/baremetal/iarewtoolchain.cpp @@ -399,6 +399,7 @@ ToolChain *IarToolChain::clone() const IarToolChainFactory::IarToolChainFactory() { setDisplayName(tr("IAREW")); + setSupportedToolChainType(Constants::IAREW_TOOLCHAIN_TYPEID); } QSet IarToolChainFactory::supportedLanguages() const @@ -473,11 +474,6 @@ ToolChain *IarToolChainFactory::create(Core::Id language) return new IarToolChain(language, ToolChain::ManualDetection); } -bool IarToolChainFactory::canRestore(const QVariantMap &data) -{ - return typeIdFromMap(data) == Constants::IAREW_TOOLCHAIN_TYPEID; -} - ToolChain *IarToolChainFactory::restore(const QVariantMap &data) { const auto tc = new IarToolChain(ToolChain::ManualDetection); diff --git a/src/plugins/baremetal/iarewtoolchain.h b/src/plugins/baremetal/iarewtoolchain.h index 6e6b0befa68..6c835cc23b8 100644 --- a/src/plugins/baremetal/iarewtoolchain.h +++ b/src/plugins/baremetal/iarewtoolchain.h @@ -115,7 +115,6 @@ public: bool canCreate() final; ProjectExplorer::ToolChain *create(Core::Id language) final; - bool canRestore(const QVariantMap &data) final; ProjectExplorer::ToolChain *restore(const QVariantMap &data) final; private: diff --git a/src/plugins/baremetal/keiltoolchain.cpp b/src/plugins/baremetal/keiltoolchain.cpp index 1c0628c9526..665e0b0f732 100644 --- a/src/plugins/baremetal/keiltoolchain.cpp +++ b/src/plugins/baremetal/keiltoolchain.cpp @@ -409,6 +409,7 @@ ToolChain *KeilToolchain::clone() const KeilToolchainFactory::KeilToolchainFactory() { setDisplayName(tr("KEIL")); + setSupportedToolChainType(Constants::KEIL_TOOLCHAIN_TYPEID); } QSet KeilToolchainFactory::supportedLanguages() const @@ -477,11 +478,6 @@ ToolChain *KeilToolchainFactory::create(Core::Id language) return new KeilToolchain(language, ToolChain::ManualDetection); } -bool KeilToolchainFactory::canRestore(const QVariantMap &data) -{ - return typeIdFromMap(data) == Constants::KEIL_TOOLCHAIN_TYPEID; -} - ToolChain *KeilToolchainFactory::restore(const QVariantMap &data) { const auto tc = new KeilToolchain(ToolChain::ManualDetection); diff --git a/src/plugins/baremetal/keiltoolchain.h b/src/plugins/baremetal/keiltoolchain.h index 9cc91538233..ed3f69935b9 100644 --- a/src/plugins/baremetal/keiltoolchain.h +++ b/src/plugins/baremetal/keiltoolchain.h @@ -115,7 +115,6 @@ public: bool canCreate() final; ProjectExplorer::ToolChain *create(Core::Id language) final; - bool canRestore(const QVariantMap &data) final; ProjectExplorer::ToolChain *restore(const QVariantMap &data) final; private: diff --git a/src/plugins/baremetal/sdcctoolchain.cpp b/src/plugins/baremetal/sdcctoolchain.cpp index 7257c48cf86..ce0ef2b72ad 100644 --- a/src/plugins/baremetal/sdcctoolchain.cpp +++ b/src/plugins/baremetal/sdcctoolchain.cpp @@ -394,6 +394,7 @@ ToolChain *SdccToolChain::clone() const SdccToolChainFactory::SdccToolChainFactory() { setDisplayName(tr("SDCC")); + setSupportedToolChainType(Constants::SDCC_TOOLCHAIN_TYPEID); } QSet SdccToolChainFactory::supportedLanguages() const @@ -454,11 +455,6 @@ ToolChain *SdccToolChainFactory::create(Core::Id language) return new SdccToolChain(language, ToolChain::ManualDetection); } -bool SdccToolChainFactory::canRestore(const QVariantMap &data) -{ - return typeIdFromMap(data) == Constants::SDCC_TOOLCHAIN_TYPEID; -} - ToolChain *SdccToolChainFactory::restore(const QVariantMap &data) { const auto tc = new SdccToolChain(ToolChain::ManualDetection); diff --git a/src/plugins/baremetal/sdcctoolchain.h b/src/plugins/baremetal/sdcctoolchain.h index 62a56647205..65e522a33a3 100644 --- a/src/plugins/baremetal/sdcctoolchain.h +++ b/src/plugins/baremetal/sdcctoolchain.h @@ -115,7 +115,6 @@ public: bool canCreate() final; ProjectExplorer::ToolChain *create(Core::Id language) final; - bool canRestore(const QVariantMap &data) final; ProjectExplorer::ToolChain *restore(const QVariantMap &data) final; private: diff --git a/src/plugins/nim/project/nimtoolchainfactory.cpp b/src/plugins/nim/project/nimtoolchainfactory.cpp index 0eaae567f6d..30d4e759b50 100644 --- a/src/plugins/nim/project/nimtoolchainfactory.cpp +++ b/src/plugins/nim/project/nimtoolchainfactory.cpp @@ -43,6 +43,7 @@ namespace Nim { NimToolChainFactory::NimToolChainFactory() { setDisplayName(tr("Nim")); + setSupportedToolChainType(Constants::C_NIMTOOLCHAIN_TYPEID); } bool NimToolChainFactory::canCreate() @@ -59,11 +60,6 @@ ToolChain *NimToolChainFactory::create(Core::Id l) return result; } -bool NimToolChainFactory::canRestore(const QVariantMap &data) -{ - return typeIdFromMap(data) == Constants::C_NIMTOOLCHAIN_TYPEID; -} - ToolChain *NimToolChainFactory::restore(const QVariantMap &data) { auto tc = new NimToolChain(ToolChain::AutoDetection); diff --git a/src/plugins/nim/project/nimtoolchainfactory.h b/src/plugins/nim/project/nimtoolchainfactory.h index 4ba0a028ad8..3730efabf05 100644 --- a/src/plugins/nim/project/nimtoolchainfactory.h +++ b/src/plugins/nim/project/nimtoolchainfactory.h @@ -43,7 +43,6 @@ public: bool canCreate() final; ProjectExplorer::ToolChain *create(Core::Id l) final; - bool canRestore(const QVariantMap &data) final; ProjectExplorer::ToolChain *restore(const QVariantMap &data) final; QSet supportedLanguages() const final; QList autoDetect(const QList &alreadyKnown) final; diff --git a/src/plugins/projectexplorer/customtoolchain.cpp b/src/plugins/projectexplorer/customtoolchain.cpp index 599ed387ce1..b484f11d720 100644 --- a/src/plugins/projectexplorer/customtoolchain.cpp +++ b/src/plugins/projectexplorer/customtoolchain.cpp @@ -425,6 +425,7 @@ namespace Internal { CustomToolChainFactory::CustomToolChainFactory() { setDisplayName(tr("Custom")); + setSupportedToolChainType(Constants::CUSTOM_TOOLCHAIN_TYPEID); } QSet CustomToolChainFactory::supportedLanguages() const @@ -442,12 +443,6 @@ ToolChain *CustomToolChainFactory::create(Core::Id language) return new CustomToolChain(language, ToolChain::ManualDetection); } -// Used by the ToolChainManager to restore user-generated tool chains -bool CustomToolChainFactory::canRestore(const QVariantMap &data) -{ - return typeIdFromMap(data) == Constants::CUSTOM_TOOLCHAIN_TYPEID; -} - ToolChain *CustomToolChainFactory::restore(const QVariantMap &data) { auto tc = new CustomToolChain(ToolChain::ManualDetection); diff --git a/src/plugins/projectexplorer/customtoolchain.h b/src/plugins/projectexplorer/customtoolchain.h index 37ca6abd15a..713aeb5cbc3 100644 --- a/src/plugins/projectexplorer/customtoolchain.h +++ b/src/plugins/projectexplorer/customtoolchain.h @@ -149,8 +149,6 @@ public: bool canCreate() override; ToolChain *create(Core::Id language) override; - // Used by the ToolChainManager to restore user-generated tool chains - bool canRestore(const QVariantMap &data) override; ToolChain *restore(const QVariantMap &data) override; }; diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp index 38e21f4c8b5..68ada221345 100644 --- a/src/plugins/projectexplorer/gcctoolchain.cpp +++ b/src/plugins/projectexplorer/gcctoolchain.cpp @@ -875,6 +875,7 @@ QString GccToolChain::detectVersion() const GccToolChainFactory::GccToolChainFactory() { setDisplayName(tr("GCC")); + setSupportedToolChainType(Constants::GCC_TOOLCHAIN_TYPEID); } QSet GccToolChainFactory::supportedLanguages() const @@ -923,12 +924,6 @@ QList GccToolChainFactory::autoDetect(const FileName &compilerPath, return QList(); } -// Used by the ToolChainManager to restore user-generated tool chains -bool GccToolChainFactory::canRestore(const QVariantMap &data) -{ - return typeIdFromMap(data) == Constants::GCC_TOOLCHAIN_TYPEID; -} - ToolChain *GccToolChainFactory::restore(const QVariantMap &data) { GccToolChain *tc = createToolChain(false); @@ -1499,6 +1494,7 @@ ToolChain *ClangToolChain::clone() const ClangToolChainFactory::ClangToolChainFactory() { setDisplayName(tr("Clang")); + setSupportedToolChainType(Constants::CLANG_TOOLCHAIN_TYPEID); } QSet ClangToolChainFactory::supportedLanguages() const @@ -1539,11 +1535,6 @@ QList ClangToolChainFactory::autoDetect(const FileName &compilerPat return QList(); } -bool ClangToolChainFactory::canRestore(const QVariantMap &data) -{ - return typeIdFromMap(data) == Constants::CLANG_TOOLCHAIN_TYPEID; -} - GccToolChain *ClangToolChainFactory::createToolChain(bool autoDetect) { return new ClangToolChain(autoDetect ? ToolChain::AutoDetection : ToolChain::ManualDetection); @@ -1717,6 +1708,7 @@ ToolChain *MingwToolChain::clone() const MingwToolChainFactory::MingwToolChainFactory() { setDisplayName(tr("MinGW")); + setSupportedToolChainType(Constants::MINGW_TOOLCHAIN_TYPEID); } QSet MingwToolChainFactory::supportedLanguages() const @@ -1753,11 +1745,6 @@ QList MingwToolChainFactory::autoDetect(const FileName &compilerPat return QList(); } -bool MingwToolChainFactory::canRestore(const QVariantMap &data) -{ - return typeIdFromMap(data) == Constants::MINGW_TOOLCHAIN_TYPEID; -} - GccToolChain *MingwToolChainFactory::createToolChain(bool autoDetect) { return new MingwToolChain(autoDetect ? ToolChain::AutoDetection : ToolChain::ManualDetection); @@ -1821,6 +1808,7 @@ ToolChain *LinuxIccToolChain::clone() const LinuxIccToolChainFactory::LinuxIccToolChainFactory() { setDisplayName(tr("Linux ICC")); + setSupportedToolChainType(Constants::LINUXICC_TOOLCHAIN_TYPEID); } QSet LinuxIccToolChainFactory::supportedLanguages() const @@ -1847,11 +1835,6 @@ QList LinuxIccToolChainFactory::autoDetect(const FileName &compiler return {}; } -bool LinuxIccToolChainFactory::canRestore(const QVariantMap &data) -{ - return typeIdFromMap(data) == Constants::LINUXICC_TOOLCHAIN_TYPEID; -} - GccToolChain *LinuxIccToolChainFactory::createToolChain(bool autoDetect) { return new LinuxIccToolChain(autoDetect ? ToolChain::AutoDetection : ToolChain::ManualDetection); diff --git a/src/plugins/projectexplorer/gcctoolchainfactories.h b/src/plugins/projectexplorer/gcctoolchainfactories.h index 80f176a6daf..12409ecb947 100644 --- a/src/plugins/projectexplorer/gcctoolchainfactories.h +++ b/src/plugins/projectexplorer/gcctoolchainfactories.h @@ -61,7 +61,6 @@ public: bool canCreate() override; ToolChain *create(Core::Id language) override; - bool canRestore(const QVariantMap &data) override; ToolChain *restore(const QVariantMap &data) override; protected: @@ -152,8 +151,6 @@ public: QList autoDetect(const QList &alreadyKnown) override; QList autoDetect(const Utils::FileName &compilerPath, const Core::Id &language) final; - bool canRestore(const QVariantMap &data) override; - protected: GccToolChain *createToolChain(bool autoDetect) override; }; @@ -173,8 +170,6 @@ public: QList autoDetect(const QList &alreadyKnown) override; QList autoDetect(const Utils::FileName &compilerPath, const Core::Id &language) final; - bool canRestore(const QVariantMap &data) override; - protected: GccToolChain *createToolChain(bool autoDetect) override; }; @@ -194,8 +189,6 @@ public: QList autoDetect(const QList &alreadyKnown) override; QList autoDetect(const Utils::FileName &compilerPath, const Core::Id &language) final; - bool canRestore(const QVariantMap &data) override; - protected: GccToolChain *createToolChain(bool autoDetect) override; }; diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp index 427ef014a41..1fec74e7d2e 100644 --- a/src/plugins/projectexplorer/msvctoolchain.cpp +++ b/src/plugins/projectexplorer/msvctoolchain.cpp @@ -1640,6 +1640,7 @@ ClangClToolChain::BuiltInHeaderPathsRunner ClangClToolChain::createBuiltInHeader MsvcToolChainFactory::MsvcToolChainFactory() { setDisplayName(tr("MSVC")); + setSupportedToolChainType(Constants::MSVC_TOOLCHAIN_TYPEID); } QSet MsvcToolChainFactory::supportedLanguages() const @@ -1819,6 +1820,7 @@ QList MsvcToolChainFactory::autoDetect(const QList &al ClangClToolChainFactory::ClangClToolChainFactory() { setDisplayName(tr("clang-cl")); + setSupportedToolChainType(Constants::CLANG_CL_TOOLCHAIN_TYPEID); } bool ClangClToolChainFactory::canCreate() @@ -1983,12 +1985,6 @@ Utils::optional MsvcToolChain::generateEnvironmentSettings(const Utils: return Utils::nullopt; } -bool MsvcToolChainFactory::canRestore(const QVariantMap &data) -{ - const Core::Id id = typeIdFromMap(data); - return id == Constants::MSVC_TOOLCHAIN_TYPEID; -} - template ToolChainType *readFromMap(const QVariantMap &data) { @@ -2004,12 +2000,6 @@ ToolChain *MsvcToolChainFactory::restore(const QVariantMap &data) return readFromMap(data); } -bool ClangClToolChainFactory::canRestore(const QVariantMap &data) -{ - const Core::Id id = typeIdFromMap(data); - return id == Constants::CLANG_CL_TOOLCHAIN_TYPEID; -} - ToolChain *ClangClToolChainFactory::restore(const QVariantMap &data) { return readFromMap(data); diff --git a/src/plugins/projectexplorer/msvctoolchain.h b/src/plugins/projectexplorer/msvctoolchain.h index dc74d8c4ebe..7bf89794ca5 100644 --- a/src/plugins/projectexplorer/msvctoolchain.h +++ b/src/plugins/projectexplorer/msvctoolchain.h @@ -228,7 +228,6 @@ public: QList autoDetect(const QList &alreadyKnown) override; - bool canRestore(const QVariantMap &data) override; ToolChain *restore(const QVariantMap &data) override; static QString vcVarsBatFor(const QString &basePath, @@ -245,7 +244,6 @@ public: QList autoDetect(const QList &alreadyKnown) override; - bool canRestore(const QVariantMap &data) override; ToolChain *restore(const QVariantMap &data) override; bool canCreate() override; diff --git a/src/plugins/projectexplorer/toolchain.cpp b/src/plugins/projectexplorer/toolchain.cpp index 74f62408574..142d1239859 100644 --- a/src/plugins/projectexplorer/toolchain.cpp +++ b/src/plugins/projectexplorer/toolchain.cpp @@ -449,11 +449,6 @@ ToolChain *ToolChainFactory::create(Core::Id l) return nullptr; } -bool ToolChainFactory::canRestore(const QVariantMap &) -{ - return false; -} - ToolChain *ToolChainFactory::restore(const QVariantMap &) { return nullptr; @@ -482,4 +477,14 @@ void ToolChainFactory::autoDetectionToMap(QVariantMap &data, bool detected) data.insert(QLatin1String(AUTODETECT_KEY), detected); } +Core::Id ToolChainFactory::supportedToolChainType() const +{ + return m_supportedToolChainType; +} + +void ToolChainFactory::setSupportedToolChainType(const Core::Id &supportedToolChain) +{ + m_supportedToolChainType = supportedToolChain; +} + } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/toolchain.h b/src/plugins/projectexplorer/toolchain.h index c551f2829da..a035905155e 100644 --- a/src/plugins/projectexplorer/toolchain.h +++ b/src/plugins/projectexplorer/toolchain.h @@ -192,6 +192,7 @@ public: static const QList allToolChainFactories(); QString displayName() const { return m_displayName; } + Core::Id supportedToolChainType() const; virtual QList autoDetect(const QList &alreadyKnown); virtual QList autoDetect(const Utils::FileName &compilerPath, const Core::Id &language); @@ -199,7 +200,6 @@ public: virtual bool canCreate(); virtual ToolChain *create(Core::Id l); - virtual bool canRestore(const QVariantMap &data); virtual ToolChain *restore(const QVariantMap &data); static QByteArray idFromMap(const QVariantMap &data); @@ -210,6 +210,7 @@ public: protected: void setDisplayName(const QString &name) { m_displayName = name; } + void setSupportedToolChainType(const Core::Id &supportedToolChainType); class Candidate { public: @@ -226,6 +227,7 @@ protected: private: QString m_displayName; + Core::Id m_supportedToolChainType; }; } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/toolchainsettingsaccessor.cpp b/src/plugins/projectexplorer/toolchainsettingsaccessor.cpp index 1148780345d..4c4bb3f0ebc 100644 --- a/src/plugins/projectexplorer/toolchainsettingsaccessor.cpp +++ b/src/plugins/projectexplorer/toolchainsettingsaccessor.cpp @@ -253,18 +253,21 @@ QList ToolChainSettingsAccessor::toolChains(const QVariantMap &data const QVariantMap tcMap = data.value(key).toMap(); bool restored = false; - for (ToolChainFactory *f : factories) { - if (f->canRestore(tcMap)) { - if (ToolChain *tc = f->restore(tcMap)) { - result.append(tc); - restored = true; - break; + const Core::Id tcType = ToolChainFactory::typeIdFromMap(tcMap); + if (tcType.isValid()) { + for (ToolChainFactory *f : factories) { + if (f->supportedToolChainType() == tcType) { + if (ToolChain *tc = f->restore(tcMap)) { + result.append(tc); + restored = true; + break; + } } } } if (!restored) qWarning("Warning: Unable to restore compiler type '%s' for tool chain %s.", - qPrintable(ToolChainFactory::typeIdFromMap(tcMap).toString()), + qPrintable(tcType.toString()), qPrintable(QString::fromUtf8(ToolChainFactory::idFromMap(tcMap)))); } diff --git a/src/plugins/qnx/qnxtoolchain.cpp b/src/plugins/qnx/qnxtoolchain.cpp index 8dc621442c9..7c5425c63f8 100644 --- a/src/plugins/qnx/qnxtoolchain.cpp +++ b/src/plugins/qnx/qnxtoolchain.cpp @@ -213,6 +213,7 @@ bool QnxToolChain::operator ==(const ToolChain &other) const QnxToolChainFactory::QnxToolChainFactory() { setDisplayName(tr("QCC")); + setSupportedToolChainType(Constants::QNX_TOOLCHAIN_ID); } QList QnxToolChainFactory::autoDetect( @@ -231,11 +232,6 @@ QSet QnxToolChainFactory::supportedLanguages() const return {ProjectExplorer::Constants::CXX_LANGUAGE_ID}; } -bool QnxToolChainFactory::canRestore(const QVariantMap &data) -{ - return typeIdFromMap(data) == Constants::QNX_TOOLCHAIN_ID; -} - ToolChain *QnxToolChainFactory::restore(const QVariantMap &data) { auto tc = new QnxToolChain(ToolChain::ManualDetection); diff --git a/src/plugins/qnx/qnxtoolchain.h b/src/plugins/qnx/qnxtoolchain.h index 8474714b785..77e583912c8 100644 --- a/src/plugins/qnx/qnxtoolchain.h +++ b/src/plugins/qnx/qnxtoolchain.h @@ -78,7 +78,6 @@ public: QSet supportedLanguages() const override; - bool canRestore(const QVariantMap &data) override; ProjectExplorer::ToolChain *restore(const QVariantMap &data) override; bool canCreate() override;