aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4argumentsobject.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2014-05-09 15:23:18 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2014-07-22 13:49:19 +0200
commit2eb5416f5465d0e9b4377b1f57d3b888201d519b (patch)
treeec352316a9e3c76f7bc0f5de3aa106c81086a17e /src/qml/jsruntime/qv4argumentsobject.cpp
parent903e04deadb4b8f13a77c8a741c0f937beca0640 (diff)
Convert the last Managed types to the new constructor syntax
Change-Id: I11701c586d4715c08feba4650e12904c3fa7ca27 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4argumentsobject.cpp')
-rw-r--r--src/qml/jsruntime/qv4argumentsobject.cpp45
1 files changed, 22 insertions, 23 deletions
diff --git a/src/qml/jsruntime/qv4argumentsobject.cpp b/src/qml/jsruntime/qv4argumentsobject.cpp
index 11e15d8d1b..edd7f3ad14 100644
--- a/src/qml/jsruntime/qv4argumentsobject.cpp
+++ b/src/qml/jsruntime/qv4argumentsobject.cpp
@@ -46,38 +46,37 @@ using namespace QV4;
DEFINE_OBJECT_VTABLE(ArgumentsObject);
-ArgumentsObject::ArgumentsObject(CallContext *context)
- : Object(context->d()->strictMode ? context->d()->engine->strictArgumentsObjectClass : context->d()->engine->argumentsObjectClass)
+ArgumentsObject::Data::Data(CallContext *context)
+ : Object::Data(context->d()->strictMode ? context->d()->engine->strictArgumentsObjectClass : context->d()->engine->argumentsObjectClass)
+ , context(context)
+ , fullyCreated(false)
{
- d()->context = context;
- d()->fullyCreated = false;
+ Q_ASSERT(internalClass->vtable == staticVTable());
ExecutionEngine *v4 = context->d()->engine;
Scope scope(v4);
- ScopedObject protectThis(scope, this);
+ Scoped<ArgumentsObject> args(scope, this);
- setArrayType(ArrayData::Complex);
+ args->setArrayType(ArrayData::Complex);
if (context->d()->strictMode) {
- Q_ASSERT(CalleePropertyIndex == internalClass()->find(context->d()->engine->id_callee));
- Q_ASSERT(CallerPropertyIndex == internalClass()->find(context->d()->engine->id_caller));
- propertyAt(CalleePropertyIndex)->value = v4->thrower;
- propertyAt(CalleePropertyIndex)->set = v4->thrower;
- propertyAt(CallerPropertyIndex)->value = v4->thrower;
- propertyAt(CallerPropertyIndex)->set = v4->thrower;
-
- arrayReserve(context->d()->callData->argc);
- arrayPut(0, context->d()->callData->args, context->d()->callData->argc);
- d()->fullyCreated = true;
+ Q_ASSERT(CalleePropertyIndex == args->internalClass()->find(context->d()->engine->id_callee));
+ Q_ASSERT(CallerPropertyIndex == args->internalClass()->find(context->d()->engine->id_caller));
+ args->propertyAt(CalleePropertyIndex)->value = v4->thrower;
+ args->propertyAt(CalleePropertyIndex)->set = v4->thrower;
+ args->propertyAt(CallerPropertyIndex)->value = v4->thrower;
+ args->propertyAt(CallerPropertyIndex)->set = v4->thrower;
+
+ args->arrayReserve(context->d()->callData->argc);
+ args->arrayPut(0, context->d()->callData->args, context->d()->callData->argc);
+ args->d()->fullyCreated = true;
} else {
- setHasAccessorProperty();
- Q_ASSERT(CalleePropertyIndex == internalClass()->find(context->d()->engine->id_callee));
- memberData()[CalleePropertyIndex] = context->function->asReturnedValue();
+ args->setHasAccessorProperty();
+ Q_ASSERT(CalleePropertyIndex == args->internalClass()->find(context->d()->engine->id_callee));
+ args->memberData()[CalleePropertyIndex] = context->function->asReturnedValue();
}
- Q_ASSERT(LengthPropertyIndex == internalClass()->find(context->d()->engine->id_length));
- memberData()[LengthPropertyIndex] = Primitive::fromInt32(context->realArgumentCount);
-
- Q_ASSERT(internalClass()->vtable == staticVTable());
+ Q_ASSERT(LengthPropertyIndex == args->internalClass()->find(context->d()->engine->id_length));
+ args->memberData()[LengthPropertyIndex] = Primitive::fromInt32(context->realArgumentCount);
}
void ArgumentsObject::fullyCreate()