diff options
author | Lars Knoll <lars.knoll@digia.com> | 2014-05-09 15:23:18 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-07-22 13:49:19 +0200 |
commit | 2eb5416f5465d0e9b4377b1f57d3b888201d519b (patch) | |
tree | ec352316a9e3c76f7bc0f5de3aa106c81086a17e /src/qml/jsruntime/qv4argumentsobject.cpp | |
parent | 903e04deadb4b8f13a77c8a741c0f937beca0640 (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.cpp | 45 |
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() |