aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4object_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2014-04-10 18:25:45 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2014-07-22 13:48:59 +0200
commit9c6eb820939034b55f86d2fc7e67a4dfaedfc543 (patch)
tree28217740f678fcacde7c5b5d42291e66df7330f2 /src/qml/jsruntime/qv4object_p.h
parent43df154aa1d3347d81d8c6eba09871da318c417e (diff)
First step unifying data structures
Make Object::Data inherit from Managed::Data. To keep this working in the current allocation scheme, we need a dummy ObjectData in Object for now. Change-Id: I39036c0bf0431f1c2cf32dadc17a3742ff8d6831 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4object_p.h')
-rw-r--r--src/qml/jsruntime/qv4object_p.h30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/qml/jsruntime/qv4object_p.h b/src/qml/jsruntime/qv4object_p.h
index 1910737973..775b15f09b 100644
--- a/src/qml/jsruntime/qv4object_p.h
+++ b/src/qml/jsruntime/qv4object_p.h
@@ -103,26 +103,26 @@ struct URIErrorPrototype;
struct Q_QML_EXPORT Object: Managed {
- V4_OBJECT
- Q_MANAGED_TYPE(Object)
- enum {
- IsObject = true
- };
-
- struct Data {
+ struct Data : Managed::Data {
Members memberData;
ArrayData *arrayData;
};
- Data data;
+ struct {
+ Members memberData;
+ ArrayData *arrayData;
+ } __data;
+ V4_OBJECT_NEW
+ Q_MANAGED_TYPE(Object)
- const Data *objectData() const { return &data; }
- Data *objectData() { return &data; }
+ enum {
+ IsObject = true
+ };
- Members &memberData() { return objectData()->memberData; }
- Members memberData() const { return objectData()->memberData; }
- const ArrayData *arrayData() const { return objectData()->arrayData; }
- ArrayData *arrayData() { return objectData()->arrayData; }
- void setArrayData(ArrayData *a) { objectData()->arrayData = a; }
+ Members &memberData() { return d()->memberData; }
+ Members memberData() const { return d()->memberData; }
+ const ArrayData *arrayData() const { return d()->arrayData; }
+ ArrayData *arrayData() { return d()->arrayData; }
+ void setArrayData(ArrayData *a) { d()->arrayData = a; }
Property *propertyAt(uint index) const { return reinterpret_cast<Property *>(memberData().data() + index); }