diff options
author | Lars Knoll <lars.knoll@qt.io> | 2017-11-01 10:46:40 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2017-11-13 08:56:45 +0000 |
commit | 4d8c72880cab8db6bdc81b27aa338009054e30fc (patch) | |
tree | d6dfb9a819aa3333a6504d0e1961dffe94a3562e | |
parent | 65b360a111f4b19bf1882d2a954a6ccdac7bde07 (diff) |
Convert Date methods to new calling convention
Change-Id: I5b80eb9d9f18b113a04461fc8b5217a3695269a4
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
-rw-r--r-- | src/qml/jsruntime/qv4dateobject.cpp | 295 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4dateobject_p.h | 102 | ||||
-rw-r--r-- | src/qml/qml/qqmllocale.cpp | 18 |
3 files changed, 205 insertions, 210 deletions
diff --git a/src/qml/jsruntime/qv4dateobject.cpp b/src/qml/jsruntime/qv4dateobject.cpp index 8b6325badd..20099b8ec5 100644 --- a/src/qml/jsruntime/qv4dateobject.cpp +++ b/src/qml/jsruntime/qv4dateobject.cpp @@ -797,35 +797,33 @@ void DatePrototype::init(ExecutionEngine *engine, Object *ctor) defineDefaultProperty(QStringLiteral("toJSON"), method_toJSON, 1); } -double DatePrototype::getThisDate(ExecutionEngine *v4, CallData *callData) +double DatePrototype::getThisDate(ExecutionEngine *v4, const Value *thisObject) { - if (DateObject *thisObject = callData->thisObject.as<DateObject>()) - return thisObject->date(); - else { - v4->throwTypeError(); - return 0; - } + if (const DateObject *that = thisObject->as<DateObject>()) + return that->date(); + v4->throwTypeError(); + return 0; } -ReturnedValue DatePrototype::method_parse(const BuiltinFunction *, CallData *callData) +ReturnedValue DatePrototype::method_parse(const FunctionObject *, const Value *, const Value *argv, int argc) { - if (!callData->argc()) + if (!argc) return Encode(qt_qnan()); else - return Encode(ParseString(callData->args[0].toQString())); + return Encode(ParseString(argv[0].toQString())); } -ReturnedValue DatePrototype::method_UTC(const BuiltinFunction *, CallData *callData) +ReturnedValue DatePrototype::method_UTC(const FunctionObject *, const Value *, const Value *argv, int argc) { - const int numArgs = callData->argc(); + const int numArgs = argc; if (numArgs >= 2) { - double year = callData->args[0].toNumber(); - double month = callData->args[1].toNumber(); - double day = numArgs >= 3 ? callData->args[2].toNumber() : 1; - double hours = numArgs >= 4 ? callData->args[3].toNumber() : 0; - double mins = numArgs >= 5 ? callData->args[4].toNumber() : 0; - double secs = numArgs >= 6 ? callData->args[5].toNumber() : 0; - double ms = numArgs >= 7 ? callData->args[6].toNumber() : 0; + double year = argv[0].toNumber(); + double month = argv[1].toNumber(); + double day = numArgs >= 3 ? argv[2].toNumber() : 1; + double hours = numArgs >= 4 ? argv[3].toNumber() : 0; + double mins = numArgs >= 5 ? argv[4].toNumber() : 0; + double secs = numArgs >= 6 ? argv[5].toNumber() : 0; + double ms = numArgs >= 7 ? argv[6].toNumber() : 0; if (year >= 0 && year <= 99) year += 1900; double t = MakeDate(MakeDay(year, month, day), @@ -835,292 +833,291 @@ ReturnedValue DatePrototype::method_UTC(const BuiltinFunction *, CallData *callD RETURN_UNDEFINED(); } -ReturnedValue DatePrototype::method_now(const BuiltinFunction *, CallData *callData) +ReturnedValue DatePrototype::method_now(const FunctionObject *, const Value *, const Value *, int) { - Q_UNUSED(callData); return Encode(currentTime()); } -ReturnedValue DatePrototype::method_toString(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_toString(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); return Encode(v4->newString(ToString(t))); } -ReturnedValue DatePrototype::method_toDateString(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_toDateString(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); return Encode(v4->newString(ToDateString(t))); } -ReturnedValue DatePrototype::method_toTimeString(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_toTimeString(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); return Encode(v4->newString(ToTimeString(t))); } -ReturnedValue DatePrototype::method_toLocaleString(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_toLocaleString(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); return Encode(v4->newString(ToLocaleString(t))); } -ReturnedValue DatePrototype::method_toLocaleDateString(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_toLocaleDateString(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); return Encode(v4->newString(ToLocaleDateString(t))); } -ReturnedValue DatePrototype::method_toLocaleTimeString(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_toLocaleTimeString(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); return Encode(v4->newString(ToLocaleTimeString(t))); } -ReturnedValue DatePrototype::method_valueOf(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_valueOf(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); return Encode(t); } -ReturnedValue DatePrototype::method_getTime(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getTime(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); return Encode(t); } -ReturnedValue DatePrototype::method_getYear(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getYear(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = YearFromTime(LocalTime(t)) - 1900; return Encode(t); } -ReturnedValue DatePrototype::method_getFullYear(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getFullYear(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = YearFromTime(LocalTime(t)); return Encode(t); } -ReturnedValue DatePrototype::method_getUTCFullYear(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getUTCFullYear(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = YearFromTime(t); return Encode(t); } -ReturnedValue DatePrototype::method_getMonth(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getMonth(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = MonthFromTime(LocalTime(t)); return Encode(t); } -ReturnedValue DatePrototype::method_getUTCMonth(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getUTCMonth(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = MonthFromTime(t); return Encode(t); } -ReturnedValue DatePrototype::method_getDate(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getDate(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = DateFromTime(LocalTime(t)); return Encode(t); } -ReturnedValue DatePrototype::method_getUTCDate(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getUTCDate(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = DateFromTime(t); return Encode(t); } -ReturnedValue DatePrototype::method_getDay(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getDay(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = WeekDay(LocalTime(t)); return Encode(t); } -ReturnedValue DatePrototype::method_getUTCDay(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getUTCDay(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = WeekDay(t); return Encode(t); } -ReturnedValue DatePrototype::method_getHours(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getHours(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = HourFromTime(LocalTime(t)); return Encode(t); } -ReturnedValue DatePrototype::method_getUTCHours(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getUTCHours(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = HourFromTime(t); return Encode(t); } -ReturnedValue DatePrototype::method_getMinutes(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getMinutes(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = MinFromTime(LocalTime(t)); return Encode(t); } -ReturnedValue DatePrototype::method_getUTCMinutes(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getUTCMinutes(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = MinFromTime(t); return Encode(t); } -ReturnedValue DatePrototype::method_getSeconds(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getSeconds(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = SecFromTime(LocalTime(t)); return Encode(t); } -ReturnedValue DatePrototype::method_getUTCSeconds(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getUTCSeconds(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = SecFromTime(t); return Encode(t); } -ReturnedValue DatePrototype::method_getMilliseconds(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getMilliseconds(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = msFromTime(LocalTime(t)); return Encode(t); } -ReturnedValue DatePrototype::method_getUTCMilliseconds(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getUTCMilliseconds(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = msFromTime(t); return Encode(t); } -ReturnedValue DatePrototype::method_getTimezoneOffset(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_getTimezoneOffset(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - double t = getThisDate(v4, callData); + double t = getThisDate(v4, thisObject); if (!std::isnan(t)) t = (t - LocalTime(t)) / msPerMinute; return Encode(t); } -ReturnedValue DatePrototype::method_setTime(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_setTime(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); - double t = callData->argc() ? callData->args[0].toNumber() : qt_qnan(); + double t = argc ? argv[0].toNumber() : qt_qnan(); if (v4->hasException) return QV4::Encode::undefined(); self->setDate(TimeClip(t)); return Encode(self->date()); } -ReturnedValue DatePrototype::method_setMilliseconds(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_setMilliseconds(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); double t = LocalTime(self->date()); if (v4->hasException) return QV4::Encode::undefined(); - double ms = callData->argc() ? callData->args[0].toNumber() : qt_qnan(); + double ms = argc ? argv[0].toNumber() : qt_qnan(); if (v4->hasException) return QV4::Encode::undefined(); self->setDate(TimeClip(UTC(MakeDate(Day(t), MakeTime(HourFromTime(t), MinFromTime(t), SecFromTime(t), ms))))); return Encode(self->date()); } -ReturnedValue DatePrototype::method_setUTCMilliseconds(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_setUTCMilliseconds(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); double t = self->date(); if (v4->hasException) return QV4::Encode::undefined(); - double ms = callData->argc() ? callData->args[0].toNumber() : qt_qnan(); + double ms = argc ? argv[0].toNumber() : qt_qnan(); if (v4->hasException) return QV4::Encode::undefined(); self->setDate(TimeClip(MakeDate(Day(t), MakeTime(HourFromTime(t), MinFromTime(t), SecFromTime(t), ms)))); return Encode(self->date()); } -ReturnedValue DatePrototype::method_setSeconds(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_setSeconds(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); double t = LocalTime(self->date()); if (v4->hasException) return QV4::Encode::undefined(); - double sec = callData->argc() ? callData->args[0].toNumber() : qt_qnan(); + double sec = argc ? argv[0].toNumber() : qt_qnan(); if (v4->hasException) return QV4::Encode::undefined(); - double ms = (callData->argc() < 2) ? msFromTime(t) : callData->args[1].toNumber(); + double ms = (argc < 2) ? msFromTime(t) : argv[1].toNumber(); if (v4->hasException) return QV4::Encode::undefined(); t = TimeClip(UTC(MakeDate(Day(t), MakeTime(HourFromTime(t), MinFromTime(t), sec, ms)))); @@ -1128,38 +1125,38 @@ ReturnedValue DatePrototype::method_setSeconds(const BuiltinFunction *b, CallDat return Encode(self->date()); } -ReturnedValue DatePrototype::method_setUTCSeconds(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_setUTCSeconds(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); double t = self->date(); - double sec = callData->argc() ? callData->args[0].toNumber() : qt_qnan(); - double ms = (callData->argc() < 2) ? msFromTime(t) : callData->args[1].toNumber(); + double sec = argc ? argv[0].toNumber() : qt_qnan(); + double ms = (argc < 2) ? msFromTime(t) : argv[1].toNumber(); t = TimeClip(MakeDate(Day(t), MakeTime(HourFromTime(t), MinFromTime(t), sec, ms))); self->setDate(t); return Encode(self->date()); } -ReturnedValue DatePrototype::method_setMinutes(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_setMinutes(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); double t = LocalTime(self->date()); if (v4->hasException) return QV4::Encode::undefined(); - double min = callData->argc() ? callData->args[0].toNumber() : qt_qnan(); + double min = argc ? argv[0].toNumber() : qt_qnan(); if (v4->hasException) return QV4::Encode::undefined(); - double sec = (callData->argc() < 2) ? SecFromTime(t) : callData->args[1].toNumber(); + double sec = (argc < 2) ? SecFromTime(t) : argv[1].toNumber(); if (v4->hasException) return QV4::Encode::undefined(); - double ms = (callData->argc() < 3) ? msFromTime(t) : callData->args[2].toNumber(); + double ms = (argc < 3) ? msFromTime(t) : argv[2].toNumber(); if (v4->hasException) return QV4::Encode::undefined(); t = TimeClip(UTC(MakeDate(Day(t), MakeTime(HourFromTime(t), min, sec, ms)))); @@ -1167,42 +1164,42 @@ ReturnedValue DatePrototype::method_setMinutes(const BuiltinFunction *b, CallDat return Encode(self->date()); } -ReturnedValue DatePrototype::method_setUTCMinutes(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_setUTCMinutes(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); double t = self->date(); - double min = callData->argc() ? callData->args[0].toNumber() : qt_qnan(); - double sec = (callData->argc() < 2) ? SecFromTime(t) : callData->args[1].toNumber(); - double ms = (callData->argc() < 3) ? msFromTime(t) : callData->args[2].toNumber(); + double min = argc ? argv[0].toNumber() : qt_qnan(); + double sec = (argc < 2) ? SecFromTime(t) : argv[1].toNumber(); + double ms = (argc < 3) ? msFromTime(t) : argv[2].toNumber(); t = TimeClip(MakeDate(Day(t), MakeTime(HourFromTime(t), min, sec, ms))); self->setDate(t); return Encode(self->date()); } -ReturnedValue DatePrototype::method_setHours(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_setHours(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); double t = LocalTime(self->date()); if (v4->hasException) return QV4::Encode::undefined(); - double hour = callData->argc() ? callData->args[0].toNumber() : qt_qnan(); + double hour = argc ? argv[0].toNumber() : qt_qnan(); if (v4->hasException) return QV4::Encode::undefined(); - double min = (callData->argc() < 2) ? MinFromTime(t) : callData->args[1].toNumber(); + double min = (argc < 2) ? MinFromTime(t) : argv[1].toNumber(); if (v4->hasException) return QV4::Encode::undefined(); - double sec = (callData->argc() < 3) ? SecFromTime(t) : callData->args[2].toNumber(); + double sec = (argc < 3) ? SecFromTime(t) : argv[2].toNumber(); if (v4->hasException) return QV4::Encode::undefined(); - double ms = (callData->argc() < 4) ? msFromTime(t) : callData->args[3].toNumber(); + double ms = (argc < 4) ? msFromTime(t) : argv[3].toNumber(); if (v4->hasException) return QV4::Encode::undefined(); t = TimeClip(UTC(MakeDate(Day(t), MakeTime(hour, min, sec, ms)))); @@ -1210,34 +1207,34 @@ ReturnedValue DatePrototype::method_setHours(const BuiltinFunction *b, CallData return Encode(self->date()); } -ReturnedValue DatePrototype::method_setUTCHours(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_setUTCHours(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); double t = self->date(); - double hour = callData->argc() ? callData->args[0].toNumber() : qt_qnan(); - double min = (callData->argc() < 2) ? MinFromTime(t) : callData->args[1].toNumber(); - double sec = (callData->argc() < 3) ? SecFromTime(t) : callData->args[2].toNumber(); - double ms = (callData->argc() < 4) ? msFromTime(t) : callData->args[3].toNumber(); + double hour = argc ? argv[0].toNumber() : qt_qnan(); + double min = (argc < 2) ? MinFromTime(t) : argv[1].toNumber(); + double sec = (argc < 3) ? SecFromTime(t) : argv[2].toNumber(); + double ms = (argc < 4) ? msFromTime(t) : argv[3].toNumber(); t = TimeClip(MakeDate(Day(t), MakeTime(hour, min, sec, ms))); self->setDate(t); return Encode(self->date()); } -ReturnedValue DatePrototype::method_setDate(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_setDate(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); double t = LocalTime(self->date()); if (v4->hasException) return QV4::Encode::undefined(); - double date = callData->argc() ? callData->args[0].toNumber() : qt_qnan(); + double date = argc ? argv[0].toNumber() : qt_qnan(); if (v4->hasException) return QV4::Encode::undefined(); t = TimeClip(UTC(MakeDate(MakeDay(YearFromTime(t), MonthFromTime(t), date), TimeWithinDay(t)))); @@ -1245,17 +1242,17 @@ ReturnedValue DatePrototype::method_setDate(const BuiltinFunction *b, CallData * return Encode(self->date()); } -ReturnedValue DatePrototype::method_setUTCDate(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_setUTCDate(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); double t = self->date(); if (v4->hasException) return QV4::Encode::undefined(); - double date = callData->argc() ? callData->args[0].toNumber() : qt_qnan(); + double date = argc ? argv[0].toNumber() : qt_qnan(); if (v4->hasException) return QV4::Encode::undefined(); t = TimeClip(MakeDate(MakeDay(YearFromTime(t), MonthFromTime(t), date), TimeWithinDay(t))); @@ -1263,20 +1260,20 @@ ReturnedValue DatePrototype::method_setUTCDate(const BuiltinFunction *b, CallDat return Encode(self->date()); } -ReturnedValue DatePrototype::method_setMonth(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_setMonth(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); double t = LocalTime(self->date()); if (v4->hasException) return QV4::Encode::undefined(); - double month = callData->argc() ? callData->args[0].toNumber() : qt_qnan(); + double month = argc ? argv[0].toNumber() : qt_qnan(); if (v4->hasException) return QV4::Encode::undefined(); - double date = (callData->argc() < 2) ? DateFromTime(t) : callData->args[1].toNumber(); + double date = (argc < 2) ? DateFromTime(t) : argv[1].toNumber(); if (v4->hasException) return QV4::Encode::undefined(); t = TimeClip(UTC(MakeDate(MakeDay(YearFromTime(t), month, date), TimeWithinDay(t)))); @@ -1284,25 +1281,25 @@ ReturnedValue DatePrototype::method_setMonth(const BuiltinFunction *b, CallData return Encode(self->date()); } -ReturnedValue DatePrototype::method_setUTCMonth(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_setUTCMonth(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); double t = self->date(); - double month = callData->argc() ? callData->args[0].toNumber() : qt_qnan(); - double date = (callData->argc() < 2) ? DateFromTime(t) : callData->args[1].toNumber(); + double month = argc ? argv[0].toNumber() : qt_qnan(); + double date = (argc < 2) ? DateFromTime(t) : argv[1].toNumber(); t = TimeClip(MakeDate(MakeDay(YearFromTime(t), month, date), TimeWithinDay(t))); self->setDate(t); return Encode(self->date()); } -ReturnedValue DatePrototype::method_setYear(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_setYear(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); @@ -1311,7 +1308,7 @@ ReturnedValue DatePrototype::method_setYear(const BuiltinFunction *b, CallData * t = 0; else t = LocalTime(t); - double year = callData->argc() ? callData->args[0].toNumber() : qt_qnan(); + double year = argc ? argv[0].toNumber() : qt_qnan(); double r; if (std::isnan(year)) { r = qt_qnan(); @@ -1326,26 +1323,26 @@ ReturnedValue DatePrototype::method_setYear(const BuiltinFunction *b, CallData * return Encode(self->date()); } -ReturnedValue DatePrototype::method_setUTCFullYear(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_setUTCFullYear(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); double t = self->date(); - double year = callData->argc() ? callData->args[0].toNumber() : qt_qnan(); - double month = (callData->argc() < 2) ? MonthFromTime(t) : callData->args[1].toNumber(); - double date = (callData->argc() < 3) ? DateFromTime(t) : callData->args[2].toNumber(); + double year = argc ? argv[0].toNumber() : qt_qnan(); + double month = (argc < 2) ? MonthFromTime(t) : argv[1].toNumber(); + double date = (argc < 3) ? DateFromTime(t) : argv[2].toNumber(); t = TimeClip(MakeDate(MakeDay(year, month, date), TimeWithinDay(t))); self->setDate(t); return Encode(self->date()); } -ReturnedValue DatePrototype::method_setFullYear(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_setFullYear(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); @@ -1354,13 +1351,13 @@ ReturnedValue DatePrototype::method_setFullYear(const BuiltinFunction *b, CallDa return QV4::Encode::undefined(); if (std::isnan(t)) t = 0; - double year = callData->argc() ? callData->args[0].toNumber() : qt_qnan(); + double year = argc ? argv[0].toNumber() : qt_qnan(); if (v4->hasException) return QV4::Encode::undefined(); - double month = (callData->argc() < 2) ? MonthFromTime(t) : callData->args[1].toNumber(); + double month = (argc < 2) ? MonthFromTime(t) : argv[1].toNumber(); if (v4->hasException) return QV4::Encode::undefined(); - double date = (callData->argc() < 3) ? DateFromTime(t) : callData->args[2].toNumber(); + double date = (argc < 3) ? DateFromTime(t) : argv[2].toNumber(); if (v4->hasException) return QV4::Encode::undefined(); t = TimeClip(UTC(MakeDate(MakeDay(year, month, date), TimeWithinDay(t)))); @@ -1368,10 +1365,10 @@ ReturnedValue DatePrototype::method_setFullYear(const BuiltinFunction *b, CallDa return Encode(self->date()); } -ReturnedValue DatePrototype::method_toUTCString(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_toUTCString(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); @@ -1392,16 +1389,16 @@ static void addZeroPrefixedInt(QString &str, int num, int nDigits) } } -ReturnedValue DatePrototype::method_toISOString(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_toISOString(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); - DateObject *self = callData->thisObject.as<DateObject>(); + DateObject *self = const_cast<DateObject *>(thisObject->as<DateObject>()); if (!self) return v4->throwTypeError(); double t = self->date(); if (!std::isfinite(t)) - RETURN_RESULT(v4->throwRangeError(callData->thisObject)); + RETURN_RESULT(v4->throwRangeError(*thisObject)); QString result; int year = (int)YearFromTime(t); @@ -1431,18 +1428,18 @@ ReturnedValue DatePrototype::method_toISOString(const BuiltinFunction *b, CallDa return Encode(v4->newString(result)); } -ReturnedValue DatePrototype::method_toJSON(const BuiltinFunction *b, CallData *callData) +ReturnedValue DatePrototype::method_toJSON(const FunctionObject *b, const Value *thisObject, const Value *, int) { ExecutionEngine *v4 = b->engine(); Scope scope(v4); - ScopedObject O(scope, callData->thisObject.toObject(v4)); + ScopedObject O(scope, thisObject->toObject(v4)); if (v4->hasException) return QV4::Encode::undefined(); ScopedValue tv(scope, RuntimeHelpers::toPrimitive(O, NUMBER_HINT)); if (tv->isNumber() && !std::isfinite(tv->toNumber())) - RETURN_RESULT(Encode::null()); + return Encode::null(); ScopedString s(scope, v4->newString(QStringLiteral("toISOString"))); ScopedValue v(scope, O->get(s)); @@ -1451,9 +1448,7 @@ ReturnedValue DatePrototype::method_toJSON(const BuiltinFunction *b, CallData *c if (!toIso) return v4->throwTypeError(); - JSCallData jsCallData(scope); - *jsCallData->thisObject = callData->thisObject; - return toIso->call(jsCallData); + return toIso->call(O, nullptr, 0); } void DatePrototype::timezoneUpdated() diff --git a/src/qml/jsruntime/qv4dateobject_p.h b/src/qml/jsruntime/qv4dateobject_p.h index 776822d312..a4ab0a27ed 100644 --- a/src/qml/jsruntime/qv4dateobject_p.h +++ b/src/qml/jsruntime/qv4dateobject_p.h @@ -118,57 +118,57 @@ struct DatePrototype: Object void init(ExecutionEngine *engine, Object *ctor); - static double getThisDate(ExecutionEngine *v4, CallData *callData); - - static ReturnedValue method_parse(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_UTC(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_now(const BuiltinFunction *, CallData *callData); - - static ReturnedValue method_toString(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_toDateString(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_toTimeString(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_toLocaleString(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_toLocaleDateString(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_toLocaleTimeString(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_valueOf(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getTime(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getYear(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getFullYear(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getUTCFullYear(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getMonth(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getUTCMonth(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getDate(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getUTCDate(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getDay(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getUTCDay(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getHours(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getUTCHours(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getMinutes(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getUTCMinutes(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getSeconds(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getUTCSeconds(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getMilliseconds(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getUTCMilliseconds(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_getTimezoneOffset(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_setTime(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_setMilliseconds(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_setUTCMilliseconds(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_setSeconds(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_setUTCSeconds(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_setMinutes(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_setUTCMinutes(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_setHours(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_setUTCHours(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_setDate(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_setUTCDate(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_setMonth(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_setUTCMonth(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_setYear(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_setFullYear(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_setUTCFullYear(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_toUTCString(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_toISOString(const BuiltinFunction *, CallData *callData); - static ReturnedValue method_toJSON(const BuiltinFunction *, CallData *callData); + static double getThisDate(ExecutionEngine *v4, const Value *thisObject); + + static ReturnedValue method_parse(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_UTC(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_now(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + + static ReturnedValue method_toString(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_toDateString(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_toTimeString(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_toLocaleString(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_toLocaleDateString(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_toLocaleTimeString(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_valueOf(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getTime(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getYear(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getFullYear(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getUTCFullYear(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getMonth(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getUTCMonth(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getDate(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getUTCDate(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getDay(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getUTCDay(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getHours(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getUTCHours(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getMinutes(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getUTCMinutes(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getSeconds(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getUTCSeconds(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getMilliseconds(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getUTCMilliseconds(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_getTimezoneOffset(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_setTime(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_setMilliseconds(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_setUTCMilliseconds(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_setSeconds(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_setUTCSeconds(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_setMinutes(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_setUTCMinutes(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_setHours(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_setUTCHours(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_setDate(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_setUTCDate(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_setMonth(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_setUTCMonth(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_setYear(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_setFullYear(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_setUTCFullYear(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_toUTCString(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_toISOString(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); + static ReturnedValue method_toJSON(const FunctionObject *, const Value *thisObject, const Value *argv, int argc); static void timezoneUpdated(); }; diff --git a/src/qml/qml/qqmllocale.cpp b/src/qml/qml/qqmllocale.cpp index bbd4cec6f8..3f2a373966 100644 --- a/src/qml/qml/qqmllocale.cpp +++ b/src/qml/qml/qqmllocale.cpp @@ -90,11 +90,11 @@ ReturnedValue QQmlDateExtension::method_toLocaleString(const BuiltinFunction *b, { Scope scope(b); if (callData->argc() > 2) - return QV4::DatePrototype::method_toLocaleString(b, callData); + return QV4::DatePrototype::method_toLocaleString(b, &callData->thisObject, callData->args, callData->argc()); QV4::DateObject *date = callData->thisObject.as<DateObject>(); if (!date) - return QV4::DatePrototype::method_toLocaleString(b, callData); + return QV4::DatePrototype::method_toLocaleString(b, &callData->thisObject, callData->args, callData->argc()); QDateTime dt = date->toQDateTime(); @@ -105,7 +105,7 @@ ReturnedValue QQmlDateExtension::method_toLocaleString(const BuiltinFunction *b, } if (!isLocaleObject(callData->args[0])) - return QV4::DatePrototype::method_toLocaleString(b, callData); // Use the default Date toLocaleString() + return QV4::DatePrototype::method_toLocaleString(b, &callData->thisObject, callData->args, callData->argc()); // Use the default Date toLocaleString() GET_LOCALE_DATA_RESOURCE(callData->args[0]); @@ -133,11 +133,11 @@ ReturnedValue QQmlDateExtension::method_toLocaleTimeString(const BuiltinFunction { Scope scope(b); if (callData->argc() > 2) - return QV4::DatePrototype::method_toLocaleTimeString(b, callData); + return QV4::DatePrototype::method_toLocaleTimeString(b, &callData->thisObject, callData->args, callData->argc()); QV4::DateObject *date = callData->thisObject.as<DateObject>(); if (!date) - return QV4::DatePrototype::method_toLocaleTimeString(b, callData); + return QV4::DatePrototype::method_toLocaleTimeString(b, &callData->thisObject, callData->args, callData->argc()); QDateTime dt = date->toQDateTime(); QTime time = dt.time(); @@ -149,7 +149,7 @@ ReturnedValue QQmlDateExtension::method_toLocaleTimeString(const BuiltinFunction } if (!isLocaleObject(callData->args[0])) - return QV4::DatePrototype::method_toLocaleTimeString(b, callData); // Use the default Date toLocaleTimeString() + return QV4::DatePrototype::method_toLocaleTimeString(b, &callData->thisObject, callData->args, callData->argc()); // Use the default Date toLocaleTimeString() GET_LOCALE_DATA_RESOURCE(callData->args[0]); @@ -177,11 +177,11 @@ ReturnedValue QQmlDateExtension::method_toLocaleDateString(const BuiltinFunction { Scope scope(b); if (callData->argc() > 2) - return QV4::DatePrototype::method_toLocaleDateString(b, callData); + return QV4::DatePrototype::method_toLocaleDateString(b, &callData->thisObject, callData->args, callData->argc()); QV4::DateObject *dateObj = callData->thisObject.as<DateObject>(); if (!dateObj) - return QV4::DatePrototype::method_toLocaleDateString(b, callData); + return QV4::DatePrototype::method_toLocaleDateString(b, &callData->thisObject, callData->args, callData->argc()); QDateTime dt = dateObj->toQDateTime(); QDate date = dt.date(); @@ -193,7 +193,7 @@ ReturnedValue QQmlDateExtension::method_toLocaleDateString(const BuiltinFunction } if (!isLocaleObject(callData->args[0])) - return QV4::DatePrototype::method_toLocaleDateString(b, callData); // Use the default Date toLocaleDateString() + return QV4::DatePrototype::method_toLocaleDateString(b, &callData->thisObject, callData->args, callData->argc()); // Use the default Date toLocaleDateString() GET_LOCALE_DATA_RESOURCE(callData->args[0]); |