diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-09-12 11:13:03 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-18 13:13:47 +0200 |
commit | 16f92ad85cf665d863ded5eeaaa7fc3f90820b3f (patch) | |
tree | 74b3477b9d6c023730835f1c478ceb6eaec68a2b /src/qml/qml/qqmllocale.cpp | |
parent | 7d4e61dd824706984030c58684fa844ff9cde251 (diff) |
Convert builtin methods to return a ReturnedValue
Change-Id: I6b75adbf53a5be0deab023d2eed98ce2a7915551
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/qml/qqmllocale.cpp')
-rw-r--r-- | src/qml/qml/qqmllocale.cpp | 178 |
1 files changed, 89 insertions, 89 deletions
diff --git a/src/qml/qml/qqmllocale.cpp b/src/qml/qml/qqmllocale.cpp index 4cdcb96857..27c8dff598 100644 --- a/src/qml/qml/qqmllocale.cpp +++ b/src/qml/qml/qqmllocale.cpp @@ -74,33 +74,33 @@ public: return thisObject->locale; } - static QV4::Value method_currencySymbol(QV4::SimpleCallContext *ctx); - static QV4::Value method_dateTimeFormat(QV4::SimpleCallContext *ctx); - static QV4::Value method_timeFormat(QV4::SimpleCallContext *ctx); - static QV4::Value method_dateFormat(QV4::SimpleCallContext *ctx); - static QV4::Value method_monthName(QV4::SimpleCallContext *ctx); - static QV4::Value method_standaloneMonthName(QV4::SimpleCallContext *ctx); - static QV4::Value method_dayName(QV4::SimpleCallContext *ctx); - static QV4::Value method_standaloneDayName(QV4::SimpleCallContext *ctx); - - static QV4::Value method_get_firstDayOfWeek(QV4::SimpleCallContext *ctx); - static QV4::Value method_get_measurementSystem(QV4::SimpleCallContext *ctx); - static QV4::Value method_get_textDirection(QV4::SimpleCallContext *ctx); - static QV4::Value method_get_weekDays(QV4::SimpleCallContext *ctx); - static QV4::Value method_get_uiLanguages(QV4::SimpleCallContext *ctx); - - static QV4::Value method_get_name(QV4::SimpleCallContext *ctx); - static QV4::Value method_get_nativeLanguageName(QV4::SimpleCallContext *ctx); - static QV4::Value method_get_nativeCountryName(QV4::SimpleCallContext *ctx); - static QV4::Value method_get_decimalPoint(QV4::SimpleCallContext *ctx); - static QV4::Value method_get_groupSeparator(QV4::SimpleCallContext *ctx); - static QV4::Value method_get_percent(QV4::SimpleCallContext *ctx); - static QV4::Value method_get_zeroDigit(QV4::SimpleCallContext *ctx); - static QV4::Value method_get_negativeSign(QV4::SimpleCallContext *ctx); - static QV4::Value method_get_positiveSign(QV4::SimpleCallContext *ctx); - static QV4::Value method_get_exponential(QV4::SimpleCallContext *ctx); - static QV4::Value method_get_amText(QV4::SimpleCallContext *ctx); - static QV4::Value method_get_pmText(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_currencySymbol(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_dateTimeFormat(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_timeFormat(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_dateFormat(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_monthName(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_standaloneMonthName(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_dayName(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_standaloneDayName(QV4::SimpleCallContext *ctx); + + static QV4::ReturnedValue method_get_firstDayOfWeek(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_get_measurementSystem(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_get_textDirection(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_get_weekDays(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_get_uiLanguages(QV4::SimpleCallContext *ctx); + + static QV4::ReturnedValue method_get_name(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_get_nativeLanguageName(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_get_nativeCountryName(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_get_decimalPoint(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_get_groupSeparator(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_get_percent(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_get_zeroDigit(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_get_negativeSign(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_get_positiveSign(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_get_exponential(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_get_amText(QV4::SimpleCallContext *ctx); + static QV4::ReturnedValue method_get_pmText(QV4::SimpleCallContext *ctx); private: static void destroy(Managed *that) @@ -126,16 +126,16 @@ static bool isLocaleObject(const QV4::Value &val) void QQmlDateExtension::registerExtension(QV4::ExecutionEngine *engine) { - engine->dateClass->prototype->defineDefaultProperty(engine, QStringLiteral("toLocaleString"), toLocaleString); - engine->dateClass->prototype->defineDefaultProperty(engine, QStringLiteral("toLocaleTimeString"), toLocaleTimeString); - engine->dateClass->prototype->defineDefaultProperty(engine, QStringLiteral("toLocaleDateString"), toLocaleDateString); - engine->dateCtor.objectValue()->defineDefaultProperty(engine, QStringLiteral("fromLocaleString"), fromLocaleString); - engine->dateCtor.objectValue()->defineDefaultProperty(engine, QStringLiteral("fromLocaleTimeString"), fromLocaleTimeString); - engine->dateCtor.objectValue()->defineDefaultProperty(engine, QStringLiteral("fromLocaleDateString"), fromLocaleDateString); - engine->dateCtor.objectValue()->defineDefaultProperty(engine, QStringLiteral("timeZoneUpdated"), timeZoneUpdated); + engine->dateClass->prototype->defineDefaultProperty(engine, QStringLiteral("toLocaleString"), method_toLocaleString); + engine->dateClass->prototype->defineDefaultProperty(engine, QStringLiteral("toLocaleTimeString"), method_toLocaleTimeString); + engine->dateClass->prototype->defineDefaultProperty(engine, QStringLiteral("toLocaleDateString"), method_toLocaleDateString); + engine->dateCtor.objectValue()->defineDefaultProperty(engine, QStringLiteral("fromLocaleString"), method_fromLocaleString); + engine->dateCtor.objectValue()->defineDefaultProperty(engine, QStringLiteral("fromLocaleTimeString"), method_fromLocaleTimeString); + engine->dateCtor.objectValue()->defineDefaultProperty(engine, QStringLiteral("fromLocaleDateString"), method_fromLocaleDateString); + engine->dateCtor.objectValue()->defineDefaultProperty(engine, QStringLiteral("timeZoneUpdated"), method_timeZoneUpdated); } -QV4::Value QQmlDateExtension::toLocaleString(QV4::SimpleCallContext *ctx) +QV4::ReturnedValue QQmlDateExtension::method_toLocaleString(QV4::SimpleCallContext *ctx) { if (ctx->argumentCount > 2) return QV4::DatePrototype::method_toLocaleString(ctx); @@ -149,7 +149,7 @@ QV4::Value QQmlDateExtension::toLocaleString(QV4::SimpleCallContext *ctx) if (ctx->argumentCount == 0) { // Use QLocale for standard toLocaleString() function QLocale locale; - return QV4::Value::fromString(ctx, locale.toString(dt)); + return QV4::Value::fromString(ctx, locale.toString(dt)).asReturnedValue(); } if (!isLocaleObject(ctx->arguments[0])) @@ -174,10 +174,10 @@ QV4::Value QQmlDateExtension::toLocaleString(QV4::SimpleCallContext *ctx) formattedDt = r->locale.toString(dt, enumFormat); } - return QV4::Value::fromString(ctx, formattedDt); + return QV4::Value::fromString(ctx, formattedDt).asReturnedValue(); } -QV4::Value QQmlDateExtension::toLocaleTimeString(QV4::SimpleCallContext *ctx) +QV4::ReturnedValue QQmlDateExtension::method_toLocaleTimeString(QV4::SimpleCallContext *ctx) { if (ctx->argumentCount > 2) return QV4::DatePrototype::method_toLocaleTimeString(ctx); @@ -192,7 +192,7 @@ QV4::Value QQmlDateExtension::toLocaleTimeString(QV4::SimpleCallContext *ctx) if (ctx->argumentCount == 0) { // Use QLocale for standard toLocaleString() function QLocale locale; - return QV4::Value::fromString(ctx, locale.toString(time)); + return QV4::Value::fromString(ctx, locale.toString(time)).asReturnedValue(); } if (!isLocaleObject(ctx->arguments[0])) @@ -217,10 +217,10 @@ QV4::Value QQmlDateExtension::toLocaleTimeString(QV4::SimpleCallContext *ctx) formattedTime = r->locale.toString(time, enumFormat); } - return QV4::Value::fromString(ctx, formattedTime); + return QV4::Value::fromString(ctx, formattedTime).asReturnedValue(); } -QV4::Value QQmlDateExtension::toLocaleDateString(QV4::SimpleCallContext *ctx) +QV4::ReturnedValue QQmlDateExtension::method_toLocaleDateString(QV4::SimpleCallContext *ctx) { if (ctx->argumentCount > 2) return QV4::DatePrototype::method_toLocaleDateString(ctx); @@ -235,7 +235,7 @@ QV4::Value QQmlDateExtension::toLocaleDateString(QV4::SimpleCallContext *ctx) if (ctx->argumentCount == 0) { // Use QLocale for standard toLocaleString() function QLocale locale; - return QV4::Value::fromString(ctx, locale.toString(date)); + return QV4::Value::fromString(ctx, locale.toString(date)).asReturnedValue(); } if (!isLocaleObject(ctx->arguments[0])) @@ -260,17 +260,17 @@ QV4::Value QQmlDateExtension::toLocaleDateString(QV4::SimpleCallContext *ctx) formattedDate = r->locale.toString(date, enumFormat); } - return QV4::Value::fromString(ctx, formattedDate); + return QV4::Value::fromString(ctx, formattedDate).asReturnedValue(); } -QV4::Value QQmlDateExtension::fromLocaleString(QV4::SimpleCallContext *ctx) +QV4::ReturnedValue QQmlDateExtension::method_fromLocaleString(QV4::SimpleCallContext *ctx) { QV4::ExecutionEngine * const engine = ctx->engine; if (ctx->argumentCount == 1 && ctx->arguments[0].isString()) { QLocale locale; QString dateString = ctx->arguments[0].stringValue()->toQString(); QDateTime dt = locale.toDateTime(dateString); - return QV4::Value::fromObject(engine->newDateObject(dt)); + return QV4::Value::fromObject(engine->newDateObject(dt)).asReturnedValue(); } if (ctx->argumentCount < 1 || ctx->argumentCount > 3 || !isLocaleObject(ctx->arguments[0])) @@ -296,10 +296,10 @@ QV4::Value QQmlDateExtension::fromLocaleString(QV4::SimpleCallContext *ctx) dt = r->locale.toDateTime(dateString, enumFormat); } - return QV4::Value::fromObject(engine->newDateObject(dt)); + return QV4::Value::fromObject(engine->newDateObject(dt)).asReturnedValue(); } -QV4::Value QQmlDateExtension::fromLocaleTimeString(QV4::SimpleCallContext *ctx) +QV4::ReturnedValue QQmlDateExtension::method_fromLocaleTimeString(QV4::SimpleCallContext *ctx) { QV4::ExecutionEngine * const engine = ctx->engine; @@ -309,7 +309,7 @@ QV4::Value QQmlDateExtension::fromLocaleTimeString(QV4::SimpleCallContext *ctx) QTime time = locale.toTime(timeString); QDateTime dt = QDateTime::currentDateTime(); dt.setTime(time); - return QV4::Value::fromObject(engine->newDateObject(dt)); + return QV4::Value::fromObject(engine->newDateObject(dt)).asReturnedValue(); } if (ctx->argumentCount < 1 || ctx->argumentCount > 3 || !isLocaleObject(ctx->arguments[0])) @@ -338,10 +338,10 @@ QV4::Value QQmlDateExtension::fromLocaleTimeString(QV4::SimpleCallContext *ctx) QDateTime dt = QDateTime::currentDateTime(); dt.setTime(tm); - return QV4::Value::fromObject(engine->newDateObject(dt)); + return QV4::Value::fromObject(engine->newDateObject(dt)).asReturnedValue(); } -QV4::Value QQmlDateExtension::fromLocaleDateString(QV4::SimpleCallContext *ctx) +QV4::ReturnedValue QQmlDateExtension::method_fromLocaleDateString(QV4::SimpleCallContext *ctx) { QV4::ExecutionEngine * const engine = ctx->engine; @@ -349,7 +349,7 @@ QV4::Value QQmlDateExtension::fromLocaleDateString(QV4::SimpleCallContext *ctx) QLocale locale; QString dateString = ctx->arguments[0].stringValue()->toQString(); QDate date = locale.toDate(dateString); - return QV4::Value::fromObject(engine->newDateObject(QDateTime(date))); + return QV4::Value::fromObject(engine->newDateObject(QDateTime(date))).asReturnedValue(); } if (ctx->argumentCount < 1 || ctx->argumentCount > 3 || !isLocaleObject(ctx->arguments[0])) @@ -375,17 +375,17 @@ QV4::Value QQmlDateExtension::fromLocaleDateString(QV4::SimpleCallContext *ctx) dt = r->locale.toDate(dateString, enumFormat); } - return QV4::Value::fromObject(engine->newDateObject(QDateTime(dt))); + return QV4::Value::fromObject(engine->newDateObject(QDateTime(dt))).asReturnedValue(); } -QV4::Value QQmlDateExtension::timeZoneUpdated(QV4::SimpleCallContext *ctx) +QV4::ReturnedValue QQmlDateExtension::method_timeZoneUpdated(QV4::SimpleCallContext *ctx) { if (ctx->argumentCount != 0) V4THROW_ERROR("Locale: Date.timeZoneUpdated(): Invalid arguments"); QV4::DatePrototype::timezoneUpdated(); - return QV4::Value::undefinedValue(); + return QV4::Encode::undefined(); } //----------------- @@ -393,12 +393,12 @@ QV4::Value QQmlDateExtension::timeZoneUpdated(QV4::SimpleCallContext *ctx) void QQmlNumberExtension::registerExtension(QV4::ExecutionEngine *engine) { - engine->numberClass->prototype->defineDefaultProperty(engine, QStringLiteral("toLocaleString"), toLocaleString); - engine->numberClass->prototype->defineDefaultProperty(engine, QStringLiteral("toLocaleCurrencyString"), toLocaleCurrencyString); - engine->numberCtor.objectValue()->defineDefaultProperty(engine, QStringLiteral("fromLocaleString"), fromLocaleString); + engine->numberClass->prototype->defineDefaultProperty(engine, QStringLiteral("toLocaleString"), method_toLocaleString); + engine->numberClass->prototype->defineDefaultProperty(engine, QStringLiteral("toLocaleCurrencyString"), method_toLocaleCurrencyString); + engine->numberCtor.objectValue()->defineDefaultProperty(engine, QStringLiteral("fromLocaleString"), method_fromLocaleString); } -QV4::Value QQmlNumberExtension::toLocaleString(QV4::SimpleCallContext *ctx) +QV4::ReturnedValue QQmlNumberExtension::method_toLocaleString(QV4::SimpleCallContext *ctx) { if (ctx->argumentCount > 3) V4THROW_ERROR("Locale: Number.toLocaleString(): Invalid arguments"); @@ -408,7 +408,7 @@ QV4::Value QQmlNumberExtension::toLocaleString(QV4::SimpleCallContext *ctx) if (ctx->argumentCount == 0) { // Use QLocale for standard toLocaleString() function QLocale locale; - return QV4::Value::fromString(ctx, locale.toString(number)); + return QV4::Value::fromString(ctx, locale.toString(number)).asReturnedValue(); } if (!isLocaleObject(ctx->arguments[0])) @@ -431,10 +431,10 @@ QV4::Value QQmlNumberExtension::toLocaleString(QV4::SimpleCallContext *ctx) prec = ctx->arguments[2].toInt32(); } - return QV4::Value::fromString(ctx, r->locale.toString(number, (char)format, prec)); + return QV4::Value::fromString(ctx, r->locale.toString(number, (char)format, prec)).asReturnedValue(); } -QV4::Value QQmlNumberExtension::toLocaleCurrencyString(QV4::SimpleCallContext *ctx) +QV4::ReturnedValue QQmlNumberExtension::method_toLocaleCurrencyString(QV4::SimpleCallContext *ctx) { if (ctx->argumentCount > 2) V4THROW_ERROR("Locale: Number.toLocaleCurrencyString(): Invalid arguments"); @@ -444,7 +444,7 @@ QV4::Value QQmlNumberExtension::toLocaleCurrencyString(QV4::SimpleCallContext *c if (ctx->argumentCount == 0) { // Use QLocale for standard toLocaleString() function QLocale locale; - return QV4::Value::fromString(ctx, locale.toString(number)); + return QV4::Value::fromString(ctx, locale.toString(number)).asReturnedValue(); } if (!isLocaleObject(ctx->arguments[0])) @@ -459,10 +459,10 @@ QV4::Value QQmlNumberExtension::toLocaleCurrencyString(QV4::SimpleCallContext *c symbol = ctx->arguments[1].toQStringNoThrow(); } - return QV4::Value::fromString(ctx, r->locale.toCurrencyString(number, symbol)); + return QV4::Value::fromString(ctx, r->locale.toCurrencyString(number, symbol)).asReturnedValue(); } -QV4::Value QQmlNumberExtension::fromLocaleString(QV4::SimpleCallContext *ctx) +QV4::ReturnedValue QQmlNumberExtension::method_fromLocaleString(QV4::SimpleCallContext *ctx) { if (ctx->argumentCount < 1 || ctx->argumentCount > 2) V4THROW_ERROR("Locale: Number.fromLocaleString(): Invalid arguments"); @@ -482,7 +482,7 @@ QV4::Value QQmlNumberExtension::fromLocaleString(QV4::SimpleCallContext *ctx) QV4::String *ns = ctx->arguments[numberIdx].toString(ctx); if (ns->isEmpty()) - return QV4::Value::fromDouble(Q_QNAN); + return QV4::Encode(Q_QNAN); bool ok = false; double val = locale.toDouble(ns->toQString(), &ok); @@ -490,34 +490,34 @@ QV4::Value QQmlNumberExtension::fromLocaleString(QV4::SimpleCallContext *ctx) if (!ok) V4THROW_ERROR("Locale: Number.fromLocaleString(): Invalid format") - return QV4::Value::fromDouble(val); + return QV4::Encode(val); } //-------------- // Locale object -QV4::Value QQmlLocaleData::method_get_firstDayOfWeek(QV4::SimpleCallContext *ctx) +QV4::ReturnedValue QQmlLocaleData::method_get_firstDayOfWeek(QV4::SimpleCallContext *ctx) { QLocale locale = getThisLocale(ctx); int fdow = int(locale.firstDayOfWeek()); if (fdow == 7) fdow = 0; // Qt::Sunday = 7, but Sunday is 0 in JS Date - return QV4::Value::fromInt32(fdow); + return QV4::Encode(fdow); } -QV4::Value QQmlLocaleData::method_get_measurementSystem(QV4::SimpleCallContext *ctx) +QV4::ReturnedValue QQmlLocaleData::method_get_measurementSystem(QV4::SimpleCallContext *ctx) { QLocale locale = getThisLocale(ctx); - return QV4::Value::fromInt32(locale.measurementSystem()); + return QV4::Encode(locale.measurementSystem()); } -QV4::Value QQmlLocaleData::method_get_textDirection(QV4::SimpleCallContext *ctx) +QV4::ReturnedValue QQmlLocaleData::method_get_textDirection(QV4::SimpleCallContext *ctx) { QLocale locale = getThisLocale(ctx); - return QV4::Value::fromInt32(locale.textDirection()); + return QV4::Encode(locale.textDirection()); } -QV4::Value QQmlLocaleData::method_get_weekDays(QV4::SimpleCallContext *ctx) +QV4::ReturnedValue QQmlLocaleData::method_get_weekDays(QV4::SimpleCallContext *ctx) { QLocale locale = getThisLocale(ctx); QList<Qt::DayOfWeek> days = locale.weekdays(); @@ -533,10 +533,10 @@ QV4::Value QQmlLocaleData::method_get_weekDays(QV4::SimpleCallContext *ctx) } result->setArrayLengthUnchecked(days.size()); - return QV4::Value::fromObject(result); + return QV4::Value::fromObject(result).asReturnedValue(); } -QV4::Value QQmlLocaleData::method_get_uiLanguages(QV4::SimpleCallContext *ctx) +QV4::ReturnedValue QQmlLocaleData::method_get_uiLanguages(QV4::SimpleCallContext *ctx) { QLocale locale = getThisLocale(ctx); QStringList langs = locale.uiLanguages(); @@ -547,10 +547,10 @@ QV4::Value QQmlLocaleData::method_get_uiLanguages(QV4::SimpleCallContext *ctx) result->arrayData[i].value = QV4::Value::fromString(ctx, langs.at(i)); result->setArrayLengthUnchecked(langs.size()); - return QV4::Value::fromObject(result); + return QV4::Value::fromObject(result).asReturnedValue(); } -QV4::Value QQmlLocaleData::method_currencySymbol(QV4::SimpleCallContext *ctx) +QV4::ReturnedValue QQmlLocaleData::method_currencySymbol(QV4::SimpleCallContext *ctx) { QLocale locale = getThisLocale(ctx); if (ctx->argumentCount > 1) @@ -562,11 +562,11 @@ QV4::Value QQmlLocaleData::method_currencySymbol(QV4::SimpleCallContext *ctx) format = QLocale::CurrencySymbolFormat(intFormat); } - return QV4::Value::fromString(ctx, locale.currencySymbol(format)); + return QV4::Value::fromString(ctx, locale.currencySymbol(format)).asReturnedValue(); } #define LOCALE_FORMAT(FUNC) \ -QV4::Value QQmlLocaleData::method_ ##FUNC (QV4::SimpleCallContext *ctx) { \ +QV4::ReturnedValue QQmlLocaleData::method_ ##FUNC (QV4::SimpleCallContext *ctx) { \ QLocale locale = getThisLocale(ctx); \ if (ctx->argumentCount > 1) \ V4THROW_ERROR("Locale: " #FUNC "(): Invalid arguments"); \ @@ -575,7 +575,7 @@ QV4::Value QQmlLocaleData::method_ ##FUNC (QV4::SimpleCallContext *ctx) { \ quint32 intFormat = ctx->arguments[0].toUInt32(); \ format = QLocale::FormatType(intFormat); \ } \ - return QV4::Value::fromString(ctx, locale. FUNC (format)); \ + return QV4::Value::fromString(ctx, locale. FUNC (format)).asReturnedValue(); \ } LOCALE_FORMAT(dateTimeFormat) @@ -584,7 +584,7 @@ LOCALE_FORMAT(dateFormat) // +1 added to idx because JS is 0-based, whereas QLocale months begin at 1. #define LOCALE_FORMATTED_MONTHNAME(VARIABLE) \ -QV4::Value QQmlLocaleData::method_ ## VARIABLE (QV4::SimpleCallContext *ctx) {\ +QV4::ReturnedValue QQmlLocaleData::method_ ## VARIABLE (QV4::SimpleCallContext *ctx) {\ QLocale locale = getThisLocale(ctx); \ if (ctx->argumentCount < 1 || ctx->argumentCount > 2) \ V4THROW_ERROR("Locale: " #VARIABLE "(): Invalid arguments"); \ @@ -604,12 +604,12 @@ QV4::Value QQmlLocaleData::method_ ## VARIABLE (QV4::SimpleCallContext *ctx) {\ } else { \ name = locale. VARIABLE(idx, enumFormat); \ } \ - return QV4::Value::fromString(ctx, name); \ + return QV4::Value::fromString(ctx, name).asReturnedValue(); \ } // 0 -> 7 as Qt::Sunday is 7, but Sunday is 0 in JS Date #define LOCALE_FORMATTED_DAYNAME(VARIABLE) \ -QV4::Value QQmlLocaleData::method_ ## VARIABLE (QV4::SimpleCallContext *ctx) {\ +QV4::ReturnedValue QQmlLocaleData::method_ ## VARIABLE (QV4::SimpleCallContext *ctx) {\ QLocale locale = getThisLocale(ctx); \ if (ctx->argumentCount < 1 || ctx->argumentCount > 2) \ V4THROW_ERROR("Locale: " #VARIABLE "(): Invalid arguments"); \ @@ -630,7 +630,7 @@ QV4::Value QQmlLocaleData::method_ ## VARIABLE (QV4::SimpleCallContext *ctx) {\ } else { \ name = locale. VARIABLE(idx, enumFormat); \ } \ - return QV4::Value::fromString(ctx, name); \ + return QV4::Value::fromString(ctx, name).asReturnedValue(); \ } LOCALE_FORMATTED_MONTHNAME(monthName) @@ -638,10 +638,10 @@ LOCALE_FORMATTED_MONTHNAME(standaloneMonthName) LOCALE_FORMATTED_DAYNAME(dayName) LOCALE_FORMATTED_DAYNAME(standaloneDayName) -#define LOCALE_STRING_PROPERTY(VARIABLE) QV4::Value QQmlLocaleData::method_get_ ## VARIABLE (QV4::SimpleCallContext* ctx) \ +#define LOCALE_STRING_PROPERTY(VARIABLE) QV4::ReturnedValue QQmlLocaleData::method_get_ ## VARIABLE (QV4::SimpleCallContext* ctx) \ { \ QLocale locale = getThisLocale(ctx); \ - return QV4::Value::fromString(ctx, locale. VARIABLE());\ + return QV4::Value::fromString(ctx, locale. VARIABLE()).asReturnedValue();\ } LOCALE_STRING_PROPERTY(name) @@ -820,10 +820,10 @@ QV4::Value QQmlLocale::locale(QV8Engine *v8engine, const QString &locale) void QQmlLocale::registerStringLocaleCompare(QV4::ExecutionEngine *engine) { - engine->stringClass->prototype->defineDefaultProperty(engine, QStringLiteral("localeCompare"), localeCompare); + engine->stringClass->prototype->defineDefaultProperty(engine, QStringLiteral("localeCompare"), method_localeCompare); } -QV4::Value QQmlLocale::localeCompare(QV4::SimpleCallContext *ctx) +QV4::ReturnedValue QQmlLocale::method_localeCompare(QV4::SimpleCallContext *ctx) { if (ctx->argumentCount != 1 || (!ctx->arguments[0].isString() && !ctx->arguments[0].asStringObject())) return QV4::StringPrototype::method_localeCompare(ctx); @@ -834,7 +834,7 @@ QV4::Value QQmlLocale::localeCompare(QV4::SimpleCallContext *ctx) QString thisString = ctx->thisObject.toQStringNoThrow(); QString thatString = ctx->arguments[0].toQStringNoThrow(); - return QV4::Value::fromInt32(QString::localeAwareCompare(thisString, thatString)); + return QV4::Encode(QString::localeAwareCompare(thisString, thatString)); } /*! |