diff options
author | Lars Knoll <lars.knoll@digia.com> | 2014-04-29 10:53:47 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-07-22 13:49:00 +0200 |
commit | 36b9fe865d5329e13bcb0e2b3aa67e91c6f7bb0d (patch) | |
tree | c8f81f9798591ea54f9f478ab850443c77c04358 /src/qml/jsruntime/qv4argumentsobject_p.h | |
parent | e74c19da8eb74132aba761f8b8fe0eac47fe2dcd (diff) |
Convert ArgumentsObject over to the new storage scheme
Change-Id: I087e51cef255c025dfabe416ba459cc51a889153
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4argumentsobject_p.h')
-rw-r--r-- | src/qml/jsruntime/qv4argumentsobject_p.h | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/src/qml/jsruntime/qv4argumentsobject_p.h b/src/qml/jsruntime/qv4argumentsobject_p.h index 609556115c..f3bd290aa0 100644 --- a/src/qml/jsruntime/qv4argumentsobject_p.h +++ b/src/qml/jsruntime/qv4argumentsobject_p.h @@ -50,18 +50,20 @@ namespace QV4 { struct ArgumentsGetterFunction: FunctionObject { - V4_OBJECT - struct Data { + struct Data : FunctionObject::Data { uint index; }; - Data data; + struct { + uint index; + } __data; + V4_OBJECT_NEW - uint index() const { return data.index; } + uint index() const { return d()->index; } ArgumentsGetterFunction(ExecutionContext *scope, uint index) : FunctionObject(scope) { - data.index = index; + d()->index = index; setVTable(staticVTable()); } @@ -70,18 +72,20 @@ struct ArgumentsGetterFunction: FunctionObject struct ArgumentsSetterFunction: FunctionObject { - V4_OBJECT - struct Data { + struct Data : FunctionObject::Data { uint index; }; - Data data; + struct { + uint index; + } __data; + V4_OBJECT_NEW - uint index() const { return data.index; } + uint index() const { return d()->index; } ArgumentsSetterFunction(ExecutionContext *scope, uint index) : FunctionObject(scope) { - data.index = index; + d()->index = index; setVTable(staticVTable()); } @@ -90,18 +94,22 @@ struct ArgumentsSetterFunction: FunctionObject struct ArgumentsObject: Object { - V4_OBJECT - Q_MANAGED_TYPE(ArgumentsObject) - struct Data { + struct Data : Object::Data { CallContext *context; bool fullyCreated; Members mappedArguments; }; - Data data; + struct { + CallContext *context; + bool fullyCreated; + Members mappedArguments; + } __data; + V4_OBJECT_NEW + Q_MANAGED_TYPE(ArgumentsObject) - CallContext *context() const { return data.context; } - bool fullyCreated() const { return data.fullyCreated; } - Members mappedArguments() const { return data.mappedArguments; } + CallContext *context() const { return d()->context; } + bool fullyCreated() const { return d()->fullyCreated; } + Members &mappedArguments() { return d()->mappedArguments; } ArgumentsObject(CallContext *context); |