lupdate: Remove wrong error message
authorJan Arve Saether <jan-arve.saether@theqtcompany.com>
Tue, 10 Mar 2015 12:29:51 +0000 (13:29 +0100)
committerJan Arve Sæther <jan-arve.saether@theqtcompany.com>
Wed, 11 Mar 2015 11:29:19 +0000 (11:29 +0000)
For qsTr(), when string is not literal we printed a warning saying
"text to translate must be a literal string". This was not correct, as
it has never been a requirement for the string to be a _literal_ string.

The solution is to remove the message entirely.

Task-number: QTBUG-42381
Change-Id: If08726143c810382feb0a1c5db5036d9601ce488
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
src/linguist/lupdate/qdeclarative.cpp
tests/auto/linguist/lupdate/testdata/good/parsejs2/expectedoutput.txt
tests/auto/linguist/lupdate/testdata/good/parsejs4/expectedoutput.txt
tests/auto/linguist/lupdate/testdata/good/parseqml2/expectedoutput.txt

index 24fab74..ef5704e 100644 (file)
@@ -109,10 +109,8 @@ protected:
                 }
 
                 QString source;
-                if (!createString(node->arguments->expression, &source)) {
-                    yyMsg(identLineNo) << qPrintable(LU::tr("%1(): text to translate must be a literal string.\n").arg(name));
+                if (!createString(node->arguments->expression, &source))
                     return;
-                }
 
                 QString comment;
                 bool plural = false;
@@ -145,18 +143,14 @@ protected:
                 }
 
                 QString context;
-                if (!createString(node->arguments->expression, &context)) {
-                    yyMsg(identLineNo) << qPrintable(LU::tr("%1(): both arguments must be literal strings.\n").arg(name));
+                if (!createString(node->arguments->expression, &context))
                     return;
-                }
 
                 AST::ArgumentList *sourceNode = node->arguments->next; // we know that it is a valid pointer.
 
                 QString source;
-                if (!createString(sourceNode->expression, &source)) {
-                    yyMsg(identLineNo) << qPrintable(LU::tr("%1(): both arguments must be literal strings.\n").arg(name));
+                if (!createString(sourceNode->expression, &source))
                     return;
-                }
 
                 if (!sourcetext.isEmpty())
                     yyMsg(identLineNo) << qPrintable(LU::tr("//% cannot be used with %1(). Ignoring\n").arg(name));
@@ -190,10 +184,8 @@ protected:
                 }
 
                 QString id;
-                if (!createString(node->arguments->expression, &id)) {
-                    yyMsg(identLineNo) << qPrintable(LU::tr("%1(): identifier must be a literal string.\n").arg(name));
+                if (!createString(node->arguments->expression, &id))
                     return;
-                }
 
                 if (!msgid.isEmpty()) {
                     yyMsg(identLineNo) << qPrintable(LU::tr("//= cannot be used with %1(). Ignoring\n").arg(name));
index d6c977f..0d6ae31 100644 (file)
@@ -1,21 +1,11 @@
 .*/lupdate/testdata/good/parsejs2/main.js:3: qsTranslate\(\) requires at least two arguments.
 .*/lupdate/testdata/good/parsejs2/main.js:4: qsTranslate\(\) requires at least two arguments.
-.*/lupdate/testdata/good/parsejs2/main.js:5: qsTranslate\(\): both arguments must be literal strings.
-.*/lupdate/testdata/good/parsejs2/main.js:6: qsTranslate\(\): both arguments must be literal strings.
-.*/lupdate/testdata/good/parsejs2/main.js:7: qsTranslate\(\): both arguments must be literal strings.
 .*/lupdate/testdata/good/parsejs2/main.js:9: QT_TRANSLATE_NOOP\(\) requires at least two arguments.
 .*/lupdate/testdata/good/parsejs2/main.js:10: QT_TRANSLATE_NOOP\(\) requires at least two arguments.
-.*/lupdate/testdata/good/parsejs2/main.js:11: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings.
-.*/lupdate/testdata/good/parsejs2/main.js:12: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings.
-.*/lupdate/testdata/good/parsejs2/main.js:13: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings.
 .*/lupdate/testdata/good/parsejs2/main.js:15: qsTr\(\) requires at least one argument.
-.*/lupdate/testdata/good/parsejs2/main.js:16: qsTr\(\): text to translate must be a literal string.
 .*/lupdate/testdata/good/parsejs2/main.js:18: QT_TR_NOOP\(\) requires at least one argument.
-.*/lupdate/testdata/good/parsejs2/main.js:19: QT_TR_NOOP\(\): text to translate must be a literal string.
 .*/lupdate/testdata/good/parsejs2/main.js:21: qsTrId\(\) requires at least one argument.
-.*/lupdate/testdata/good/parsejs2/main.js:22: qsTrId\(\): identifier must be a literal string.
 .*/lupdate/testdata/good/parsejs2/main.js:24: QT_TRID_NOOP\(\) requires at least one argument.
-.*/lupdate/testdata/good/parsejs2/main.js:25: QT_TRID_NOOP\(\): identifier must be a literal string.
 .*/lupdate/testdata/good/parsejs2/main.js:27: Unexpected character in meta string
 .*/lupdate/testdata/good/parsejs2/main.js:28: Unexpected character in meta string
 .*/lupdate/testdata/good/parsejs2/main.js:29: Unterminated meta string
index 62491a8..768face 100644 (file)
@@ -1,21 +1,11 @@
 .*/lupdate/testdata/good/parsejs4/main.js:37: qsTranslate\(\) requires at least two arguments.
 .*/lupdate/testdata/good/parsejs4/main.js:38: qsTranslate\(\) requires at least two arguments.
-.*/lupdate/testdata/good/parsejs4/main.js:39: qsTranslate\(\): both arguments must be literal strings.
-.*/lupdate/testdata/good/parsejs4/main.js:40: qsTranslate\(\): both arguments must be literal strings.
-.*/lupdate/testdata/good/parsejs4/main.js:41: qsTranslate\(\): both arguments must be literal strings.
 .*/lupdate/testdata/good/parsejs4/main.js:43: QT_TRANSLATE_NOOP\(\) requires at least two arguments.
 .*/lupdate/testdata/good/parsejs4/main.js:44: QT_TRANSLATE_NOOP\(\) requires at least two arguments.
-.*/lupdate/testdata/good/parsejs4/main.js:45: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings.
-.*/lupdate/testdata/good/parsejs4/main.js:46: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings.
-.*/lupdate/testdata/good/parsejs4/main.js:47: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings.
 .*/lupdate/testdata/good/parsejs4/main.js:49: qsTr\(\) requires at least one argument.
-.*/lupdate/testdata/good/parsejs4/main.js:50: qsTr\(\): text to translate must be a literal string.
 .*/lupdate/testdata/good/parsejs4/main.js:52: QT_TR_NOOP\(\) requires at least one argument.
-.*/lupdate/testdata/good/parsejs4/main.js:53: QT_TR_NOOP\(\): text to translate must be a literal string.
 .*/lupdate/testdata/good/parsejs4/main.js:55: qsTrId\(\) requires at least one argument.
-.*/lupdate/testdata/good/parsejs4/main.js:56: qsTrId\(\): identifier must be a literal string.
 .*/lupdate/testdata/good/parsejs4/main.js:58: QT_TRID_NOOP\(\) requires at least one argument.
-.*/lupdate/testdata/good/parsejs4/main.js:59: QT_TRID_NOOP\(\): identifier must be a literal string.
 .*/lupdate/testdata/good/parsejs4/main.js:61: Unexpected character in meta string
 .*/lupdate/testdata/good/parsejs4/main.js:62: Unexpected character in meta string
 .*/lupdate/testdata/good/parsejs4/main.js:63: Unterminated meta string
index 779b268..d39af3f 100644 (file)
@@ -1,21 +1,11 @@
 .*/lupdate/testdata/good/parseqml2/main.qml:36: qsTranslate\(\) requires at least two arguments.
 .*/lupdate/testdata/good/parseqml2/main.qml:37: qsTranslate\(\) requires at least two arguments.
-.*/lupdate/testdata/good/parseqml2/main.qml:38: qsTranslate\(\): both arguments must be literal strings.
-.*/lupdate/testdata/good/parseqml2/main.qml:39: qsTranslate\(\): both arguments must be literal strings.
-.*/lupdate/testdata/good/parseqml2/main.qml:40: qsTranslate\(\): both arguments must be literal strings.
 .*/lupdate/testdata/good/parseqml2/main.qml:42: QT_TRANSLATE_NOOP\(\) requires at least two arguments.
 .*/lupdate/testdata/good/parseqml2/main.qml:43: QT_TRANSLATE_NOOP\(\) requires at least two arguments.
-.*/lupdate/testdata/good/parseqml2/main.qml:44: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings.
-.*/lupdate/testdata/good/parseqml2/main.qml:45: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings.
-.*/lupdate/testdata/good/parseqml2/main.qml:46: QT_TRANSLATE_NOOP\(\): both arguments must be literal strings.
 .*/lupdate/testdata/good/parseqml2/main.qml:48: qsTr\(\) requires at least one argument.
-.*/lupdate/testdata/good/parseqml2/main.qml:49: qsTr\(\): text to translate must be a literal string.
 .*/lupdate/testdata/good/parseqml2/main.qml:51: QT_TR_NOOP\(\) requires at least one argument.
-.*/lupdate/testdata/good/parseqml2/main.qml:52: QT_TR_NOOP\(\): text to translate must be a literal string.
 .*/lupdate/testdata/good/parseqml2/main.qml:54: qsTrId\(\) requires at least one argument.
-.*/lupdate/testdata/good/parseqml2/main.qml:55: qsTrId\(\): identifier must be a literal string.
 .*/lupdate/testdata/good/parseqml2/main.qml:57: QT_TRID_NOOP\(\) requires at least one argument.
-.*/lupdate/testdata/good/parseqml2/main.qml:58: QT_TRID_NOOP\(\): identifier must be a literal string.
 .*/lupdate/testdata/good/parseqml2/main.qml:60: Unexpected character in meta string
 .*/lupdate/testdata/good/parseqml2/main.qml:61: Unexpected character in meta string
 .*/lupdate/testdata/good/parseqml2/main.qml:62: Unterminated meta string