aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/qmljs/qmljscheck.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <[email protected]>2010-03-04 16:40:47 +0100
committerErik Verbruggen <[email protected]>2010-03-04 16:41:08 +0100
commit9539a8dcb0e86f90dd15b2ddb901b4deeb81d57d (patch)
treef294e281d6fa106a9e2ffa65c0f1f6d6796c31ce /src/libs/qmljs/qmljscheck.cpp
parent0714893c8f2066b166d5f49254f9a5112b9cbbbe (diff)
Changed error to warning when using a string literal for an ID.
Diffstat (limited to 'src/libs/qmljs/qmljscheck.cpp')
-rw-r--r--src/libs/qmljs/qmljscheck.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/libs/qmljs/qmljscheck.cpp b/src/libs/qmljs/qmljscheck.cpp
index d7c04eb5f11..b103584bb15 100644
--- a/src/libs/qmljs/qmljscheck.cpp
+++ b/src/libs/qmljs/qmljscheck.cpp
@@ -255,13 +255,18 @@ bool Check::visit(UiScriptBinding *ast)
return false;
}
- IdentifierExpression *idExp = cast<IdentifierExpression *>(expStmt->expression);
- if (! idExp) {
+ QString id;
+ if (IdentifierExpression *idExp = cast<IdentifierExpression *>(expStmt->expression)) {
+ id = idExp->name->asString();
+ } else if (StringLiteral *strExp = cast<StringLiteral *>(expStmt->expression)) {
+ id = strExp->value->asString();
+ warning(loc, QCoreApplication::translate("QmlJS::Check", "using string literals for ids is discouraged"));
+ } else {
error(loc, QCoreApplication::translate("QmlJS::Check", "expected id"));
return false;
}
- if (! idExp->name->asString()[0].isLower()) {
+ if (id.isEmpty() || ! id[0].isLower()) {
error(loc, QCoreApplication::translate("QmlJS::Check", "ids must be lower case"));
return false;
}