diff options
author | Lars Knoll <lars.knoll@qt.io> | 2018-06-25 14:58:51 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2018-07-03 08:08:31 +0000 |
commit | 2aabdd187aae8a953cfcebac8f6c1ba7b19a0727 (patch) | |
tree | 832ef17f2f6433240ec4d329421d119276152792 /src/qml/jsruntime/qv4managed_p.h | |
parent | 12d8b8c9e4ff05707df7bda479e69d997799c486 (diff) |
Unify the managed and object vtables
Allow for nullptr entries in the vtable. To nevertheless
get some decent error checking if one of the methods is
reimplemented, use a base class for Managed that contains
a full set of the vtable entries all being nullptr's.
Change-Id: Ibc53973b539f87331e8e465a6c44436a30acbefd
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4managed_p.h')
-rw-r--r-- | src/qml/jsruntime/qv4managed_p.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/qml/jsruntime/qv4managed_p.h b/src/qml/jsruntime/qv4managed_p.h index 34cf73340d..da365f706f 100644 --- a/src/qml/jsruntime/qv4managed_p.h +++ b/src/qml/jsruntime/qv4managed_p.h @@ -106,7 +106,7 @@ inline void qYouForgotTheQ_MANAGED_Macro(T1, T2) {} static Heap::InternalClass *defaultInternalClass(QV4::EngineBase *e) \ { return e->internalClasses(QV4::EngineBase::Class_##c); } -struct Q_QML_PRIVATE_EXPORT Managed : Value +struct Q_QML_PRIVATE_EXPORT Managed : Value, VTableBase { V4_MANAGED_ITSELF(Base, Managed) enum { @@ -181,8 +181,6 @@ public: bool markBit() const { return d()->isMarked(); } inline void mark(MarkStack *markStack); - static void destroy(Heap::Base *) {} - Q_ALWAYS_INLINE Heap::Base *heapObject() const { return m(); } |