From 5117c8e79c6d3933a0724b78fde9297a03741239 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Mon, 3 Nov 2014 20:41:17 +0100 Subject: Move more Data members over to the Heap namespace Change-Id: I74347da3f0f47220bb1f8cf13b872b547fd18a4d Reviewed-by: Simon Hausmann --- src/qml/jsruntime/qv4objectiterator_p.h | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'src/qml/jsruntime/qv4objectiterator_p.h') diff --git a/src/qml/jsruntime/qv4objectiterator_p.h b/src/qml/jsruntime/qv4objectiterator_p.h index dfd9b0fb34..4398ea9b5a 100644 --- a/src/qml/jsruntime/qv4objectiterator_p.h +++ b/src/qml/jsruntime/qv4objectiterator_p.h @@ -67,17 +67,17 @@ private: ObjectIterator(Value *scratch1, Value *scratch2, uint flags); // Constructor that requires calling init() }; +namespace Heap { +struct ForEachIteratorObject : Object { + ForEachIteratorObject(QV4::ExecutionEngine *engine, QV4::Object *o); + ObjectIterator it; + Value workArea[2]; +}; + +} + struct ForEachIteratorObject: Object { - struct Data : Heap::Object { - Data(ExecutionEngine *engine, QV4::Object *o) - : Heap::Object(engine) - , it(workArea, workArea + 1, o, ObjectIterator::EnumerableOnly|ObjectIterator::WithProtoChain) { - setVTable(staticVTable()); - } - ObjectIterator it; - Value workArea[2]; - }; - V4_OBJECT(Object) + V4_OBJECT2(ForEachIteratorObject, Object) Q_MANAGED_TYPE(ForeachIteratorObject) ReturnedValue nextPropertyName() { return d()->it.nextPropertyNameAsString(); } @@ -86,6 +86,14 @@ protected: static void markObjects(Heap::Base *that, ExecutionEngine *e); }; +inline +Heap::ForEachIteratorObject::ForEachIteratorObject(QV4::ExecutionEngine *engine, QV4::Object *o) + : Heap::Object(engine) + , it(workArea, workArea + 1, o, ObjectIterator::EnumerableOnly|ObjectIterator::WithProtoChain) +{ + setVTable(QV4::ForEachIteratorObject::staticVTable()); +} + } -- cgit v1.2.3