aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4argumentsobject_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2014-04-29 10:53:47 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2014-07-22 13:49:00 +0200
commit36b9fe865d5329e13bcb0e2b3aa67e91c6f7bb0d (patch)
treec8f81f9798591ea54f9f478ab850443c77c04358 /src/qml/jsruntime/qv4argumentsobject_p.h
parente74c19da8eb74132aba761f8b8fe0eac47fe2dcd (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.h42
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);