aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4object_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2014-05-09 14:14:02 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2014-07-22 13:49:18 +0200
commit0fd24cf96e79bea3fb625563ddd3ce6f1ca8bd4b (patch)
tree6dc96a61c65b8c6ecf1c2f362510630af56e2d60 /src/qml/jsruntime/qv4object_p.h
parentdba56a752c932670c0e9461f106d2bc084276b6f (diff)
Convert most simple objects to the new constructor scheme
Change-Id: I90042037bc0555771bd98233977c7d2b735bb718 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4object_p.h')
-rw-r--r--src/qml/jsruntime/qv4object_p.h54
1 files changed, 28 insertions, 26 deletions
diff --git a/src/qml/jsruntime/qv4object_p.h b/src/qml/jsruntime/qv4object_p.h
index b98c77108e..a1b107dbf0 100644
--- a/src/qml/jsruntime/qv4object_p.h
+++ b/src/qml/jsruntime/qv4object_p.h
@@ -323,6 +323,17 @@ private:
struct BooleanObject: Object {
struct Data : Object::Data {
+ Data(ExecutionEngine *engine, const ValueRef val)
+ : Object::Data(engine->booleanClass)
+ {
+ value = val;
+ }
+ Data(InternalClass *ic)
+ : Object::Data(ic)
+ {
+ Q_ASSERT(internalClass->vtable == staticVTable());
+ value = Encode(false);
+ }
Value value;
};
struct {
@@ -333,22 +344,19 @@ struct BooleanObject: Object {
Value value() const { return d()->value; }
- BooleanObject(ExecutionEngine *engine, const ValueRef val)
- : Object(engine->booleanClass)
- {
- d()->value = val;
- }
-protected:
- BooleanObject(InternalClass *ic)
- : Object(ic)
- {
- Q_ASSERT(internalClass()->vtable == staticVTable());
- d()->value = Encode(false);
- }
};
struct NumberObject: Object {
struct Data : Object::Data {
+ Data(ExecutionEngine *engine, const ValueRef val)
+ : Object::Data(engine->numberClass) {
+ value = val;
+ }
+ Data(InternalClass *ic)
+ : Object::Data(ic) {
+ Q_ASSERT(internalClass->vtable == staticVTable());
+ value = Encode((int)0);
+ }
Value value;
};
struct {
@@ -359,29 +367,23 @@ struct NumberObject: Object {
Value value() const { return d()->value; }
- NumberObject(ExecutionEngine *engine, const ValueRef val)
- : Object(engine->numberClass) {
- d()->value = val;
- }
-protected:
- NumberObject(InternalClass *ic)
- : Object(ic) {
- Q_ASSERT(internalClass()->vtable == staticVTable());
- d()->value = Encode((int)0);
- }
};
struct ArrayObject: Object {
+ struct Data : Object::Data {
+ Data(ExecutionEngine *engine) : Object::Data(engine->arrayClass) { init(); }
+ Data(ExecutionEngine *engine, const QStringList &list);
+ Data(InternalClass *ic) : Object::Data(ic) { init(); }
+ void init()
+ { memberData[LengthPropertyIndex] = Primitive::fromInt32(0); }
+ };
+
V4_OBJECT
Q_MANAGED_TYPE(ArrayObject)
enum {
LengthPropertyIndex = 0
};
- ArrayObject(ExecutionEngine *engine) : Object(engine->arrayClass) { init(engine); }
- ArrayObject(ExecutionEngine *engine, const QStringList &list);
- ArrayObject(InternalClass *ic) : Object(ic) { init(ic->engine); }
-
void init(ExecutionEngine *engine);
static ReturnedValue getLookup(Managed *m, Lookup *l);