aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/v8/qv8sequencewrapper.cpp
diff options
context:
space:
mode:
authorChris Adams <christopher.adams@nokia.com>2011-11-04 14:13:43 +1000
committerQt by Nokia <qt-info@nokia.com>2011-11-11 08:20:53 +0100
commit43c516be86fb0b825b27144a68d837b87c3e1a23 (patch)
treea597cccb04b53b259de497d7143479847c821816 /src/declarative/qml/v8/qv8sequencewrapper.cpp
parent851412e58ee70d76ecf405d113a1d29d82157e53 (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.cpp26
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