aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4managed_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@theqtcompany.com>2014-11-01 23:50:32 +0100
committerSimon Hausmann <simon.hausmann@digia.com>2014-11-08 16:39:32 +0100
commitc2da8abde56d2010d3e7cb234570079f06d8a441 (patch)
treee3185e7f99c66130d615e855af3435ba102d51a4 /src/qml/jsruntime/qv4managed_p.h
parentda2396478f04aa66d521e53ff24488e72c87d895 (diff)
Move Object::Data into the Heap namespace
Change-Id: I9d30081f71b83bc86f5e5714e23396b18c4d54c5 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4managed_p.h')
-rw-r--r--src/qml/jsruntime/qv4managed_p.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/qml/jsruntime/qv4managed_p.h b/src/qml/jsruntime/qv4managed_p.h
index 81c9e81e22..116be8678f 100644
--- a/src/qml/jsruntime/qv4managed_p.h
+++ b/src/qml/jsruntime/qv4managed_p.h
@@ -82,6 +82,19 @@ inline void qYouForgotTheQ_MANAGED_Macro(T1, T2) {}
const Data *d() const { return &static_cast<const Data &>(Managed::data); } \
Data *d() { return &static_cast<Data &>(Managed::data); }
+#define V4_OBJECT2(DataClass, superClass) \
+ public: \
+ Q_MANAGED_CHECK \
+ typedef QV4::Heap::DataClass Data; \
+ typedef superClass SuperClass; \
+ static const QV4::ObjectVTable static_vtbl; \
+ static inline const QV4::ManagedVTable *staticVTable() { return &static_vtbl.managedVTable; } \
+ template <typename _T> \
+ QV4::Returned<_T> *asReturned() { return QV4::Returned<_T>::create(this); } \
+ V4_MANAGED_SIZE_TEST \
+ const QV4::Heap::DataClass *d() const { return &static_cast<const QV4::Heap::DataClass &>(Managed::data); } \
+ QV4::Heap::DataClass *d() { return &static_cast<QV4::Heap::DataClass &>(Managed::data); }
+
#define Q_MANAGED_TYPE(type) \
public: \
enum { MyType = Type_##type };