aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4script.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@theqtcompany.com>2014-11-07 02:06:42 +0100
committerSimon Hausmann <simon.hausmann@digia.com>2014-11-10 17:15:22 +0100
commitfcf0203aafe6db09751835ce54fc32f51fc77d5a (patch)
treef5354c56af10c320b40fff9da4bba500ea8a1653 /src/qml/jsruntime/qv4script.cpp
parent4838cc89f000a2f1db4da6401fc79a75a7b86ad7 (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.cpp64
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)