diff options
author | Lars Knoll <lars.knoll@qt.io> | 2018-08-02 16:54:59 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2018-08-02 20:25:55 +0000 |
commit | a88f01364e147d9ea093bf0fdc639b45feef1788 (patch) | |
tree | cf1c49dee57f1c691eeecd633bffd0601256f236 /src/qml/qml/qqmllistwrapper.cpp | |
parent | 0d63c22eee293fe59d7691608deaaf3468045eb3 (diff) |
Implement ObjectIterator using the new iteration mechanism
And with that get rid of the old advanceIterator methods.
Change-Id: I969fa89d25df8992a4b08c8c081b91c92ffdfddd
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/qml/qqmllistwrapper.cpp')
-rw-r--r-- | src/qml/qml/qqmllistwrapper.cpp | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/src/qml/qml/qqmllistwrapper.cpp b/src/qml/qml/qqmllistwrapper.cpp index d491cd6166..54ead29131 100644 --- a/src/qml/qml/qqmllistwrapper.cpp +++ b/src/qml/qml/qqmllistwrapper.cpp @@ -140,23 +140,6 @@ bool QmlListWrapper::virtualPut(Managed *m, PropertyKey id, const Value &value, return false; } -void QmlListWrapper::virtualAdvanceIterator(Managed *m, ObjectIterator *it, Value *name, uint *index, Property *p, PropertyAttributes *attrs) -{ - name->setM(nullptr); - *index = UINT_MAX; - Q_ASSERT(m->as<QmlListWrapper>()); - QmlListWrapper *w = static_cast<QmlListWrapper *>(m); - quint32 count = w->d()->property().count ? w->d()->property().count(&w->d()->property()) : 0; - if (it->arrayIndex < count) { - *index = it->arrayIndex; - ++it->arrayIndex; - *attrs = QV4::Attr_Data; - p->value = QV4::QObjectWrapper::wrap(w->engine(), w->d()->property().at(&w->d()->property(), *index)); - return; - } - return QV4::Object::virtualAdvanceIterator(m, it, name, index, p, attrs); -} - struct QmlListWrapperOwnPropertyKeyIterator : ObjectOwnPropertyKeyIterator { ~QmlListWrapperOwnPropertyKeyIterator() override = default; |