aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4objectiterator_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@theqtcompany.com>2014-11-03 20:41:17 +0100
committerSimon Hausmann <simon.hausmann@digia.com>2014-11-08 19:47:43 +0100
commit5117c8e79c6d3933a0724b78fde9297a03741239 (patch)
treef1711d94d4bbaa4782dba2e3b4ca4127a4239491 /src/qml/jsruntime/qv4objectiterator_p.h
parentef8ad8234b481d3985d748f7607ef486e1af086f (diff)
Move more Data members over to the Heap namespace
Change-Id: I74347da3f0f47220bb1f8cf13b872b547fd18a4d Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4objectiterator_p.h')
-rw-r--r--src/qml/jsruntime/qv4objectiterator_p.h28
1 files changed, 18 insertions, 10 deletions
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());
+}
+
}