diff options
author | Lars Knoll <lars.knoll@theqtcompany.com> | 2014-11-01 23:50:32 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-11-08 16:39:32 +0100 |
commit | c2da8abde56d2010d3e7cb234570079f06d8a441 (patch) | |
tree | e3185e7f99c66130d615e855af3435ba102d51a4 /src/qml/jsruntime/qv4managed_p.h | |
parent | da2396478f04aa66d521e53ff24488e72c87d895 (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.h | 13 |
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 }; |