diff options
Diffstat (limited to 'src/qml/jsruntime')
-rw-r--r-- | src/qml/jsruntime/qv4string.cpp | 12 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4string_p.h | 2 |
2 files changed, 11 insertions, 3 deletions
diff --git a/src/qml/jsruntime/qv4string.cpp b/src/qml/jsruntime/qv4string.cpp index 7ac83ced02..37508e79f6 100644 --- a/src/qml/jsruntime/qv4string.cpp +++ b/src/qml/jsruntime/qv4string.cpp @@ -359,7 +359,7 @@ void String::createHashValue() const // array indices get their number as hash value bool ok; - stringHash = toArrayIndex(ch, end, &ok); + stringHash = ::toArrayIndex(ch, end, &ok); if (ok) { subtype = (stringHash == UINT_MAX) ? StringType_UInt : StringType_ArrayIndex; return; @@ -381,7 +381,7 @@ uint String::createHashValue(const QChar *ch, int length) // array indices get their number as hash value bool ok; - uint stringHash = toArrayIndex(ch, end, &ok); + uint stringHash = ::toArrayIndex(ch, end, &ok); if (ok) return stringHash; @@ -400,7 +400,7 @@ uint String::createHashValue(const char *ch, int length) // array indices get their number as hash value bool ok; - uint stringHash = toArrayIndex(ch, end, &ok); + uint stringHash = ::toArrayIndex(ch, end, &ok); if (ok) return stringHash; @@ -414,3 +414,9 @@ uint String::createHashValue(const char *ch, int length) return h; } + +uint String::toArrayIndex(const QString &str) +{ + bool ok; + return ::toArrayIndex(str.constData(), str.constData() + str.length(), &ok); +} diff --git a/src/qml/jsruntime/qv4string_p.h b/src/qml/jsruntime/qv4string_p.h index bb6f1d2279..545e08de78 100644 --- a/src/qml/jsruntime/qv4string_p.h +++ b/src/qml/jsruntime/qv4string_p.h @@ -140,6 +140,8 @@ struct Q_QML_EXPORT String : public Managed { return len; } + static uint toArrayIndex(const QString &str); + union { mutable QStringData *_text; mutable String *left; |