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/qv4arraydata.cpp | |
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/qv4arraydata.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4arraydata.cpp | 23 |
1 files changed, 1 insertions, 22 deletions
diff --git a/src/qml/jsruntime/qv4arraydata.cpp b/src/qml/jsruntime/qv4arraydata.cpp index 74ff1e2fc3..ce1d0503df 100644 --- a/src/qml/jsruntime/qv4arraydata.cpp +++ b/src/qml/jsruntime/qv4arraydata.cpp @@ -47,26 +47,7 @@ using namespace QV4; -QT_WARNING_SUPPRESS_GCC_TAUTOLOGICAL_COMPARE_ON - -const QV4::VTable QV4::ArrayData::static_vtbl = { - nullptr, - 0, - 0, - QV4::ArrayData::IsExecutionContext, - QV4::ArrayData::IsString, - QV4::ArrayData::IsObject, - QV4::ArrayData::IsFunctionObject, - QV4::ArrayData::IsErrorObject, - QV4::ArrayData::IsArrayData, - QV4::ArrayData::IsStringOrSymbol, - QV4::ArrayData::MyType, - { 0, 0, 0, 0 }, - "ArrayData", - Q_VTABLE_FUNCTION(QV4::ArrayData, destroy), - ArrayData::Data::markObjects, - isEqualTo -}; +DEFINE_MANAGED_VTABLE(ArrayData); const ArrayVTable SimpleArrayData::static_vtbl = { @@ -100,8 +81,6 @@ const ArrayVTable SparseArrayData::static_vtbl = SparseArrayData::length }; -QT_WARNING_SUPPRESS_GCC_TAUTOLOGICAL_COMPARE_OFF - Q_STATIC_ASSERT(sizeof(Heap::ArrayData) == sizeof(Heap::SimpleArrayData)); Q_STATIC_ASSERT(sizeof(Heap::ArrayData) == sizeof(Heap::SparseArrayData)); |