diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-10-01 16:11:55 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-10-02 16:07:33 +0200 |
commit | c1d66eec1dbaf9034e03e3efa0403a774c764373 (patch) | |
tree | fa185761604cc636e77ff5f4eda2462783bc18e6 /src/qml/jsruntime/qv4string.cpp | |
parent | d49cc03df130353665edd89112fd4e1f3cdab9b6 (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.cpp | 16 |
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); |