diff options
3 files changed, 13 insertions, 4 deletions
diff --git a/src/declarative/qml/qmlscriptparser.cpp b/src/declarative/qml/qmlscriptparser.cpp index 57e40b6..9cc12b3 100644 --- a/src/declarative/qml/qmlscriptparser.cpp +++ b/src/declarative/qml/qmlscriptparser.cpp @@ -294,10 +294,11 @@ ProcessAST::defineObjectBinding_helper(AST::UiQualifiedId *propertyName, if (isScript) { if (_stateStack.isEmpty() || _stateStack.top().property) { QmlError error; - error.setDescription(QLatin1String("Invalid use of Script block")); + error.setDescription(QCoreApplication::translate("QmlParser","Invalid use of Script block")); error.setLine(typeLocation.startLine); error.setColumn(typeLocation.startColumn); _parser->_errors << error; + return 0; } } @@ -474,7 +475,7 @@ bool ProcessAST::visit(AST::UiImport *node) import.qualifier = node->importId->asString(); if (!import.qualifier.at(0).isUpper()) { QmlError error; - error.setDescription(QLatin1String("Invalid import qualifier ID")); + error.setDescription(QCoreApplication::translate("QmlParser","Invalid import qualifier ID")); error.setLine(node->importIdToken.startLine); error.setColumn(node->importIdToken.startColumn); _parser->_errors << error; @@ -483,6 +484,14 @@ bool ProcessAST::visit(AST::UiImport *node) } if (node->versionToken.isValid()) import.version = textAt(node->versionToken); + else if (import.type == QmlScriptParser::Import::Library) { + QmlError error; + error.setDescription(QCoreApplication::translate("QmlParser","Library import requires a version")); + error.setLine(node->importIdToken.startLine); + error.setColumn(node->importIdToken.startColumn); + _parser->_errors << error; + return false; + } import.location = location(startLoc, endLoc); import.uri = uri; diff --git a/tests/auto/declarative/qmllanguage/data/importVersionMissingBuiltIn.errors.txt b/tests/auto/declarative/qmllanguage/data/importVersionMissingBuiltIn.errors.txt index 2235cbc..c7d880e 100644 --- a/tests/auto/declarative/qmllanguage/data/importVersionMissingBuiltIn.errors.txt +++ b/tests/auto/declarative/qmllanguage/data/importVersionMissingBuiltIn.errors.txt @@ -1 +1 @@ -SHOULD GIVE AN ERROR ABOUT MISSING VERSION +1:16:Library import requires a version diff --git a/tests/auto/declarative/qmllanguage/data/importVersionMissingInstalled.errors.txt b/tests/auto/declarative/qmllanguage/data/importVersionMissingInstalled.errors.txt index 2235cbc..89e58ee 100644 --- a/tests/auto/declarative/qmllanguage/data/importVersionMissingInstalled.errors.txt +++ b/tests/auto/declarative/qmllanguage/data/importVersionMissingInstalled.errors.txt @@ -1 +1 @@ -SHOULD GIVE AN ERROR ABOUT MISSING VERSION +1:35:Library import requires a version |