diff options
author | Lars Knoll <lars.knoll@theqtcompany.com> | 2014-11-07 02:06:42 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-11-10 17:15:22 +0100 |
commit | fcf0203aafe6db09751835ce54fc32f51fc77d5a (patch) | |
tree | f5354c56af10c320b40fff9da4bba500ea8a1653 /src/qml/jsruntime/qv4script.cpp | |
parent | 4838cc89f000a2f1db4da6401fc79a75a7b86ad7 (diff) |
Move data of more Qml related objects into Heap namespace.
Change-Id: Ifb3a7093351474d6feb2f64498b531c36fdf669b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4script.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4script.cpp | 64 |
1 files changed, 39 insertions, 25 deletions
diff --git a/src/qml/jsruntime/qv4script.cpp b/src/qml/jsruntime/qv4script.cpp index 25142d35a6..7f2e44eebf 100644 --- a/src/qml/jsruntime/qv4script.cpp +++ b/src/qml/jsruntime/qv4script.cpp @@ -51,8 +51,47 @@ #include <QtCore/QDebug> #include <QtCore/QString> +QT_BEGIN_NAMESPACE + +namespace QV4 { +namespace Heap { + +struct CompilationUnitHolder : Object { + inline CompilationUnitHolder(ExecutionEngine *engine, CompiledData::CompilationUnit *unit); + + QQmlRefPointer<CompiledData::CompilationUnit> unit; +}; + +} + +struct CompilationUnitHolder : public Object +{ + V4_OBJECT2(CompilationUnitHolder, Object) + + static void destroy(Managed *that) + { + static_cast<CompilationUnitHolder*>(that)->d()->~Data(); + } + +}; + +inline +Heap::CompilationUnitHolder::CompilationUnitHolder(ExecutionEngine *engine, CompiledData::CompilationUnit *unit) + : Heap::Object(engine) + , unit(unit) +{ + setVTable(QV4::CompilationUnitHolder::staticVTable()); +} + +} + +QT_END_NAMESPACE + using namespace QV4; +DEFINE_OBJECT_VTABLE(QmlBindingWrapper); +DEFINE_OBJECT_VTABLE(CompilationUnitHolder); + Heap::QmlBindingWrapper::QmlBindingWrapper(QV4::ExecutionContext *scope, Function *f, QV4::Object *qml) : Heap::FunctionObject(scope, scope->d()->engine->id_eval, /*createProto = */ false) , qml(qml) @@ -154,31 +193,6 @@ Returned<FunctionObject> *QmlBindingWrapper::createQmlCallableForFunction(QQmlCo return function->asReturned<FunctionObject>(); } -DEFINE_OBJECT_VTABLE(QmlBindingWrapper); - -struct CompilationUnitHolder : public Object -{ - struct Data : Heap::Object { - Data(ExecutionEngine *engine, CompiledData::CompilationUnit *unit) - : Heap::Object(engine) - , unit(unit) - { - setVTable(staticVTable()); - } - QQmlRefPointer<QV4::CompiledData::CompilationUnit> unit; - }; - V4_OBJECT(Object) - - - static void destroy(Managed *that) - { - static_cast<CompilationUnitHolder*>(that)->d()->~Data(); - } - -}; - -DEFINE_OBJECT_VTABLE(CompilationUnitHolder); - Script::Script(ExecutionEngine *v4, Object *qml, CompiledData::CompilationUnit *compilationUnit) : line(0), column(0), scope(v4->rootContext), strictMode(false), inheritContext(true), parsed(false) , qml(qml->asReturnedValue()), vmFunction(0), parseAsBinding(true) |