aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2013-06-13 13:45:23 +0200
committerLars Knoll <lars.knoll@digia.com>2013-06-13 14:16:43 +0200
commitfb16ab4badfd86bdfb4a9eccc92d77f7167ae8ab (patch)
tree4b7a5cdaf4d2094a425dd16274715d037bc72fc8
parentbc25d585deaf4ade17ccc180bfe5d1b5fd8bd293 (diff)
Port the QVariant wrapper away from v4classgen
Replaced with four new lines of code :) Change-Id: Ie48608d332f8eb0c5ab6615aa62e5865d307c7bd Reviewed-by: Lars Knoll <lars.knoll@digia.com>
-rw-r--r--src/qml/qml/v4/qv4engine.cpp2
-rw-r--r--src/qml/qml/v4/qv4variantobject.cpp10
-rw-r--r--src/qml/qml/v4/qv4variantobject_p.h4
-rw-r--r--src/qml/qml/v4/v4.pri3
4 files changed, 12 insertions, 7 deletions
diff --git a/src/qml/qml/v4/qv4engine.cpp b/src/qml/qml/v4/qv4engine.cpp
index 20a65a8dc5..c0119a7412 100644
--- a/src/qml/qml/v4/qv4engine.cpp
+++ b/src/qml/qml/v4/qv4engine.cpp
@@ -224,7 +224,7 @@ ExecutionEngine::ExecutionEngine(QQmlJS::EvalISelFactory *factory)
typeErrorPrototype->init(this, typeErrorCtor);
uRIErrorPrototype->init(this, uRIErrorCtor);
- variantPrototype->initClass(this);
+ variantPrototype->init(this);
sequencePrototype->init(this);
//
diff --git a/src/qml/qml/v4/qv4variantobject.cpp b/src/qml/qml/v4/qv4variantobject.cpp
index 733f28994f..484100806d 100644
--- a/src/qml/qml/v4/qv4variantobject.cpp
+++ b/src/qml/qml/v4/qv4variantobject.cpp
@@ -138,6 +138,14 @@ VariantPrototype::VariantPrototype(ExecutionEngine *engine)
prototype = engine->objectPrototype;
}
+void VariantPrototype::init(ExecutionEngine *engine)
+{
+ defineDefaultProperty(engine, QStringLiteral("preserve"), method_preserve, 0);
+ defineDefaultProperty(engine, QStringLiteral("destroy"), method_destroy, 0);
+ defineDefaultProperty(engine, QStringLiteral("valueOf"), method_valueOf, 0);
+ defineDefaultProperty(engine, QStringLiteral("toString"), method_toString, 0);
+}
+
QV4::Value VariantPrototype::method_preserve(SimpleCallContext *ctx)
{
VariantObject *o = ctx->thisObject.as<QV4::VariantObject>();
@@ -192,6 +200,4 @@ QV4::Value VariantPrototype::method_valueOf(SimpleCallContext *ctx)
return ctx->thisObject;
}
-#include "qv4variantobject_p_jsclass.cpp"
-
QT_END_NAMESPACE
diff --git a/src/qml/qml/v4/qv4variantobject_p.h b/src/qml/qml/v4/qv4variantobject_p.h
index 74aff80132..876539aae1 100644
--- a/src/qml/qml/v4/qv4variantobject_p.h
+++ b/src/qml/qml/v4/qv4variantobject_p.h
@@ -81,12 +81,12 @@ public:
static bool isEqualTo(Managed *m, Managed *other);
};
-struct QV4_JS_CLASS(VariantPrototype) : VariantObject
+struct VariantPrototype : VariantObject
{
public:
VariantPrototype(ExecutionEngine *engine);
- void initClass(ExecutionEngine *engine);
+ void init(ExecutionEngine *engine);
static Value method_preserve(SimpleCallContext *ctx);
static Value method_destroy(SimpleCallContext *ctx);
diff --git a/src/qml/qml/v4/v4.pri b/src/qml/qml/v4/v4.pri
index 942c4454a9..28910f4979 100644
--- a/src/qml/qml/v4/v4.pri
+++ b/src/qml/qml/v4/v4.pri
@@ -110,8 +110,7 @@ HEADERS += \
OTHER_FILES += \
$$PWD/v4classgen
-JS_CLASS_SOURCES += $$PWD/qv4dateobject_p.h \
- $$PWD/qv4variantobject_p.h
+JS_CLASS_SOURCES += $$PWD/qv4dateobject_p.h
js_class_bindings.output = ${QMAKE_FILE_BASE}_jsclass.cpp
js_class_bindings.input = JS_CLASS_SOURCES