aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Faure <david.faure@kdab.com>2020-11-06 20:20:23 +0100
committerDavid Faure <david.faure@kdab.com>2020-11-07 11:13:39 +0100
commit4f98bf713f6604903c4fe61adc750b23c4407a18 (patch)
treefbd2c6a57414a34665312b23c7b82e582df15ee3
parentc1d4fcb4648fec3396081d24280fbd6cfb9adb4d (diff)
qtdeclarative: finish fixing compilation with explicit QChar(int)
Change-Id: Idb26e2df6d4fe8940db57066a30fa8c243f6d2c9 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
-rw-r--r--src/qml/jsapi/qjsengine.cpp2
-rw-r--r--src/qml/jsruntime/qv4function.cpp2
-rw-r--r--src/qml/jsruntime/qv4globalobject.cpp2
-rw-r--r--src/qml/jsruntime/qv4jsonobject.cpp31
-rw-r--r--src/qml/jsruntime/qv4stringobject.cpp6
-rw-r--r--src/qml/parser/qqmljslexer.cpp2
-rw-r--r--tests/auto/qml/qqmlproperty/tst_qqmlproperty.cpp4
-rw-r--r--tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp2
8 files changed, 26 insertions, 25 deletions
diff --git a/src/qml/jsapi/qjsengine.cpp b/src/qml/jsapi/qjsengine.cpp
index a96ded68f0..0363e9b76e 100644
--- a/src/qml/jsapi/qjsengine.cpp
+++ b/src/qml/jsapi/qjsengine.cpp
@@ -788,7 +788,7 @@ bool QJSEngine::convertV2(const QJSValue &value, int type, void *ptr)
*reinterpret_cast<unsigned char*>(ptr) = QV4::Value::toUInt32(d);
return true;
case QMetaType::QChar:
- *reinterpret_cast<QChar*>(ptr) = QV4::Value::toUInt32(d);
+ *reinterpret_cast<QChar*>(ptr) = QChar(QV4::Value::toUInt32(d));
return true;
case QMetaType::Char16:
*reinterpret_cast<char16_t *>(ptr) = QV4::Value::toUInt32(d);
diff --git a/src/qml/jsruntime/qv4function.cpp b/src/qml/jsruntime/qv4function.cpp
index 76eda5dcde..8164bae549 100644
--- a/src/qml/jsruntime/qv4function.cpp
+++ b/src/qml/jsruntime/qv4function.cpp
@@ -143,7 +143,7 @@ void Function::updateInternalClass(ExecutionEngine *engine, const QList<QByteArr
const QString &dup = parameterNames[duplicate];
parameterNames.append(dup);
parameterNames[duplicate] =
- QString(0xfffe) + QString::number(duplicate) + dup;
+ QString(QChar(0xfffe)) + QString::number(duplicate) + dup;
}
}
diff --git a/src/qml/jsruntime/qv4globalobject.cpp b/src/qml/jsruntime/qv4globalobject.cpp
index 5295bb7232..879ea4a966 100644
--- a/src/qml/jsruntime/qv4globalobject.cpp
+++ b/src/qml/jsruntime/qv4globalobject.cpp
@@ -122,7 +122,7 @@ static QString unescape(const QString &input)
int d1 = fromHex(a.unicode());
int d0 = fromHex(input.at(i+1).unicode());
if ((d1 != -1) && (d0 != -1)) {
- c = (d1 << 4) | d0;
+ c = QChar((d1 << 4) | d0);
i += 2;
}
result.append(c);
diff --git a/src/qml/jsruntime/qv4jsonobject.cpp b/src/qml/jsruntime/qv4jsonobject.cpp
index 2007c775c4..c580fd2bf5 100644
--- a/src/qml/jsruntime/qv4jsonobject.cpp
+++ b/src/qml/jsruntime/qv4jsonobject.cpp
@@ -125,12 +125,13 @@ enum {
bool JsonParser::eatSpace()
{
while (json < end) {
- if (*json > Space)
+ const char16_t ch = json->unicode();
+ if (ch > Space)
break;
- if (*json != Space &&
- *json != Tab &&
- *json != LineFeed &&
- *json != Return)
+ if (ch != Space &&
+ ch != Tab &&
+ ch != LineFeed &&
+ ch != Return)
break;
++json;
}
@@ -140,7 +141,7 @@ bool JsonParser::eatSpace()
QChar JsonParser::nextToken()
{
if (!eatSpace())
- return 0;
+ return u'\0';
QChar token = *json++;
switch (token.unicode()) {
case BeginArray:
@@ -153,7 +154,7 @@ QChar JsonParser::nextToken()
case Quote:
break;
default:
- token = 0;
+ token = u'\0';
break;
}
return token;
@@ -216,21 +217,21 @@ ReturnedValue JsonParser::parseObject()
ScopedObject o(scope, engine->newObject());
QChar token = nextToken();
- while (token == Quote) {
+ while (token.unicode() == Quote) {
if (!parseMember(o))
return Encode::undefined();
token = nextToken();
- if (token != ValueSeparator)
+ if (token.unicode() != ValueSeparator)
break;
token = nextToken();
- if (token == EndObject) {
+ if (token.unicode() == EndObject) {
lastError = QJsonParseError::MissingObject;
return Encode::undefined();
}
}
DEBUG << "end token=" << token;
- if (token != EndObject) {
+ if (token.unicode() != EndObject) {
lastError = QJsonParseError::UnterminatedObject;
return Encode::undefined();
}
@@ -253,7 +254,7 @@ bool JsonParser::parseMember(Object *o)
if (!parseString(&key))
return false;
QChar token = nextToken();
- if (token != NameSeparator) {
+ if (token.unicode() != NameSeparator) {
lastError = QJsonParseError::MissingNameSeparator;
return false;
}
@@ -292,7 +293,7 @@ ReturnedValue JsonParser::parseArray()
lastError = QJsonParseError::UnterminatedArray;
return Encode::undefined();
}
- if (*json == EndArray) {
+ if (json->unicode() == EndArray) {
nextToken();
} else {
uint index = 0;
@@ -302,9 +303,9 @@ ReturnedValue JsonParser::parseArray()
return Encode::undefined();
array->arraySet(index, val);
QChar token = nextToken();
- if (token == EndArray)
+ if (token.unicode() == EndArray)
break;
- else if (token != ValueSeparator) {
+ else if (token.unicode() != ValueSeparator) {
if (!eatSpace())
lastError = QJsonParseError::UnterminatedArray;
else
diff --git a/src/qml/jsruntime/qv4stringobject.cpp b/src/qml/jsruntime/qv4stringobject.cpp
index e9e47c1b52..e710e14750 100644
--- a/src/qml/jsruntime/qv4stringobject.cpp
+++ b/src/qml/jsruntime/qv4stringobject.cpp
@@ -230,7 +230,7 @@ ReturnedValue StringCtor::method_fromCodePoint(const FunctionObject *f, const Va
++ch;
*ch = QChar::lowSurrogate(cp);
} else {
- *ch = cp;
+ *ch = QChar(cp);
}
++ch;
}
@@ -653,7 +653,7 @@ ReturnedValue StringPrototype::method_padEnd(const FunctionObject *f, const Valu
toFill -= copy;
ch += copy;
}
- *ch = 0;
+ *ch = '\0';
return v4->newString(padded)->asReturnedValue();
}
@@ -695,7 +695,7 @@ ReturnedValue StringPrototype::method_padStart(const FunctionObject *f, const Va
}
memcpy(ch, original.constData(), oldLength*sizeof(QChar));
ch += oldLength;
- *ch = 0;
+ *ch = '\0';
return v4->newString(padded)->asReturnedValue();
}
diff --git a/src/qml/parser/qqmljslexer.cpp b/src/qml/parser/qqmljslexer.cpp
index df1789c4b3..0c4b2ef32f 100644
--- a/src/qml/parser/qqmljslexer.cpp
+++ b/src/qml/parser/qqmljslexer.cpp
@@ -993,7 +993,7 @@ int Lexer::scanString(ScanStringMode mode)
_tokenText += QChar(QChar::highSurrogate(codePoint));
u = QChar::lowSurrogate(codePoint);
} else {
- u = codePoint;
+ u = QChar(codePoint);
}
} break;
diff --git a/tests/auto/qml/qqmlproperty/tst_qqmlproperty.cpp b/tests/auto/qml/qqmlproperty/tst_qqmlproperty.cpp
index 6505cb46c6..5a2a1be51f 100644
--- a/tests/auto/qml/qqmlproperty/tst_qqmlproperty.cpp
+++ b/tests/auto/qml/qqmlproperty/tst_qqmlproperty.cpp
@@ -415,7 +415,7 @@ public:
QString stringProperty() const { return m_stringProperty;}
QChar qcharProperty() const { return m_qcharProperty; }
- QChar constQChar() const { return 0x25cf; /* Unicode: black circle */ }
+ QChar constQChar() const { return u'\u25cf'; /* Unicode: black circle */ }
void setStringProperty(QString arg) { m_stringProperty = arg; }
void setQcharProperty(QChar arg) { m_qcharProperty = arg; }
@@ -1454,7 +1454,7 @@ void tst_qqmlproperty::write()
QQmlProperty qcharProperty(&o, "qcharProperty");
QQmlProperty stringProperty(&o, "stringProperty");
- const int black_circle = 0x25cf;
+ const char16_t black_circle = 0x25cf;
QCOMPARE(qcharProperty.write(QString("foo")), false);
QCOMPARE(qcharProperty.write('Q'), true);
diff --git a/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp b/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp
index 0cbfc958cf..2829ab08a1 100644
--- a/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp
+++ b/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp
@@ -1714,7 +1714,7 @@ void tst_qqmlvaluetypes::sequences()
QCOMPARE(value.property(i).property("baseProperty").toInt(), container.at(i).baseProperty());
}
{
- QVector<QChar> qcharVector{1, 4, 42, 8, 15};
+ QVector<QChar> qcharVector{QChar(1), QChar(4), QChar(42), QChar(8), QChar(15)};
QJSValue value = engine.toScriptValue(qcharVector);
QCOMPARE(value.property("length").toInt(), qcharVector.length());
for (int i = 0; i < qcharVector.length(); ++i)