diff options
| author | Christian Kandeler <christian.kandeler@theqtcompany.com> | 2015-07-28 10:42:44 +0200 |
|---|---|---|
| committer | Christian Kandeler <christian.kandeler@theqtcompany.com> | 2015-07-28 09:14:32 +0000 |
| commit | 4adc9c2c5626a8adc5e97612c4ef5720ab36e0c2 (patch) | |
| tree | 15f14017f41011f6029b70f82870131ac3625a99 | |
| parent | 71a039a66a0aa40a17ca69dc72c2cc5093caa24c (diff) | |
| download | qbs-4adc9c2c5626a8adc5e97612c4ef5720ab36e0c2.tar.gz | |
Make BuiltinDeclarations::languageVersion() an actual Version.
Change-Id: Ic49e9ab578c8cc4b6e5260a5da2667f934fbdf69
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
| -rw-r--r-- | src/lib/corelib/api/languageinfo.cpp | 2 | ||||
| -rw-r--r-- | src/lib/corelib/language/builtindeclarations.cpp | 4 | ||||
| -rw-r--r-- | src/lib/corelib/language/builtindeclarations.h | 5 | ||||
| -rw-r--r-- | src/lib/corelib/language/itemreaderastvisitor.cpp | 8 | ||||
| -rw-r--r-- | src/lib/corelib/language/itemreaderastvisitor.h | 3 |
5 files changed, 11 insertions, 11 deletions
diff --git a/src/lib/corelib/api/languageinfo.cpp b/src/lib/corelib/api/languageinfo.cpp index 66cb3e9ea..204670bef 100644 --- a/src/lib/corelib/api/languageinfo.cpp +++ b/src/lib/corelib/api/languageinfo.cpp @@ -57,7 +57,7 @@ QByteArray LanguageInfo::qmlTypeInfo() result.append(" exports: [ \"qbs/"); result.append(utf8TypeName); result.append(" "); - result.append(builtins.languageVersion().toUtf8()); + result.append(builtins.languageVersion().toString().toUtf8()); result.append("\" ]\n"); result.append(" prototype: \"QQuickItem\"\n"); diff --git a/src/lib/corelib/language/builtindeclarations.cpp b/src/lib/corelib/language/builtindeclarations.cpp index 1185da584..fbdb20bc7 100644 --- a/src/lib/corelib/language/builtindeclarations.cpp +++ b/src/lib/corelib/language/builtindeclarations.cpp @@ -45,7 +45,7 @@ Q_GLOBAL_STATIC(AClassWithPublicConstructor, theInstance) const char QBS_LANGUAGE_VERSION[] = "1.0"; BuiltinDeclarations::BuiltinDeclarations() - : m_languageVersion(QLatin1String(QBS_LANGUAGE_VERSION)) + : m_languageVersion(Version::fromString(QLatin1String(QBS_LANGUAGE_VERSION))) { addArtifactItem(); addDependsItem(); @@ -69,7 +69,7 @@ const BuiltinDeclarations &BuiltinDeclarations::instance() return *theInstance; } -QString BuiltinDeclarations::languageVersion() const +Version BuiltinDeclarations::languageVersion() const { return m_languageVersion; } diff --git a/src/lib/corelib/language/builtindeclarations.h b/src/lib/corelib/language/builtindeclarations.h index f39255c8b..acad2d5ee 100644 --- a/src/lib/corelib/language/builtindeclarations.h +++ b/src/lib/corelib/language/builtindeclarations.h @@ -34,6 +34,7 @@ #include "itemdeclaration.h" #include <logging/logger.h> +#include <tools/version.h> #include <QByteArray> #include <QMap> @@ -48,7 +49,7 @@ class BuiltinDeclarations public: static const BuiltinDeclarations &instance(); - QString languageVersion() const; + Version languageVersion() const; bool containsType(const QString &typeName) const; QStringList allTypeNames() const; ItemDeclaration declarationsForType(const QString &typeName) const; @@ -76,7 +77,7 @@ private: void addTransformerItem(); void addScannerItem(); - QString m_languageVersion; + Version m_languageVersion; QMap<QString, ItemDeclaration> m_builtins; }; diff --git a/src/lib/corelib/language/itemreaderastvisitor.cpp b/src/lib/corelib/language/itemreaderastvisitor.cpp index c88340d3e..b949bde1e 100644 --- a/src/lib/corelib/language/itemreaderastvisitor.cpp +++ b/src/lib/corelib/language/itemreaderastvisitor.cpp @@ -53,7 +53,6 @@ namespace Internal { ItemReaderASTVisitor::ItemReaderASTVisitor(ItemReader *reader, ItemReaderResult *result) : m_reader(reader) , m_readerResult(result) - , m_languageVersion(readImportVersion(BuiltinDeclarations::instance().languageVersion())) , m_file(FileContext::create()) , m_item(0) , m_sourceValue(0) @@ -497,10 +496,11 @@ void ItemReaderASTVisitor::checkImportVersion(const AST::SourceLocation &version const QString importVersionString = m_file->content().mid(versionToken.offset, versionToken.length); const Version importVersion = readImportVersion(importVersionString, toCodeLocation(versionToken)); - if (Q_UNLIKELY(importVersion != m_languageVersion)) + if (Q_UNLIKELY(importVersion != BuiltinDeclarations::instance().languageVersion())) throw ErrorInfo(Tr::tr("Incompatible qbs language version %1. This is version %2.").arg( - importVersionString, BuiltinDeclarations::instance().languageVersion()), - toCodeLocation(versionToken)); + importVersionString, + BuiltinDeclarations::instance().languageVersion().toString()), + toCodeLocation(versionToken)); } void ItemReaderASTVisitor::inheritItem(Item *dst, const Item *src) diff --git a/src/lib/corelib/language/itemreaderastvisitor.h b/src/lib/corelib/language/itemreaderastvisitor.h index 5f777f1bf..60b1fdd94 100644 --- a/src/lib/corelib/language/itemreaderastvisitor.h +++ b/src/lib/corelib/language/itemreaderastvisitor.h @@ -35,7 +35,6 @@ #include "filecontext.h" #include <parser/qmljsastvisitor_p.h> -#include <tools/version.h> #include <QHash> @@ -44,6 +43,7 @@ namespace Internal { class ItemReader; struct ItemReaderResult; +class Version; class ItemReaderASTVisitor : public QbsQmlJS::AST::Visitor { @@ -82,7 +82,6 @@ private: ItemReader *m_reader; ItemReaderResult *m_readerResult; - const Version m_languageVersion; FileContextPtr m_file; QHash<QStringList, QString> m_typeNameToFile; Item *m_item; |
