aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4string.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-10-01 16:11:55 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-02 16:07:33 +0200
commitc1d66eec1dbaf9034e03e3efa0403a774c764373 (patch)
treefa185761604cc636e77ff5f4eda2462783bc18e6 /src/qml/jsruntime/qv4string.cpp
parentd49cc03df130353665edd89112fd4e1f3cdab9b6 (diff)
Cleanup API of Safe<T>
Don't have an implicit cast operator to Returned<T> anymore, and return a T* from the operator->() Change-Id: If4165071b986bfc84a157560d94d39c2dcfbc9e1 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4string.cpp')
-rw-r--r--src/qml/jsruntime/qv4string.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/qml/jsruntime/qv4string.cpp b/src/qml/jsruntime/qv4string.cpp
index af573fb471..fd366d26ac 100644
--- a/src/qml/jsruntime/qv4string.cpp
+++ b/src/qml/jsruntime/qv4string.cpp
@@ -135,7 +135,7 @@ ReturnedValue String::get(Managed *m, const StringRef name, bool *hasProperty)
Scope scope(v4);
ScopedString that(scope, static_cast<String *>(m));
- if (name->isEqualTo(v4->id_length)) {
+ if (name->equals(v4->id_length)) {
if (hasProperty)
*hasProperty = true;
return Primitive::fromInt32(that->_text.length()).asReturnedValue();
@@ -260,6 +260,20 @@ uint String::toUInt(bool *ok) const
return UINT_MAX;
}
+bool String::equals(const StringRef other) const
+{
+ if (this == other.getPointer())
+ return true;
+ if (hashValue() != other->hashValue())
+ return false;
+ if (identifier && identifier == other->identifier)
+ return true;
+ if (subtype >= StringType_UInt && subtype == other->subtype)
+ return true;
+
+ return toQString() == other->toQString();
+}
+
void String::makeIdentifierImpl() const
{
engine()->identifierTable->identifier(this);