diff options
author | Jake Petroules <jake.petroules@qt.io> | 2017-11-23 14:42:27 -0800 |
---|---|---|
committer | Jake Petroules <jake.petroules@qt.io> | 2017-12-01 19:52:53 +0000 |
commit | 3fcc79261067fd4817c38fa9fc10d872507c6ee9 (patch) | |
tree | 7a1235d9e6bbd4a2233d58212f75fd214f2633c0 /src/lib | |
parent | cf2116b63a052bfcd7546bec56f66a5015cf5c51 (diff) |
Clean up LanguageInfo
Delete the constructor, change the functions' return types to more
appropriate ones, don't export a Qt dependency, and move the Qbs version
from the Version POD class into LanguageInfo.
Change-Id: I2fc3fd41de60962ee244d525572882e191195c4b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/corelib/api/languageinfo.cpp | 13 | ||||
-rw-r--r-- | src/lib/corelib/api/languageinfo.h | 13 | ||||
-rw-r--r-- | src/lib/corelib/jsextensions/utilitiesextension.cpp | 2 | ||||
-rw-r--r-- | src/lib/corelib/language/item.cpp | 3 | ||||
-rw-r--r-- | src/lib/corelib/language/itemreaderastvisitor.cpp | 3 | ||||
-rw-r--r-- | src/lib/corelib/language/moduleloader.cpp | 3 | ||||
-rw-r--r-- | src/lib/corelib/language/propertydeclaration.cpp | 3 | ||||
-rw-r--r-- | src/lib/corelib/tools/version.cpp | 6 | ||||
-rw-r--r-- | src/lib/corelib/tools/version.h | 2 |
9 files changed, 21 insertions, 27 deletions
diff --git a/src/lib/corelib/api/languageinfo.cpp b/src/lib/corelib/api/languageinfo.cpp index df8d62ca0..8bae5243b 100644 --- a/src/lib/corelib/api/languageinfo.cpp +++ b/src/lib/corelib/api/languageinfo.cpp @@ -47,16 +47,12 @@ namespace qbs { -LanguageInfo::LanguageInfo() -{ -} - -QByteArray LanguageInfo::qmlTypeInfo() +std::string LanguageInfo::qmlTypeInfo() { const Internal::BuiltinDeclarations &builtins = Internal::BuiltinDeclarations::instance(); // Header: - QByteArray result; + std::string result; result.append("import QtQuick.tooling 1.0\n\n"); result.append("// This file describes the plugin-supplied types contained in the library.\n"); result.append("// It is used for QML tooling purposes only.\n\n"); @@ -126,9 +122,10 @@ QByteArray LanguageInfo::qmlTypeInfo() return result; } -QString LanguageInfo::qbsVersion() +Version LanguageInfo::qbsVersion() { - return Version::qbsVersion().toString(); + static const auto v = Version::fromString(QLatin1String(QBS_VERSION)); + return v; } } // namespace qbs diff --git a/src/lib/corelib/api/languageinfo.h b/src/lib/corelib/api/languageinfo.h index 22994b546..d0db7d5e8 100644 --- a/src/lib/corelib/api/languageinfo.h +++ b/src/lib/corelib/api/languageinfo.h @@ -42,18 +42,19 @@ #include "../tools/qbs_export.h" -#include <QtCore/qbytearray.h> +#include <string> namespace qbs { +class Version; + class QBS_EXPORT LanguageInfo { -public: - LanguageInfo(); + LanguageInfo() = delete; - QByteArray qmlTypeInfo(); - - static QString qbsVersion(); // TODO: Use QVersionNumber once we require Qt 5.6 +public: + static std::string qmlTypeInfo(); + static Version qbsVersion(); }; } // namespace qbs diff --git a/src/lib/corelib/jsextensions/utilitiesextension.cpp b/src/lib/corelib/jsextensions/utilitiesextension.cpp index e1d9d383f..c10707481 100644 --- a/src/lib/corelib/jsextensions/utilitiesextension.cpp +++ b/src/lib/corelib/jsextensions/utilitiesextension.cpp @@ -541,7 +541,7 @@ QScriptValue UtilitiesExtension::js_versionCompare(QScriptContext *context, QScr QScriptValue UtilitiesExtension::js_qmlTypeInfo(QScriptContext *context, QScriptEngine *engine) { Q_UNUSED(context); - return engine->toScriptValue(QString::fromUtf8(qbs::LanguageInfo().qmlTypeInfo())); + return engine->toScriptValue(QString::fromStdString(qbs::LanguageInfo::qmlTypeInfo())); } QScriptValue UtilitiesExtension::js_builtinExtensionNames(QScriptContext *context, diff --git a/src/lib/corelib/language/item.cpp b/src/lib/corelib/language/item.cpp index 31aa42a37..06dd63da7 100644 --- a/src/lib/corelib/language/item.cpp +++ b/src/lib/corelib/language/item.cpp @@ -46,6 +46,7 @@ #include "itempool.h" #include "value.h" +#include <api/languageinfo.h> #include <logging/logger.h> #include <logging/translator.h> #include <tools/error.h> @@ -262,7 +263,7 @@ void Item::setupForBuiltinType(Logger &logger) m_properties.insert(pd.name(), sourceValue); } else if (pd.isDeprecated()) { const DeprecationInfo &di = pd.deprecationInfo(); - if (di.removalVersion() <= Version::qbsVersion()) { + if (di.removalVersion() <= LanguageInfo::qbsVersion()) { QString message = Tr::tr("The property '%1' is no longer valid for %2 items. " "It was removed in qbs %3.") .arg(pd.name(), typeName(), di.removalVersion().toString()); diff --git a/src/lib/corelib/language/itemreaderastvisitor.cpp b/src/lib/corelib/language/itemreaderastvisitor.cpp index fc0496ccf..8560d1afd 100644 --- a/src/lib/corelib/language/itemreaderastvisitor.cpp +++ b/src/lib/corelib/language/itemreaderastvisitor.cpp @@ -49,6 +49,7 @@ #include "itemreadervisitorstate.h" #include "value.h" +#include <api/languageinfo.h> #include <jsextensions/jsextensions.h> #include <parser/qmljsast_p.h> #include <tools/codelocation.h> @@ -336,7 +337,7 @@ void ItemReaderASTVisitor::checkDeprecationStatus(ItemType itemType, const QStri const DeprecationInfo &di = itemDecl.deprecationInfo(); if (!di.isValid()) return; - if (di.removalVersion() <= Version::qbsVersion()) { + if (di.removalVersion() <= LanguageInfo::qbsVersion()) { QString message = Tr::tr("The item '%1' cannot be used anymore. " "It was removed in qbs %2.") .arg(itemName, di.removalVersion().toString()); diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp index 9063ff894..0e3a8015d 100644 --- a/src/lib/corelib/language/moduleloader.cpp +++ b/src/lib/corelib/language/moduleloader.cpp @@ -50,6 +50,7 @@ #include "scriptengine.h" #include "value.h" +#include <api/languageinfo.h> #include <language/language.h> #include <logging/categories.h> #include <logging/logger.h> @@ -2728,7 +2729,7 @@ void ModuleLoader::setupBaseModulePrototype(Item *prototype) prototype->setProperty(QStringLiteral("libexecPath"), VariantValue::create(m_parameters.libexecPath())); - const Version qbsVersion = Version::qbsVersion(); + const Version qbsVersion = LanguageInfo::qbsVersion(); prototype->setProperty(QStringLiteral("versionMajor"), VariantValue::create(qbsVersion.majorVersion())); prototype->setProperty(QStringLiteral("versionMinor"), diff --git a/src/lib/corelib/language/propertydeclaration.cpp b/src/lib/corelib/language/propertydeclaration.cpp index 5125d3917..f0eff09d1 100644 --- a/src/lib/corelib/language/propertydeclaration.cpp +++ b/src/lib/corelib/language/propertydeclaration.cpp @@ -40,6 +40,7 @@ #include "propertydeclaration.h" #include "deprecationinfo.h" +#include <api/languageinfo.h> #include <tools/stringconstants.h> @@ -218,7 +219,7 @@ bool PropertyDeclaration::isDeprecated() const bool PropertyDeclaration::isExpired() const { - return isDeprecated() && deprecationInfo().removalVersion() <= Version::qbsVersion(); + return isDeprecated() && deprecationInfo().removalVersion() <= LanguageInfo::qbsVersion(); } const DeprecationInfo &PropertyDeclaration::deprecationInfo() const diff --git a/src/lib/corelib/tools/version.cpp b/src/lib/corelib/tools/version.cpp index f9c7a540f..264c44c29 100644 --- a/src/lib/corelib/tools/version.cpp +++ b/src/lib/corelib/tools/version.cpp @@ -115,12 +115,6 @@ QString Version::toString() const return s; } -const Version &Version::qbsVersion() -{ - static const Version v = fromString(QLatin1String(QBS_VERSION)); - return v; -} - int compare(const Version &lhs, const Version &rhs) { if (lhs.majorVersion() < rhs.majorVersion()) diff --git a/src/lib/corelib/tools/version.h b/src/lib/corelib/tools/version.h index 81bfe1f5b..4f5e46500 100644 --- a/src/lib/corelib/tools/version.h +++ b/src/lib/corelib/tools/version.h @@ -73,8 +73,6 @@ public: static Version fromString(const QString &versionString, bool buildNumberAllowed = false); QString toString() const; - static const Version &qbsVersion(); - private: int m_major; int m_minor; |