diff options
author | Chris Adams <christopher.adams@nokia.com> | 2011-11-04 14:13:43 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-11 08:20:53 +0100 |
commit | 43c516be86fb0b825b27144a68d837b87c3e1a23 (patch) | |
tree | a597cccb04b53b259de497d7143479847c821816 /src/declarative/qml/v8/qv8sequencewrapper.cpp | |
parent | 851412e58ee70d76ecf405d113a1d29d82157e53 (diff) |
Remove unused codepaths from QV8SequenceWrapper
The object equality comparison callback does not allow an object with
a sequence resource to be equal to an object with a variant resource.
As such, the SequenceType::isEqual(QVariant) codepaths are not needed.
Also, QVariantList conversion is handled by toBasicVariant() in the
QV8Engine, and thus we don't need conversion code for this type in
the sequence wrapper.
Change-Id: I2ec599c5ad6cfdb715cd4e0aae3f0cc3bb36cfdf
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Diffstat (limited to 'src/declarative/qml/v8/qv8sequencewrapper.cpp')
-rw-r--r-- | src/declarative/qml/v8/qv8sequencewrapper.cpp | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/src/declarative/qml/v8/qv8sequencewrapper.cpp b/src/declarative/qml/v8/qv8sequencewrapper.cpp index 61fb993d8c..f63b5da4ea 100644 --- a/src/declarative/qml/v8/qv8sequencewrapper.cpp +++ b/src/declarative/qml/v8/qv8sequencewrapper.cpp @@ -89,19 +89,11 @@ void QV8SequenceWrapper::destroy() qPersistentDispose(m_constructor); } -bool QV8SequenceWrapper::isEqual(QV8ObjectResource *lhs, const QVariant &rhs) -{ - Q_ASSERT(lhs->resourceType() == QV8ObjectResource::SequenceType); - QV8SequenceResource *r = static_cast<QV8SequenceResource *>(lhs); - Q_ASSERT(r); - return r->isEqual(rhs); -} - bool QV8SequenceWrapper::isEqual(QV8ObjectResource *lhs, QV8ObjectResource *rhs) { + Q_ASSERT(lhs && rhs && lhs->resourceType() == QV8ObjectResource::SequenceType && rhs->resourceType() == QV8ObjectResource::SequenceType); QV8SequenceResource *lr = static_cast<QV8SequenceResource *>(lhs); QV8SequenceResource *rr = static_cast<QV8SequenceResource *>(rhs); - Q_ASSERT(lr && rr); return lr->isEqual(rr); } @@ -173,23 +165,7 @@ QVariant QV8SequenceWrapper::toVariant(QV8ObjectResource *r) QVariant QV8SequenceWrapper::toVariant(v8::Handle<v8::Array> array, int typeHint, bool *succeeded) { *succeeded = true; - QV8SequenceResource *sr = static_cast<QV8SequenceResource *>(array->GetExternalResource()); - if (sr) - return sr->toVariant(); - - // if no typehint is given it's just a sequence of arbitrary variants uint32_t length = array->Length(); - if (typeHint == -1) { - QVariantList list; - for (uint32_t ii = 0; ii < length; ++ii) { - v8::Local<v8::Value> arrayItem = array->Get(ii); - list.append(m_engine->toVariant(arrayItem, -1)); - } - - return list; - } - - // otherwise, try to build a sequence of the correct type FOREACH_QML_SEQUENCE_TYPE(SEQUENCE_TO_VARIANT) { /* else */ *succeeded = false; return QVariant(); } } #undef SEQUENCE_TO_VARIANT |