Move Object::Data into the Heap namespace
authorLars Knoll <lars.knoll@theqtcompany.com>
Sat, 1 Nov 2014 22:50:32 +0000 (23:50 +0100)
committerSimon Hausmann <simon.hausmann@digia.com>
Sat, 8 Nov 2014 15:39:32 +0000 (16:39 +0100)
Change-Id: I9d30081f71b83bc86f5e5714e23396b18c4d54c5
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
54 files changed:
src/imports/localstorage/plugin.cpp
src/particles/qquickv4particledata.cpp
src/qml/jsruntime/qv4argumentsobject.cpp
src/qml/jsruntime/qv4argumentsobject_p.h
src/qml/jsruntime/qv4arraybuffer.cpp
src/qml/jsruntime/qv4arraybuffer_p.h
src/qml/jsruntime/qv4context.cpp
src/qml/jsruntime/qv4context_p.h
src/qml/jsruntime/qv4dataview.cpp
src/qml/jsruntime/qv4dataview_p.h
src/qml/jsruntime/qv4dateobject.cpp
src/qml/jsruntime/qv4dateobject_p.h
src/qml/jsruntime/qv4errorobject.cpp
src/qml/jsruntime/qv4errorobject_p.h
src/qml/jsruntime/qv4functionobject.cpp
src/qml/jsruntime/qv4functionobject_p.h
src/qml/jsruntime/qv4jsonobject.cpp
src/qml/jsruntime/qv4jsonobject_p.h
src/qml/jsruntime/qv4managed_p.h
src/qml/jsruntime/qv4mathobject.cpp
src/qml/jsruntime/qv4mathobject_p.h
src/qml/jsruntime/qv4object.cpp
src/qml/jsruntime/qv4object_p.h
src/qml/jsruntime/qv4objectiterator_p.h
src/qml/jsruntime/qv4qobjectwrapper.cpp
src/qml/jsruntime/qv4qobjectwrapper_p.h
src/qml/jsruntime/qv4regexpobject.cpp
src/qml/jsruntime/qv4regexpobject_p.h
src/qml/jsruntime/qv4script.cpp
src/qml/jsruntime/qv4script_p.h
src/qml/jsruntime/qv4sequenceobject.cpp
src/qml/jsruntime/qv4stringobject.cpp
src/qml/jsruntime/qv4stringobject_p.h
src/qml/jsruntime/qv4typedarray.cpp
src/qml/jsruntime/qv4typedarray_p.h
src/qml/jsruntime/qv4variantobject.cpp
src/qml/jsruntime/qv4variantobject_p.h
src/qml/qml/qqmlcomponent.cpp
src/qml/qml/qqmlcontextwrapper.cpp
src/qml/qml/qqmlcontextwrapper_p.h
src/qml/qml/qqmllistwrapper.cpp
src/qml/qml/qqmllistwrapper_p.h
src/qml/qml/qqmllocale_p.h
src/qml/qml/qqmltypewrapper.cpp
src/qml/qml/qqmltypewrapper_p.h
src/qml/qml/qqmlvaluetypewrapper.cpp
src/qml/qml/qqmlvaluetypewrapper_p.h
src/qml/qml/qqmlxmlhttprequest.cpp
src/qml/qml/v8/qqmlbuiltinfunctions.cpp
src/qml/qml/v8/qqmlbuiltinfunctions_p.h
src/qml/types/qqmldelegatemodel.cpp
src/qml/types/qqmldelegatemodel_p_p.h
src/quick/items/context2d/qquickcontext2d.cpp
src/quick/items/qquickview_p.h

index 8133202..72e9da7 100644 (file)
@@ -98,7 +98,7 @@ public:
     enum Type { Database, Query, Rows };
     struct Data : Object::Data {
         Data(ExecutionEngine *e)
-            : Object::Data(e)
+            : QV4::Heap::Object(e)
         {
             setVTable(staticVTable());
             type = Database;
index 90eeca7..e40e476 100644 (file)
@@ -267,7 +267,7 @@ struct QV4ParticleData : public QV4::Object
 {
     struct Data : QV4::Object::Data {
         Data(QV4::ExecutionEngine *engine, QQuickParticleData *datum)
-            : Object::Data(engine)
+            : QV4::Heap::Object(engine)
             , datum(datum)
         {
             setVTable(QV4ParticleData::staticVTable());
index 209d99f..4734c9e 100644 (file)
@@ -39,7 +39,7 @@ using namespace QV4;
 DEFINE_OBJECT_VTABLE(ArgumentsObject);
 
 ArgumentsObject::Data::Data(CallContext *context)
-    : Object::Data(context->d()->strictMode ? context->d()->engine->strictArgumentsObjectClass : context->d()->engine->argumentsObjectClass)
+    : Heap::Object(context->d()->strictMode ? context->d()->engine->strictArgumentsObjectClass : context->d()->engine->argumentsObjectClass)
     , context(context)
     , fullyCreated(false)
 {
index 28b03c5..ff233da 100644 (file)
@@ -78,7 +78,7 @@ struct ArgumentsSetterFunction: FunctionObject
 
 
 struct ArgumentsObject: Object {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(CallContext *context);
         CallContext *context;
         bool fullyCreated;
index 82ab2a2..134228e 100644 (file)
@@ -84,7 +84,7 @@ ReturnedValue ArrayBufferCtor::method_isView(CallContext *ctx)
 
 
 ArrayBuffer::Data::Data(ExecutionEngine *e, int length)
-    : Object::Data(e->arrayBufferClass)
+    : Heap::Object(e->arrayBufferClass)
 {
     data = QTypedArrayData<char>::allocate(length + 1);
     if (!data) {
index 57ee34e..6941a51 100644 (file)
@@ -57,7 +57,7 @@ struct ArrayBufferCtor: FunctionObject
 
 struct ArrayBuffer : Object
 {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *e, int length);
         QTypedArrayData<char> *data;
     };
index 72bf041..cdc8222 100644 (file)
@@ -134,7 +134,7 @@ Heap::GlobalContext::GlobalContext(ExecutionEngine *eng)
     global = eng->globalObject;
 }
 
-Heap::WithContext::WithContext(ExecutionEngine *engine, Object *with)
+Heap::WithContext::WithContext(ExecutionEngine *engine, QV4::Object *with)
     : Heap::ExecutionContext(engine, Heap::ExecutionContext::Type_WithContext)
 {
     callData = parent->d()->callData;
@@ -158,7 +158,7 @@ Heap::CatchContext::CatchContext(ExecutionEngine *engine, String *exceptionVarNa
     this->exceptionValue = exceptionValue;
 }
 
-Heap::CallContext::CallContext(ExecutionEngine *engine, Object *qml, FunctionObject *function)
+Heap::CallContext::CallContext(ExecutionEngine *engine, QV4::Object *qml, FunctionObject *function)
     : Heap::ExecutionContext(engine, Heap::ExecutionContext::Type_QmlContext)
 {
     this->function = function;
index 80ed904..c7066d8 100644 (file)
@@ -129,7 +129,7 @@ struct CatchContext : ExecutionContext {
 };
 
 struct WithContext : ExecutionContext {
-    WithContext(ExecutionEngine *engine, Object *with);
+    WithContext(ExecutionEngine *engine, QV4::Object *with);
     Object *withObject;
 };
 
index 4d7e065..df689c6 100644 (file)
@@ -77,7 +77,7 @@ ReturnedValue DataViewCtor::call(Managed *that, CallData *callData)
 
 
 DataView::Data::Data(ExecutionEngine *e)
-    : Object::Data(e->dataViewClass),
+    : Heap::Object(e->dataViewClass),
       buffer(0),
       byteLength(0),
       byteOffset(0)
index e1a8aa7..df0ed88 100644 (file)
@@ -56,7 +56,7 @@ struct DataViewCtor: FunctionObject
 
 struct DataView : Object
 {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *e);
         ArrayBuffer *buffer;
         uint byteLength;
index 2572716..9b3510f 100644 (file)
@@ -635,7 +635,7 @@ static double getLocalTZA()
 DEFINE_OBJECT_VTABLE(DateObject);
 
 DateObject::Data::Data(ExecutionEngine *engine, const QDateTime &date)
-    : Object::Data(engine->dateClass)
+    : Heap::Object(engine->dateClass)
 {
     setVTable(staticVTable());
     value.setDouble(date.isValid() ? date.toMSecsSinceEpoch() : qSNaN());
index abab539..dfc17b3 100644 (file)
@@ -44,15 +44,15 @@ class QDateTime;
 namespace QV4 {
 
 struct DateObject: Object {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *engine, const ValueRef date)
-            : Object::Data(engine->dateClass)
+            : Heap::Object(engine->dateClass)
         {
             value = date;
         }
         Data(ExecutionEngine *engine, const QDateTime &date);
         Data(InternalClass *ic)
-            : Object::Data(ic)
+            : Heap::Object(ic)
         {
             Q_ASSERT(internalClass->vtable == staticVTable());
             value = Primitive::fromDouble(qSNaN());
index f0c151a..d05d3b1 100644 (file)
@@ -64,7 +64,7 @@
 using namespace QV4;
 
 ErrorObject::Data::Data(InternalClass *ic)
-    : Object::Data(ic)
+    : Heap::Object(ic)
 {
     Scope scope(ic->engine);
     Scoped<ErrorObject> e(scope, this);
@@ -74,7 +74,7 @@ ErrorObject::Data::Data(InternalClass *ic)
 }
 
 ErrorObject::Data::Data(InternalClass *ic, const ValueRef message, ErrorType t)
-    : Object::Data(ic)
+    : Heap::Object(ic)
 {
     subtype = t;
 
@@ -96,7 +96,7 @@ ErrorObject::Data::Data(InternalClass *ic, const ValueRef message, ErrorType t)
 }
 
 ErrorObject::Data::Data(InternalClass *ic, const QString &message, ErrorObject::ErrorType t)
-    : Object::Data(ic)
+    : Heap::Object(ic)
 {
     subtype = t;
 
@@ -118,7 +118,7 @@ ErrorObject::Data::Data(InternalClass *ic, const QString &message, ErrorObject::
 }
 
 ErrorObject::Data::Data(InternalClass *ic, const QString &message, const QString &fileName, int line, int column, ErrorObject::ErrorType t)
-    : Object::Data(ic)
+    : Heap::Object(ic)
 {
     subtype = t;
 
index 359395e..7105050 100644 (file)
@@ -56,7 +56,7 @@ struct ErrorObject: Object {
         TypeError,
         URIError
     };
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(InternalClass *ic);
         Data(InternalClass *ic, const ValueRef message, ErrorType t = Error);
         Data(InternalClass *ic, const QString &message, ErrorType t = Error);
index 216f732..cfe4af9 100644 (file)
@@ -63,7 +63,7 @@ using namespace QV4;
 DEFINE_OBJECT_VTABLE(FunctionObject);
 
 FunctionObject::Data::Data(ExecutionContext *scope, String *name, bool createProto)
-    : Object::Data(scope->d()->engine->functionClass)
+    : Heap::Object(scope->d()->engine->functionClass)
     , scope(scope)
 {
     Scope s(scope);
@@ -73,7 +73,7 @@ FunctionObject::Data::Data(ExecutionContext *scope, String *name, bool createPro
 
 
 FunctionObject::Data::Data(ExecutionContext *scope, const QString &name, bool createProto)
-    : Object::Data(scope->d()->engine->functionClass)
+    : Heap::Object(scope->d()->engine->functionClass)
     , scope(scope)
 {
     Scope s(scope);
@@ -83,7 +83,7 @@ FunctionObject::Data::Data(ExecutionContext *scope, const QString &name, bool cr
 }
 
 FunctionObject::Data::Data(ExecutionContext *scope, const ReturnedValue name)
-    : Object::Data(scope->d()->engine->functionClass)
+    : Heap::Object(scope->d()->engine->functionClass)
     , scope(scope)
 {
     Scope s(scope);
@@ -93,7 +93,7 @@ FunctionObject::Data::Data(ExecutionContext *scope, const ReturnedValue name)
 }
 
 FunctionObject::Data::Data(InternalClass *ic)
-    : Object::Data(ic)
+    : Heap::Object(ic)
     , scope(ic->engine->rootContext)
 {
     Scope scope(ic->engine);
index 58b9571..f19a326 100644 (file)
@@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE
 namespace QV4 {
 
 struct Q_QML_EXPORT FunctionObject: Object {
-    struct Q_QML_PRIVATE_EXPORT Data : Object::Data {
+    struct Q_QML_PRIVATE_EXPORT Data : Heap::Object {
         Data(ExecutionContext *scope, String *name, bool createProto = false);
         Data(ExecutionContext *scope, const QString &name = QString(), bool createProto = false);
         Data(ExecutionContext *scope, const ReturnedValue name);
index 74cf26c..2c19d8e 100644 (file)
@@ -878,7 +878,7 @@ QString Stringify::JA(ArrayObject *a)
 
 
 JsonObject::Data::Data(InternalClass *ic)
-    : Object::Data(ic)
+    : Heap::Object(ic)
 {
     Scope scope(ic->engine);
     ScopedObject o(scope, this);
index 6b98401..07c8040 100644 (file)
@@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE
 namespace QV4 {
 
 struct JsonObject : Object {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(InternalClass *ic);
     };
     Q_MANAGED_TYPE(JsonObject)
index 81c9e81..116be86 100644 (file)
@@ -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 };
index 1148b0f..78d24f5 100644 (file)
@@ -48,7 +48,7 @@ DEFINE_OBJECT_VTABLE(MathObject);
 static const double qt_PI = 2.0 * ::asin(1.0);
 
 MathObject::Data::Data(InternalClass *ic)
-    : Object::Data(ic)
+    : Heap::Object(ic)
 {
     Scope scope(ic->engine);
     ScopedObject m(scope, this);
index ab50b01..4d135c4 100644 (file)
@@ -41,7 +41,7 @@ namespace QV4 {
 
 struct MathObject: Object
 {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(InternalClass *ic);
     };
 
index 0859537..365525b 100644 (file)
@@ -49,7 +49,7 @@ using namespace QV4;
 
 DEFINE_OBJECT_VTABLE(Object);
 
-Object::Data::Data(InternalClass *internalClass)
+Heap::Object::Object(InternalClass *internalClass)
     : Heap::Base(internalClass)
 {
     if (internalClass->size) {
@@ -180,7 +180,7 @@ void Object::defineReadonlyProperty(String *name, ValueRef value)
 
 void Object::markObjects(Heap::Base *that, ExecutionEngine *e)
 {
-    Object::Data *o = static_cast<Object::Data *>(that);
+    Heap::Object *o = static_cast<Heap::Object *>(that);
 
     if (o->memberData)
         o->memberData->mark(e);
@@ -1130,7 +1130,7 @@ void Object::initSparseArray()
 DEFINE_OBJECT_VTABLE(ArrayObject);
 
 ArrayObject::Data::Data(ExecutionEngine *engine, const QStringList &list)
-    : Object::Data(engine->arrayClass)
+    : Heap::Object(engine->arrayClass)
 {
     init();
     Scope scope(engine);
index ac3490c..4a6e3b6 100644 (file)
@@ -41,18 +41,23 @@ QT_BEGIN_NAMESPACE
 
 namespace QV4 {
 
-struct Q_QML_EXPORT Object: Managed {
-    struct Data : Heap::Base {
-        Data(ExecutionEngine *engine)
-            : Heap::Base(engine->objectClass)
-        {
-        }
-        Data(InternalClass *internal = 0);
+namespace Heap {
 
-        Heap::MemberData *memberData;
-        Heap::ArrayData *arrayData;
-    };
-    V4_OBJECT(Object)
+struct Object : Base {
+    Object(ExecutionEngine *engine)
+        : Base(engine->objectClass)
+    {
+    }
+    Object(InternalClass *internal = 0);
+
+    MemberData *memberData;
+    ArrayData *arrayData;
+};
+
+}
+
+struct Q_QML_EXPORT Object: Managed {
+    V4_OBJECT2(Object, Object)
     Q_MANAGED_TYPE(Object)
 
     enum {
@@ -259,14 +264,14 @@ private:
 };
 
 struct BooleanObject: Object {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *engine, const ValueRef val)
-            : Object::Data(engine->booleanClass)
+            : Heap::Object(engine->booleanClass)
         {
             value = val;
         }
         Data(InternalClass *ic)
-            : Object::Data(ic)
+            : Heap::Object(ic)
         {
             Q_ASSERT(internalClass->vtable == staticVTable());
             value = Encode(false);
@@ -281,13 +286,13 @@ struct BooleanObject: Object {
 };
 
 struct NumberObject: Object {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *engine, const ValueRef val)
-            : Object::Data(engine->numberClass) {
+            : Heap::Object(engine->numberClass) {
             value = val;
         }
         Data(InternalClass *ic)
-            : Object::Data(ic) {
+            : Heap::Object(ic) {
             Q_ASSERT(internalClass->vtable == staticVTable());
             value = Encode((int)0);
         }
@@ -301,10 +306,10 @@ struct NumberObject: Object {
 };
 
 struct ArrayObject: Object {
-    struct Data : Object::Data {
-        Data(ExecutionEngine *engine) : Object::Data(engine->arrayClass) { init(); }
+    struct Data : Heap::Object {
+        Data(ExecutionEngine *engine) : Heap::Object(engine->arrayClass) { init(); }
         Data(ExecutionEngine *engine, const QStringList &list);
-        Data(InternalClass *ic) : Object::Data(ic) { init(); }
+        Data(InternalClass *ic) : Heap::Object(ic) { init(); }
         void init()
         { memberData->data[LengthPropertyIndex] = Primitive::fromInt32(0); }
     };
index 00d7c49..dfd9b0f 100644 (file)
@@ -68,9 +68,9 @@ private:
 };
 
 struct ForEachIteratorObject: Object {
-    struct Data : Object::Data {
-        Data(ExecutionEngine *engine, Object *o)
-            : Object::Data(engine)
+    struct Data : Heap::Object {
+        Data(ExecutionEngine *engine, QV4::Object *o)
+            : Heap::Object(engine)
             , it(workArea, workArea + 1, o, ObjectIterator::EnumerableOnly|ObjectIterator::WithProtoChain) {
             setVTable(staticVTable());
         }
index 23ce1e1..480d123 100644 (file)
@@ -234,7 +234,7 @@ static QV4::ReturnedValue LoadProperty(QV8Engine *engine, QObject *object,
 }
 
 QObjectWrapper::Data::Data(ExecutionEngine *engine, QObject *object)
-    : Object::Data(engine)
+    : Heap::Object(engine)
     , object(object)
 {
     setVTable(staticVTable());
@@ -1890,7 +1890,7 @@ ReturnedValue QObjectMethod::callInternal(CallData *callData)
 DEFINE_OBJECT_VTABLE(QObjectMethod);
 
 QmlSignalHandler::Data::Data(ExecutionEngine *engine, QObject *object, int signalIndex)
-    : Object::Data(engine)
+    : Heap::Object(engine)
     , object(object)
     , signalIndex(signalIndex)
 {
index 8bcde64..f65afab 100644 (file)
@@ -69,7 +69,7 @@ struct QObjectSlotDispatcher;
 
 struct Q_QML_EXPORT QObjectWrapper : public QV4::Object
 {
-    struct Data : QV4::Object::Data {
+    struct Data : QV4::Heap::Object {
         Data(ExecutionEngine *engine, QObject *object);
         QPointer<QObject> object;
     };
@@ -147,7 +147,7 @@ struct Q_QML_EXPORT QObjectMethod : public QV4::FunctionObject
 
 struct QmlSignalHandler : public QV4::Object
 {
-    struct Data : QV4::Object::Data {
+    struct Data : QV4::Heap::Object {
         Data(ExecutionEngine *engine, QObject *object, int signalIndex);
         QPointer<QObject> object;
         int signalIndex;
index 115014a..ca28a90 100644 (file)
@@ -65,7 +65,7 @@ DEFINE_OBJECT_VTABLE(RegExpObject);
 DEFINE_OBJECT_VTABLE(RegExpPrototype);
 
 RegExpObject::Data::Data(InternalClass *ic)
-    : Object::Data(ic)
+    : Heap::Object(ic)
 {
     setVTable(staticVTable());
 
@@ -77,7 +77,7 @@ RegExpObject::Data::Data(InternalClass *ic)
 }
 
 RegExpObject::Data::Data(ExecutionEngine *engine, RegExp *value, bool global)
-    : Object::Data(engine->regExpClass)
+    : Heap::Object(engine->regExpClass)
     , value(value)
     , global(global)
 {
@@ -92,7 +92,7 @@ RegExpObject::Data::Data(ExecutionEngine *engine, RegExp *value, bool global)
 // The conversion is not 100% exact since ECMA regexp and QRegExp
 // have different semantics/flags, but we try to do our best.
 RegExpObject::Data::Data(ExecutionEngine *engine, const QRegExp &re)
-    : Object::Data(engine->regExpClass)
+    : Heap::Object(engine->regExpClass)
 {
     setVTable(staticVTable());
 
index 8e41523..8cbe9e1 100644 (file)
@@ -56,7 +56,7 @@ QT_BEGIN_NAMESPACE
 namespace QV4 {
 
 struct RegExpObject: Object {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *engine, RegExp *value, bool global);
         Data(ExecutionEngine *engine, const QRegExp &re);
         Data(InternalClass *ic);
index a85cb8f..da6503c 100644 (file)
@@ -53,7 +53,7 @@
 
 using namespace QV4;
 
-QmlBindingWrapper::Data::Data(ExecutionContext *scope, Function *f, Object *qml)
+QmlBindingWrapper::Data::Data(ExecutionContext *scope, Function *f, QV4::Object *qml)
     : FunctionObject::Data(scope, scope->d()->engine->id_eval, /*createProto = */ false)
     , qml(qml)
 {
@@ -74,7 +74,7 @@ QmlBindingWrapper::Data::Data(ExecutionContext *scope, Function *f, Object *qml)
     s.engine->popContext();
 }
 
-QmlBindingWrapper::Data::Data(ExecutionContext *scope, Object *qml)
+QmlBindingWrapper::Data::Data(ExecutionContext *scope, QV4::Object *qml)
     : FunctionObject::Data(scope, scope->d()->engine->id_eval, /*createProto = */ false)
     , qml(qml)
 {
@@ -158,9 +158,9 @@ DEFINE_OBJECT_VTABLE(QmlBindingWrapper);
 
 struct CompilationUnitHolder : public Object
 {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *engine, CompiledData::CompilationUnit *unit)
-            : Object::Data(engine)
+            : Heap::Object(engine)
             , unit(unit)
         {
             setVTable(staticVTable());
index 6aa92c3..26a08f6 100644 (file)
@@ -73,10 +73,10 @@ struct ContextStateSaver {
 
 struct Q_QML_EXPORT QmlBindingWrapper : FunctionObject {
     struct Data : FunctionObject::Data {
-        Data(ExecutionContext *scope, Function *f, Object *qml);
+        Data(ExecutionContext *scope, Function *f, QV4::Object *qml);
         // Constructor for QML functions and signal handlers, resulting binding wrapper is not callable!
-        Data(ExecutionContext *scope, Object *qml);
-        Object *qml;
+        Data(ExecutionContext *scope, QV4::Object *qml);
+        QV4::Object *qml;
         CallContext *qmlContext;
     };
     V4_OBJECT(FunctionObject)
index d666de4..ab23a03 100644 (file)
@@ -158,9 +158,9 @@ template <> bool convertValueToElement(const ValueRef value)
 template <typename Container>
 struct QQmlSequence : public QV4::Object
 {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(QV4::ExecutionEngine *engine, const Container &container)
-            : Object::Data(InternalClass::create(engine, staticVTable(), engine->sequencePrototype.asObject()))
+            : Heap::Object(InternalClass::create(engine, staticVTable(), engine->sequencePrototype.asObject()))
             , container(container)
             , propertyIndex(-1)
             , isReference(false)
@@ -172,7 +172,7 @@ struct QQmlSequence : public QV4::Object
         }
 
         Data(QV4::ExecutionEngine *engine, QObject *object, int propertyIndex)
-            : Object::Data(InternalClass::create(engine, staticVTable(), engine->sequencePrototype.asObject()))
+            : Heap::Object(InternalClass::create(engine, staticVTable(), engine->sequencePrototype.asObject()))
             , object(object)
             , propertyIndex(propertyIndex)
             , isReference(true)
index 5b5731c..e48e3b6 100644 (file)
@@ -70,7 +70,7 @@ using namespace QV4;
 DEFINE_OBJECT_VTABLE(StringObject);
 
 StringObject::Data::Data(InternalClass *ic)
-    : Object::Data(ic)
+    : Heap::Object(ic)
 {
     Q_ASSERT(internalClass->vtable == staticVTable());
     value = ic->engine->newString(QStringLiteral(""))->asReturnedValue();
@@ -82,7 +82,7 @@ StringObject::Data::Data(InternalClass *ic)
 }
 
 StringObject::Data::Data(ExecutionEngine *engine, const ValueRef val)
-    : Object::Data(engine->stringObjectClass)
+    : Heap::Object(engine->stringObjectClass)
 {
     value = val;
     Q_ASSERT(value.isString());
index 22e2ba6..332c4c8 100644 (file)
@@ -42,7 +42,7 @@ QT_BEGIN_NAMESPACE
 namespace QV4 {
 
 struct StringObject: Object {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *engine, const ValueRef value);
         Data(InternalClass *ic);
         Value value;
index 059e011..7710bd6 100644 (file)
@@ -334,7 +334,7 @@ ReturnedValue TypedArrayCtor::call(Managed *that, CallData *callData)
 }
 
 TypedArray::Data::Data(ExecutionEngine *e, Type t)
-    : Object::Data(e->typedArrayClasses[t]),
+    : Heap::Object(e->typedArrayClasses[t]),
       type(operations + t)
 {
 }
index 2b266e5..8294659 100644 (file)
@@ -67,7 +67,7 @@ struct TypedArray : Object
         NTypes
     };
 
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *e, Type t);
 
         const TypedArrayOperations *type;
@@ -104,9 +104,9 @@ struct TypedArrayCtor: FunctionObject
 
 struct TypedArrayPrototype : Object
 {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *e, TypedArray::Type t)
-            : Object::Data(e)
+            : Heap::Object(e)
             , type(t)
         {
             setVTable(staticVTable());
index 3cde969..da3dd9f 100644 (file)
@@ -44,12 +44,12 @@ using namespace QV4;
 DEFINE_OBJECT_VTABLE(VariantObject);
 
 VariantObject::Data::Data(InternalClass *ic)
-    : Object::Data(ic)
+    : Heap::Object(ic)
 {
 }
 
 VariantObject::Data::Data(ExecutionEngine *engine, const QVariant &value)
-    : Object::Data(engine->variantClass)
+    : Heap::Object(engine->variantClass)
 {
     data = value;
     if (isScarce())
index ef7554d..d2dce35 100644 (file)
@@ -58,7 +58,7 @@ namespace QV4 {
 
 struct VariantObject : Object
 {
-    struct Data : Object::Data, public ExecutionEngine::ScarceResourceData
+    struct Data : Heap::Object, public ExecutionEngine::ScarceResourceData
     {
         Data(InternalClass *ic);
         Data(ExecutionEngine *engine, const QVariant &value);
index 0ba72c1..ddb9633 100644 (file)
@@ -1072,7 +1072,7 @@ class QQmlComponentIncubator;
 
 struct QmlIncubatorObject : public QV4::Object
 {
-    struct Data : QV4::Object::Data {
+    struct Data : QV4::Heap::Object {
         Data(QV8Engine *engine, QQmlIncubator::IncubationMode = QQmlIncubator::Asynchronous);
         QScopedPointer<QQmlComponentIncubator> incubator;
         QV8Engine *v8;
@@ -1470,7 +1470,7 @@ QQmlComponentExtension::~QQmlComponentExtension()
 }
 
 QmlIncubatorObject::Data::Data(QV8Engine *engine, QQmlIncubator::IncubationMode m)
-    : Object::Data(QV8Engine::getV4(engine))
+    : QV4::Heap::Object(QV8Engine::getV4(engine))
     , v8(engine)
     , valuemap(QV4::Primitive::undefinedValue())
     , qmlGlobal(QV4::Primitive::undefinedValue())
index bbb7577..c74d9ec 100644 (file)
@@ -54,7 +54,7 @@ using namespace QV4;
 DEFINE_OBJECT_VTABLE(QmlContextWrapper);
 
 QmlContextWrapper::Data::Data(QV8Engine *engine, QQmlContextData *context, QObject *scopeObject, bool ownsContext)
-    : Object::Data(QV8Engine::getV4(engine))
+    : Heap::Object(QV8Engine::getV4(engine))
     , readOnly(true)
     , ownsContext(ownsContext)
     , isNullWrapper(false)
@@ -433,7 +433,7 @@ ReturnedValue QmlContextWrapper::qmlSingletonWrapper(QV8Engine *v8, String *name
 DEFINE_OBJECT_VTABLE(QQmlIdObjectsArray);
 
 QQmlIdObjectsArray::Data::Data(ExecutionEngine *engine, QmlContextWrapper *contextWrapper)
-    : Object::Data(engine)
+    : Heap::Object(engine)
     , contextWrapper(contextWrapper)
 {
     setVTable(staticVTable());
index 5f2229f..e3a1d9b 100644 (file)
@@ -65,7 +65,7 @@ struct QQmlIdObjectsArray;
 
 struct Q_QML_EXPORT QmlContextWrapper : Object
 {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(QV8Engine *engine, QQmlContextData *context, QObject *scopeObject, bool ownsContext = false);
         ~Data();
         bool readOnly;
@@ -104,7 +104,7 @@ struct Q_QML_EXPORT QmlContextWrapper : Object
 
 struct QQmlIdObjectsArray : public Object
 {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *engine, QmlContextWrapper *contextWrapper);
         QmlContextWrapper *contextWrapper;
     };
index 50f1b55..cde406d 100644 (file)
@@ -46,7 +46,7 @@ using namespace QV4;
 DEFINE_OBJECT_VTABLE(QmlListWrapper);
 
 QmlListWrapper::Data::Data(QV8Engine *engine)
-    : Object::Data(QV8Engine::getV4(engine))
+    : Heap::Object(QV8Engine::getV4(engine))
     , v8(engine)
 {
     setVTable(staticVTable());
index fe78079..f10ca21 100644 (file)
@@ -61,7 +61,7 @@ namespace QV4 {
 
 struct Q_QML_EXPORT QmlListWrapper : Object
 {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(QV8Engine *engine);
         ~Data();
         QV8Engine *v8;
index 2336244..96c0712 100644 (file)
@@ -123,9 +123,9 @@ private:
 
 struct QQmlLocaleData : public QV4::Object
 {
-    struct Data : Object::Data {
+    struct Data : QV4::Heap::Object {
         Data(QV4::ExecutionEngine *engine)
-            : Object::Data(engine)
+            : QV4::Heap::Object(engine)
         {
             setVTable(staticVTable());
         }
index ddd934c..1022d8f 100644 (file)
@@ -49,7 +49,7 @@ using namespace QV4;
 DEFINE_OBJECT_VTABLE(QmlTypeWrapper);
 
 QmlTypeWrapper::Data::Data(QV8Engine *engine)
-    : Object::Data(QV8Engine::getV4(engine))
+    : Heap::Object(QV8Engine::getV4(engine))
     , v8(engine)
     , mode(IncludeEnums)
 {
index 995e88e..5ba92cd 100644 (file)
@@ -62,7 +62,7 @@ struct Q_QML_EXPORT QmlTypeWrapper : Object
 {
     enum TypeNameMode { IncludeEnums, ExcludeEnums };
 
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(QV8Engine *engine);
         ~Data();
         QV8Engine *v8;
index 7de15ea..89b0eb1 100644 (file)
@@ -77,7 +77,7 @@ struct QmlValueTypeCopy : public QmlValueTypeWrapper
 DEFINE_OBJECT_VTABLE(QmlValueTypeCopy);
 
 QmlValueTypeWrapper::Data::Data(QV8Engine *engine, ObjectType objectType)
-    : Object::Data(QV8Engine::getV4(engine))
+    : Heap::Object(QV8Engine::getV4(engine))
     , v8(engine)
     , objectType(objectType)
 {
index c155b88..8e4e3a2 100644 (file)
@@ -61,7 +61,7 @@ namespace QV4 {
 struct Q_QML_EXPORT QmlValueTypeWrapper : Object
 {
     enum ObjectType { Reference, Copy };
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(QV8Engine *engine, ObjectType type);
         QV8Engine *v8;
         ObjectType objectType;
index c8bf521..587a58c 100644 (file)
@@ -179,9 +179,9 @@ public:
 class NamedNodeMap : public Object
 {
 public:
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *engine, NodeImpl *data, const QList<NodeImpl *> &list)
-            : Object::Data(engine)
+            : Heap::Object(engine)
             , list(list)
             , d(data)
         {
@@ -215,9 +215,9 @@ DEFINE_OBJECT_VTABLE(NamedNodeMap);
 class NodeList : public Object
 {
 public:
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *engine, NodeImpl *data)
-            : Object::Data(engine)
+            : Heap::Object(engine)
             , d(data)
         {
             setVTable(staticVTable());
@@ -250,9 +250,9 @@ DEFINE_OBJECT_VTABLE(NodeList);
 class NodePrototype : public Object
 {
 public:
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *engine)
-            : Object::Data(engine)
+            : Heap::Object(engine)
         {
             setVTable(staticVTable());
 
@@ -304,9 +304,9 @@ DEFINE_OBJECT_VTABLE(NodePrototype);
 
 struct Node : public Object
 {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *engine, NodeImpl *data)
-            : Object::Data(engine)
+            : Heap::Object(engine)
             , d(data)
         {
             setVTable(staticVTable());
@@ -1595,9 +1595,9 @@ void QQmlXMLHttpRequest::destroyNetwork()
 
 struct QQmlXMLHttpRequestWrapper : public Object
 {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *engine, QQmlXMLHttpRequest *request)
-            : Object::Data(engine)
+            : Heap::Object(engine)
             , request(request)
         {
             setVTable(staticVTable());
@@ -1636,7 +1636,7 @@ struct QQmlXMLHttpRequestCtor : public FunctionObject
             ScopedString s(scope, engine->id_prototype);
             ctor->defineDefaultProperty(s.getPointer(), ScopedObject(scope, ctor->d()->proto));
         }
-        Object *proto;
+        QV4::Object *proto;
     };
     V4_OBJECT(FunctionObject)
     static void markObjects(Heap::Base *that, ExecutionEngine *e) {
index 4ab360e..61fe2a4 100644 (file)
@@ -79,7 +79,7 @@ struct StaticQtMetaObject : public QObject
 };
 
 QV4::QtObject::Data::Data(ExecutionEngine *v4, QQmlEngine *qmlEngine)
-    : Object::Data(v4)
+    : Heap::Object(v4)
 {
     setVTable(staticVTable());
 
@@ -1297,7 +1297,7 @@ ReturnedValue QtObject::method_get_inputMethod(CallContext *ctx)
 
 
 QV4::ConsoleObject::Data::Data(ExecutionEngine *v4)
-    : Object::Data(v4)
+    : Heap::Object(v4)
 {
     QV4::Scope scope(v4);
     QV4::ScopedObject o(scope, this);
index 19b30bc..a21ae0a 100644 (file)
@@ -57,7 +57,7 @@ namespace QV4 {
 
 struct QtObject : Object
 {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *v4, QQmlEngine *qmlEngine);
         QObject *platform;
         QObject *application;
@@ -105,7 +105,7 @@ struct QtObject : Object
 
 struct ConsoleObject : Object
 {
-    struct Data : Object::Data {
+    struct Data : Heap::Object {
         Data(ExecutionEngine *engine);
     };
 
index d7c2946..22d89f3 100644 (file)
@@ -3211,9 +3211,9 @@ void QQmlPartsModel::emitModelUpdated(const QQmlChangeSet &changeSet, bool reset
 
 struct QQmlDelegateModelGroupChange : QV4::Object
 {
-    struct Data : QV4::Object::Data {
+    struct Data : QV4::Heap::Object {
         Data(QV4::ExecutionEngine *engine)
-            : Object::Data(engine)
+            : QV4::Heap::Object(engine)
         {
             setVTable(staticVTable());
         }
@@ -3254,9 +3254,9 @@ DEFINE_OBJECT_VTABLE(QQmlDelegateModelGroupChange);
 
 struct QQmlDelegateModelGroupChangeArray : public QV4::Object
 {
-    struct Data : QV4::Object::Data {
+    struct Data : QV4::Heap::Object {
         Data(QV4::ExecutionEngine *engine, const QVector<QQmlChangeSet::Change> &changes)
-            : Object::Data(engine)
+            : QV4::Heap::Object(engine)
             , changes(changes)
         {
             setVTable(staticVTable());
index a7def0a..0184030 100644 (file)
@@ -153,9 +153,9 @@ protected:
 
 struct QQmlDelegateModelItemObject : QV4::Object
 {
-    struct Data : QV4::Object::Data {
+    struct Data : QV4::Heap::Object {
         Data(QV4::ExecutionEngine *engine, QQmlDelegateModelItem *item)
-            : Object::Data(engine)
+            : QV4::Heap::Object(engine)
             , item(item)
         {
             setVTable(staticVTable());
index d7330d3..ed95506 100644 (file)
@@ -476,9 +476,9 @@ V8_DEFINE_EXTENSION(QQuickContext2DEngineData, engineData)
 
 struct QQuickJSContext2D : public QV4::Object
 {
-    struct Data : Object::Data {
+    struct Data : QV4::Heap::Object {
          Data(QV4::ExecutionEngine *engine)
-             : Object::Data(engine)
+             : QV4::Heap::Object(engine)
          {
              setVTable(staticVTable());
          }
@@ -639,9 +639,9 @@ DEFINE_OBJECT_VTABLE(QQuickJSContext2DPrototype);
 
 struct QQuickContext2DStyle : public QV4::Object
 {
-    struct Data : Object::Data {
+    struct Data : QV4::Heap::Object {
         Data(QV4::ExecutionEngine *e)
-          : Object::Data(e)
+          : QV4::Heap::Object(e)
         {
             patternRepeatX = false;
             patternRepeatY = false;
@@ -860,9 +860,9 @@ static QString qt_composite_mode_to_string(QPainter::CompositionMode op)
 
 struct QQuickJSContext2DPixelData : public QV4::Object
 {
-    struct Data : Object::Data {
+    struct Data : QV4::Heap::Object {
         Data(QV4::ExecutionEngine *engine)
-            : Object::Data(engine)
+            : QV4::Heap::Object(engine)
         {
             setVTable(staticVTable());
             QV4::Scope scope(engine);
@@ -886,9 +886,9 @@ DEFINE_OBJECT_VTABLE(QQuickJSContext2DPixelData);
 
 struct QQuickJSContext2DImageData : public QV4::Object
 {
-    struct Data : Object::Data {
+    struct Data : QV4::Heap::Object {
         Data(QV4::ExecutionEngine *engine)
-            : Object::Data(engine)
+            : QV4::Heap::Object(engine)
         {
             setVTable(staticVTable());
             pixelData = QV4::Primitive::undefinedValue();
index 3fc6cee..c1b018b 100644 (file)
@@ -96,9 +96,9 @@ public:
 
 struct QQuickRootItemMarker : public QV4::Object
 {
-    struct Data : QV4::Object::Data {
+    struct Data : QV4::Heap::Object {
         Data(QV4::ExecutionEngine *engine, QQuickWindow *window)
-            : Object::Data(engine)
+            : QV4::Heap::Object(engine)
             , window(window)
         {
             setVTable(staticVTable());