diff options
author | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-09-14 14:54:42 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-09-19 09:44:33 +0000 |
commit | 042aa2eb0e55616fc754d0d71246efb531ca6dfe (patch) | |
tree | f48118a1f8564b4c4cbadc0ebf291d56d59dbb70 /src/qml/qml | |
parent | b7ddcdad876cf0a46aa14a0f78ee8b3e4f685c19 (diff) |
Change CallData::argc to be a QV4::Value
Instead of mimicking a Value. This makes sure that argc now stays
correct even when anything on Value changes.
Most of the change is mechanical: replace callData->argc by
callData->argc().
Change-Id: I521831ae1ffb3966bad6589c18d7a373e13439d7
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/qml')
-rw-r--r-- | src/qml/qml/qqmlcomponent.cpp | 2 | ||||
-rw-r--r-- | src/qml/qml/qqmldelayedcallqueue.cpp | 9 | ||||
-rw-r--r-- | src/qml/qml/qqmllistwrapper.cpp | 2 | ||||
-rw-r--r-- | src/qml/qml/qqmllocale.cpp | 74 | ||||
-rw-r--r-- | src/qml/qml/qqmlxmlhttprequest.cpp | 18 | ||||
-rw-r--r-- | src/qml/qml/v8/qqmlbuiltinfunctions.cpp | 140 | ||||
-rw-r--r-- | src/qml/qml/v8/qv8engine_p.h | 4 |
7 files changed, 124 insertions, 125 deletions
diff --git a/src/qml/qml/qqmlcomponent.cpp b/src/qml/qml/qqmlcomponent.cpp index dd0d2096ce..945629899c 100644 --- a/src/qml/qml/qqmlcomponent.cpp +++ b/src/qml/qml/qqmlcomponent.cpp @@ -1492,7 +1492,7 @@ QV4::ReturnedValue QV4::QmlIncubatorObject::method_set_statusChanged(const Built { QV4::Scope scope(b); QV4::Scoped<QmlIncubatorObject> o(scope, callData->thisObject.as<QmlIncubatorObject>()); - if (!o || callData->argc < 1) + if (!o || callData->argc() < 1) THROW_TYPE_ERROR(); o->d()->statusChanged.set(scope.engine, callData->args[0]); diff --git a/src/qml/qml/qqmldelayedcallqueue.cpp b/src/qml/qml/qqmldelayedcallqueue.cpp index 1537657e0d..738f87247f 100644 --- a/src/qml/qml/qqmldelayedcallqueue.cpp +++ b/src/qml/qml/qqmldelayedcallqueue.cpp @@ -109,7 +109,7 @@ void QQmlDelayedCallQueue::init(QV4::ExecutionEngine* engine) QV4::ReturnedValue QQmlDelayedCallQueue::addUniquelyAndExecuteLater(const QV4::BuiltinFunction *b, QV4::CallData *callData) { QV4::Scope scope(b); - if (callData->argc == 0) + if (callData->argc() == 0) THROW_GENERIC_ERROR("Qt.callLater: no arguments given"); const QV4::FunctionObject *func = callData->args[0].as<QV4::FunctionObject>(); @@ -176,17 +176,16 @@ QV4::ReturnedValue QQmlDelayedCallQueue::addUniquelyAndExecuteLater(const QV4::B void QQmlDelayedCallQueue::storeAnyArguments(DelayedFunctionCall &dfc, const QV4::CallData *callData, int offset, QV4::ExecutionEngine *engine) { - const int length = callData->argc - offset; + const int length = callData->argc() - offset; if (length == 0) { dfc.m_args.clear(); return; } QV4::Scope scope(engine); QV4::ScopedArrayObject array(scope, engine->newArrayObject(length)); - int i = 0; - for (int j = offset; j < callData->argc; ++i, ++j) { + uint i = 0; + for (int j = offset, ej = callData->argc(); j < ej; ++i, ++j) array->putIndexed(i, callData->args[j]); - } dfc.m_args.set(engine, array); } diff --git a/src/qml/qml/qqmllistwrapper.cpp b/src/qml/qml/qqmllistwrapper.cpp index 8204400956..b4be83a156 100644 --- a/src/qml/qml/qqmllistwrapper.cpp +++ b/src/qml/qml/qqmllistwrapper.cpp @@ -184,7 +184,7 @@ ReturnedValue PropertyListPrototype::method_push(const BuiltinFunction *b, CallD THROW_GENERIC_ERROR("List doesn't define an Append function"); QV4::ScopedObject so(scope); - for (int i = 0; i < callData->argc; ++i) + for (int i = 0, ei = callData->argc(); i < ei; ++i) { so = callData->args[i].toObject(scope.engine); if (QV4::QObjectWrapper *wrapper = so->as<QV4::QObjectWrapper>()) diff --git a/src/qml/qml/qqmllocale.cpp b/src/qml/qml/qqmllocale.cpp index 862d9e1f14..f6aae67548 100644 --- a/src/qml/qml/qqmllocale.cpp +++ b/src/qml/qml/qqmllocale.cpp @@ -89,7 +89,7 @@ void QQmlDateExtension::registerExtension(QV4::ExecutionEngine *engine) ReturnedValue QQmlDateExtension::method_toLocaleString(const BuiltinFunction *b, CallData *callData) { Scope scope(b); - if (callData->argc > 2) + if (callData->argc() > 2) return QV4::DatePrototype::method_toLocaleString(b, callData); QV4::DateObject *date = callData->thisObject.as<DateObject>(); @@ -98,7 +98,7 @@ ReturnedValue QQmlDateExtension::method_toLocaleString(const BuiltinFunction *b, QDateTime dt = date->toQDateTime(); - if (callData->argc == 0) { + if (callData->argc() == 0) { // Use QLocale for standard toLocaleString() function QLocale locale; RETURN_RESULT(scope.engine->newString(locale.toString(dt))); @@ -111,7 +111,7 @@ ReturnedValue QQmlDateExtension::method_toLocaleString(const BuiltinFunction *b, QLocale::FormatType enumFormat = QLocale::LongFormat; QString formattedDt; - if (callData->argc == 2) { + if (callData->argc() == 2) { if (String *s = callData->args[1].stringValue()) { QString format = s->toQString(); formattedDt = r->d()->locale->toString(dt, format); @@ -132,7 +132,7 @@ ReturnedValue QQmlDateExtension::method_toLocaleString(const BuiltinFunction *b, ReturnedValue QQmlDateExtension::method_toLocaleTimeString(const BuiltinFunction *b, CallData *callData) { Scope scope(b); - if (callData->argc > 2) + if (callData->argc() > 2) return QV4::DatePrototype::method_toLocaleTimeString(b, callData); QV4::DateObject *date = callData->thisObject.as<DateObject>(); @@ -142,7 +142,7 @@ ReturnedValue QQmlDateExtension::method_toLocaleTimeString(const BuiltinFunction QDateTime dt = date->toQDateTime(); QTime time = dt.time(); - if (callData->argc == 0) { + if (callData->argc() == 0) { // Use QLocale for standard toLocaleString() function QLocale locale; RETURN_RESULT(scope.engine->newString(locale.toString(time))); @@ -155,7 +155,7 @@ ReturnedValue QQmlDateExtension::method_toLocaleTimeString(const BuiltinFunction QLocale::FormatType enumFormat = QLocale::LongFormat; QString formattedTime; - if (callData->argc == 2) { + if (callData->argc() == 2) { if (String *s = callData->args[1].stringValue()) { QString format = s->toQString(); formattedTime = r->d()->locale->toString(time, format); @@ -176,7 +176,7 @@ ReturnedValue QQmlDateExtension::method_toLocaleTimeString(const BuiltinFunction ReturnedValue QQmlDateExtension::method_toLocaleDateString(const BuiltinFunction *b, CallData *callData) { Scope scope(b); - if (callData->argc > 2) + if (callData->argc() > 2) return QV4::DatePrototype::method_toLocaleDateString(b, callData); QV4::DateObject *dateObj = callData->thisObject.as<DateObject>(); @@ -186,7 +186,7 @@ ReturnedValue QQmlDateExtension::method_toLocaleDateString(const BuiltinFunction QDateTime dt = dateObj->toQDateTime(); QDate date = dt.date(); - if (callData->argc == 0) { + if (callData->argc() == 0) { // Use QLocale for standard toLocaleString() function QLocale locale; RETURN_RESULT(scope.engine->newString(locale.toString(date))); @@ -199,7 +199,7 @@ ReturnedValue QQmlDateExtension::method_toLocaleDateString(const BuiltinFunction QLocale::FormatType enumFormat = QLocale::LongFormat; QString formattedDate; - if (callData->argc == 2) { + if (callData->argc() == 2) { if (String *s = callData->args[1].stringValue()) { QString format = s->toQString(); formattedDate = r->d()->locale->toString(date, format); @@ -221,7 +221,7 @@ ReturnedValue QQmlDateExtension::method_fromLocaleString(const BuiltinFunction * { QV4::Scope scope(b); QV4::ExecutionEngine * const engine = scope.engine; - if (callData->argc == 1) { + if (callData->argc() == 1) { if (String *s = callData->args[0].stringValue()) { QLocale locale; QString dateString = s->toQString(); @@ -230,7 +230,7 @@ ReturnedValue QQmlDateExtension::method_fromLocaleString(const BuiltinFunction * } } - if (callData->argc < 1 || callData->argc > 3 || !isLocaleObject(callData->args[0])) + if (callData->argc() < 1 || callData->argc() > 3 || !isLocaleObject(callData->args[0])) THROW_ERROR("Locale: Date.fromLocaleString(): Invalid arguments"); GET_LOCALE_DATA_RESOURCE(callData->args[0]); @@ -238,7 +238,7 @@ ReturnedValue QQmlDateExtension::method_fromLocaleString(const BuiltinFunction * QLocale::FormatType enumFormat = QLocale::LongFormat; QDateTime dt; QString dateString = callData->args[1].toQStringNoThrow(); - if (callData->argc == 3) { + if (callData->argc() == 3) { if (String *s = callData->args[2].stringValue()) { QString format = s->toQString(); dt = r->d()->locale->toDateTime(dateString, format); @@ -261,7 +261,7 @@ ReturnedValue QQmlDateExtension::method_fromLocaleTimeString(const BuiltinFuncti QV4::Scope scope(b); QV4::ExecutionEngine * const engine = scope.engine; - if (callData->argc == 1) { + if (callData->argc() == 1) { if (String *s = callData->args[0].stringValue()) { QLocale locale; QString timeString = s->toQString(); @@ -272,7 +272,7 @@ ReturnedValue QQmlDateExtension::method_fromLocaleTimeString(const BuiltinFuncti } } - if (callData->argc < 1 || callData->argc > 3 || !isLocaleObject(callData->args[0])) + if (callData->argc() < 1 || callData->argc() > 3 || !isLocaleObject(callData->args[0])) THROW_ERROR("Locale: Date.fromLocaleTimeString(): Invalid arguments"); GET_LOCALE_DATA_RESOURCE(callData->args[0]); @@ -280,7 +280,7 @@ ReturnedValue QQmlDateExtension::method_fromLocaleTimeString(const BuiltinFuncti QLocale::FormatType enumFormat = QLocale::LongFormat; QTime tm; QString dateString = callData->args[1].toQStringNoThrow(); - if (callData->argc == 3) { + if (callData->argc() == 3) { if (String *s = callData->args[2].stringValue()) { QString format = s->toQString(); tm = r->d()->locale->toTime(dateString, format); @@ -309,7 +309,7 @@ ReturnedValue QQmlDateExtension::method_fromLocaleDateString(const BuiltinFuncti QV4::Scope scope(b); QV4::ExecutionEngine * const engine = scope.engine; - if (callData->argc == 1) { + if (callData->argc() == 1) { if (String *s = callData->args[0].stringValue()) { QLocale locale; QString dateString = s->toQString(); @@ -318,7 +318,7 @@ ReturnedValue QQmlDateExtension::method_fromLocaleDateString(const BuiltinFuncti } } - if (callData->argc < 1 || callData->argc > 3 || !isLocaleObject(callData->args[0])) + if (callData->argc() < 1 || callData->argc() > 3 || !isLocaleObject(callData->args[0])) THROW_ERROR("Locale: Date.fromLocaleDateString(): Invalid arguments"); GET_LOCALE_DATA_RESOURCE(callData->args[0]); @@ -326,7 +326,7 @@ ReturnedValue QQmlDateExtension::method_fromLocaleDateString(const BuiltinFuncti QLocale::FormatType enumFormat = QLocale::LongFormat; QDate dt; QString dateString = callData->args[1].toQStringNoThrow(); - if (callData->argc == 3) { + if (callData->argc() == 3) { if (String *s = callData->args[2].stringValue()) { QString format = s->toQString(); dt = r->d()->locale->toDate(dateString, format); @@ -347,7 +347,7 @@ ReturnedValue QQmlDateExtension::method_fromLocaleDateString(const BuiltinFuncti ReturnedValue QQmlDateExtension::method_timeZoneUpdated(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 0) + if (callData->argc() != 0) THROW_ERROR("Locale: Date.timeZoneUpdated(): Invalid arguments"); QV4::DatePrototype::timezoneUpdated(); @@ -368,12 +368,12 @@ void QQmlNumberExtension::registerExtension(QV4::ExecutionEngine *engine) QV4::ReturnedValue QQmlNumberExtension::method_toLocaleString(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc > 3) + if (callData->argc() > 3) THROW_ERROR("Locale: Number.toLocaleString(): Invalid arguments"); double number = callData->thisObject.toNumber(); - if (callData->argc == 0) { + if (callData->argc() == 0) { // Use QLocale for standard toLocaleString() function QLocale locale; RETURN_RESULT(scope.engine->newString(locale.toString(number))); @@ -385,7 +385,7 @@ QV4::ReturnedValue QQmlNumberExtension::method_toLocaleString(const BuiltinFunct GET_LOCALE_DATA_RESOURCE(callData->args[0]); quint16 format = 'f'; - if (callData->argc > 1) { + if (callData->argc() > 1) { if (!callData->args[1].isString()) THROW_ERROR("Locale: Number.toLocaleString(): Invalid arguments"); QString fs = callData->args[1].toQString(); @@ -393,7 +393,7 @@ QV4::ReturnedValue QQmlNumberExtension::method_toLocaleString(const BuiltinFunct format = fs.at(0).unicode(); } int prec = 2; - if (callData->argc > 2) { + if (callData->argc() > 2) { if (!callData->args[2].isNumber()) THROW_ERROR("Locale: Number.toLocaleString(): Invalid arguments"); prec = callData->args[2].toInt32(); @@ -405,12 +405,12 @@ QV4::ReturnedValue QQmlNumberExtension::method_toLocaleString(const BuiltinFunct ReturnedValue QQmlNumberExtension::method_toLocaleCurrencyString(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc > 2) + if (callData->argc() > 2) THROW_ERROR("Locale: Number.toLocaleCurrencyString(): Invalid arguments"); double number = callData->thisObject.toNumber(); - if (callData->argc == 0) { + if (callData->argc() == 0) { // Use QLocale for standard toLocaleString() function QLocale locale; RETURN_RESULT(scope.engine->newString(locale.toString(number))); @@ -422,7 +422,7 @@ ReturnedValue QQmlNumberExtension::method_toLocaleCurrencyString(const BuiltinFu GET_LOCALE_DATA_RESOURCE(callData->args[0]); QString symbol; - if (callData->argc > 1) { + if (callData->argc() > 1) { if (!callData->args[1].isString()) THROW_ERROR("Locale: Number.toLocaleString(): Invalid arguments"); symbol = callData->args[1].toQStringNoThrow(); @@ -434,13 +434,13 @@ ReturnedValue QQmlNumberExtension::method_toLocaleCurrencyString(const BuiltinFu ReturnedValue QQmlNumberExtension::method_fromLocaleString(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc < 1 || callData->argc > 2) + if (callData->argc() < 1 || callData->argc() > 2) THROW_ERROR("Locale: Number.fromLocaleString(): Invalid arguments"); int numberIdx = 0; QLocale locale; - if (callData->argc == 2) { + if (callData->argc() == 2) { if (!isLocaleObject(callData->args[0])) THROW_ERROR("Locale: Number.fromLocaleString(): Invalid arguments"); @@ -545,11 +545,11 @@ ReturnedValue QQmlLocaleData::method_currencySymbol(const BuiltinFunction *b, Ca if (!locale) return Encode::undefined(); - if (callData->argc > 1) + if (callData->argc() > 1) THROW_ERROR("Locale: currencySymbol(): Invalid arguments"); QLocale::CurrencySymbolFormat format = QLocale::CurrencySymbol; - if (callData->argc == 1) { + if (callData->argc() == 1) { quint32 intFormat = callData->args[0].toNumber(); format = QLocale::CurrencySymbolFormat(intFormat); } @@ -563,10 +563,10 @@ ReturnedValue QQmlLocaleData::method_ ##FUNC (const BuiltinFunction *b, CallData QLocale *locale = getThisLocale(scope, callData); \ if (!locale) \ return Encode::undefined(); \ - if (callData->argc > 1) \ + if (callData->argc() > 1) \ THROW_ERROR("Locale: " #FUNC "(): Invalid arguments"); \ QLocale::FormatType format = QLocale::LongFormat;\ - if (callData->argc == 1) { \ + if (callData->argc() == 1) { \ quint32 intFormat = callData->args[0].toUInt32(); \ format = QLocale::FormatType(intFormat); \ } \ @@ -584,14 +584,14 @@ ReturnedValue QQmlLocaleData::method_ ## VARIABLE (const BuiltinFunction *b, Cal QLocale *locale = getThisLocale(scope, callData); \ if (!locale) \ return Encode::undefined(); \ - if (callData->argc < 1 || callData->argc > 2) \ + if (callData->argc() < 1 || callData->argc() > 2) \ THROW_ERROR("Locale: " #VARIABLE "(): Invalid arguments"); \ QLocale::FormatType enumFormat = QLocale::LongFormat; \ int idx = callData->args[0].toInt32() + 1; \ if (idx < 1 || idx > 12) \ THROW_ERROR("Locale: Invalid month"); \ QString name; \ - if (callData->argc == 2) { \ + if (callData->argc() == 2) { \ if (callData->args[1].isNumber()) { \ quint32 intFormat = callData->args[1].toUInt32(); \ QLocale::FormatType format = QLocale::FormatType(intFormat); \ @@ -612,7 +612,7 @@ ReturnedValue QQmlLocaleData::method_ ## VARIABLE (const BuiltinFunction *b, Cal QLocale *locale = getThisLocale(scope, callData); \ if (!locale) \ return Encode::undefined(); \ - if (callData->argc < 1 || callData->argc > 2) \ + if (callData->argc() < 1 || callData->argc() > 2) \ THROW_ERROR("Locale: " #VARIABLE "(): Invalid arguments"); \ QLocale::FormatType enumFormat = QLocale::LongFormat; \ int idx = callData->args[0].toInt32(); \ @@ -620,7 +620,7 @@ ReturnedValue QQmlLocaleData::method_ ## VARIABLE (const BuiltinFunction *b, Cal THROW_ERROR("Locale: Invalid day"); \ if (idx == 0) idx = 7; \ QString name; \ - if (callData->argc == 2) { \ + if (callData->argc() == 2) { \ if (callData->args[1].isNumber()) { \ quint32 intFormat = callData->args[1].toUInt32(); \ QLocale::FormatType format = QLocale::FormatType(intFormat); \ @@ -839,7 +839,7 @@ void QQmlLocale::registerStringLocaleCompare(QV4::ExecutionEngine *engine) ReturnedValue QQmlLocale::method_localeCompare(const BuiltinFunction *b, CallData *callData) { - if (callData->argc != 1 || (!callData->args[0].isString() && !callData->args[0].as<StringObject>())) + if (callData->argc() != 1 || (!callData->args[0].isString() && !callData->args[0].as<StringObject>())) return QV4::StringPrototype::method_localeCompare(b, callData); if (!callData->thisObject.isString() && !callData->thisObject.as<StringObject>()) diff --git a/src/qml/qml/qqmlxmlhttprequest.cpp b/src/qml/qml/qqmlxmlhttprequest.cpp index 21f1fb30b0..554c4c5bc4 100644 --- a/src/qml/qml/qqmlxmlhttprequest.cpp +++ b/src/qml/qml/qqmlxmlhttprequest.cpp @@ -1738,7 +1738,7 @@ ReturnedValue QQmlXMLHttpRequestCtor::method_open(const BuiltinFunction *b, QV4: V4THROW_REFERENCE("Not an XMLHttpRequest object"); QQmlXMLHttpRequest *r = w->d()->request; - if (callData->argc < 2 || callData->argc > 5) + if (callData->argc() < 2 || callData->argc() > 5) THROW_DOM(DOMEXCEPTION_SYNTAX_ERR, "Incorrect argument count"); // Argument 0 - Method @@ -1761,15 +1761,15 @@ ReturnedValue QQmlXMLHttpRequestCtor::method_open(const BuiltinFunction *b, QV4: bool async = true; // Argument 2 - async (optional) - if (callData->argc > 2) { + if (callData->argc() > 2) { async = callData->args[2].booleanValue(); } // Argument 3/4 - user/pass (optional) QString username, password; - if (callData->argc > 3) + if (callData->argc() > 3) username = callData->args[3].toQStringNoThrow(); - if (callData->argc > 4) + if (callData->argc() > 4) password = callData->args[4].toQStringNoThrow(); // Clear the fragment (if any) @@ -1790,7 +1790,7 @@ ReturnedValue QQmlXMLHttpRequestCtor::method_setRequestHeader(const BuiltinFunct V4THROW_REFERENCE("Not an XMLHttpRequest object"); QQmlXMLHttpRequest *r = w->d()->request; - if (callData->argc != 2) + if (callData->argc() != 2) THROW_DOM(DOMEXCEPTION_SYNTAX_ERR, "Incorrect argument count"); if (r->readyState() != QQmlXMLHttpRequest::Opened || r->sendFlag()) @@ -1842,7 +1842,7 @@ ReturnedValue QQmlXMLHttpRequestCtor::method_send(const BuiltinFunction *b, QV4: THROW_DOM(DOMEXCEPTION_INVALID_STATE_ERR, "Invalid state"); QByteArray data; - if (callData->argc > 0) { + if (callData->argc() > 0) { if (const ArrayBuffer *buffer = callData->args[0].as<ArrayBuffer>()) { data = buffer->asByteArray(); } else { @@ -1872,7 +1872,7 @@ ReturnedValue QQmlXMLHttpRequestCtor::method_getResponseHeader(const BuiltinFunc V4THROW_REFERENCE("Not an XMLHttpRequest object"); QQmlXMLHttpRequest *r = w->d()->request; - if (callData->argc != 1) + if (callData->argc() != 1) THROW_DOM(DOMEXCEPTION_SYNTAX_ERR, "Incorrect argument count"); if (r->readyState() != QQmlXMLHttpRequest::Loading && @@ -1891,7 +1891,7 @@ ReturnedValue QQmlXMLHttpRequestCtor::method_getAllResponseHeaders(const Builtin V4THROW_REFERENCE("Not an XMLHttpRequest object"); QQmlXMLHttpRequest *r = w->d()->request; - if (callData->argc != 0) + if (callData->argc() != 0) THROW_DOM(DOMEXCEPTION_SYNTAX_ERR, "Incorrect argument count"); if (r->readyState() != QQmlXMLHttpRequest::Loading && @@ -2029,7 +2029,7 @@ ReturnedValue QQmlXMLHttpRequestCtor::method_set_responseType(const BuiltinFunct V4THROW_REFERENCE("Not an XMLHttpRequest object"); QQmlXMLHttpRequest *r = w->d()->request; - if (callData->argc < 1) + if (callData->argc() < 1) THROW_DOM(DOMEXCEPTION_SYNTAX_ERR, "Incorrect argument count"); // Argument 0 - response type diff --git a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp index dcbe2b2a5b..bfa155161d 100644 --- a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp +++ b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp @@ -230,7 +230,7 @@ Returns true if \c object is a valid reference to a Qt or QML object, otherwise */ ReturnedValue QtObject::method_isQtObject(const BuiltinFunction *, CallData *callData) { - if (callData->argc == 0) + if (callData->argc() == 0) RETURN_RESULT(QV4::Encode(false)); return QV4::Encode(callData->args[0].as<QV4::QObjectWrapper>() != 0); @@ -245,7 +245,7 @@ All components should be in the range 0-1 inclusive. ReturnedValue QtObject::method_rgba(const BuiltinFunction *builtin, CallData *callData) { QV4::Scope scope(builtin); - int argCount = callData->argc; + int argCount = callData->argc(); if (argCount < 3 || argCount > 4) THROW_GENERIC_ERROR("Qt.rgba(): Invalid arguments"); @@ -275,7 +275,7 @@ All components should be in the range 0-1 inclusive. ReturnedValue QtObject::method_hsla(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - int argCount = callData->argc; + int argCount = callData->argc(); if (argCount < 3 || argCount > 4) THROW_GENERIC_ERROR("Qt.hsla(): Invalid arguments"); @@ -307,7 +307,7 @@ All components should be in the range 0-1 inclusive. ReturnedValue QtObject::method_hsva(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - int argCount = callData->argc; + int argCount = callData->argc(); if (argCount < 3 || argCount > 4) THROW_GENERIC_ERROR("Qt.hsva(): Invalid arguments"); @@ -335,7 +335,7 @@ basic type. ReturnedValue QtObject::method_colorEqual(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 2) + if (callData->argc() != 2) THROW_GENERIC_ERROR("Qt.colorEqual(): Invalid arguments"); bool ok = false; @@ -374,7 +374,7 @@ The returned object has \c x, \c y, \c width and \c height attributes with the g ReturnedValue QtObject::method_rect(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 4) + if (callData->argc() != 4) THROW_GENERIC_ERROR("Qt.rect(): Invalid arguments"); double x = callData->args[0].toNumber(); @@ -392,7 +392,7 @@ Returns a Point with the specified \c x and \c y coordinates. ReturnedValue QtObject::method_point(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 2) + if (callData->argc() != 2) THROW_GENERIC_ERROR("Qt.point(): Invalid arguments"); double x = callData->args[0].toNumber(); @@ -408,7 +408,7 @@ Returns a Size with the specified \c width and \c height. ReturnedValue QtObject::method_size(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 2) + if (callData->argc() != 2) THROW_GENERIC_ERROR("Qt.size(): Invalid arguments"); double w = callData->args[0].toNumber(); @@ -428,7 +428,7 @@ Invalid keys will be ignored. ReturnedValue QtObject::method_font(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 1 || !callData->args[0].isObject()) + if (callData->argc() != 1 || !callData->args[0].isObject()) THROW_GENERIC_ERROR("Qt.font(): Invalid arguments"); QV4::ExecutionEngine *v4 = scope.engine; @@ -448,7 +448,7 @@ Returns a Vector2D with the specified \c x and \c y. ReturnedValue QtObject::method_vector2d(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 2) + if (callData->argc() != 2) THROW_GENERIC_ERROR("Qt.vector2d(): Invalid arguments"); float xy[3]; // qvector2d uses float internally @@ -466,7 +466,7 @@ Returns a Vector3D with the specified \c x, \c y and \c z. ReturnedValue QtObject::method_vector3d(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 3) + if (callData->argc() != 3) THROW_GENERIC_ERROR("Qt.vector3d(): Invalid arguments"); float xyz[3]; // qvector3d uses float internally @@ -485,7 +485,7 @@ Returns a Vector4D with the specified \c x, \c y, \c z and \c w. ReturnedValue QtObject::method_vector4d(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 4) + if (callData->argc() != 4) THROW_GENERIC_ERROR("Qt.vector4d(): Invalid arguments"); float xyzw[4]; // qvector4d uses float internally @@ -505,7 +505,7 @@ Returns a Quaternion with the specified \c scalar, \c x, \c y, and \c z. ReturnedValue QtObject::method_quaternion(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 4) + if (callData->argc() != 4) THROW_GENERIC_ERROR("Qt.quaternion(): Invalid arguments"); qreal sxyz[4]; // qquaternion uses qreal internally @@ -531,11 +531,11 @@ ReturnedValue QtObject::method_matrix4x4(const BuiltinFunction *b, CallData *cal { QV4::Scope scope(b); - if (callData->argc == 0) { + if (callData->argc() == 0) { return scope.engine->fromVariant(QQml_valueTypeProvider()->createValueType(QMetaType::QMatrix4x4, 0, Q_NULLPTR)); } - if (callData->argc == 1 && callData->args[0].isObject()) { + if (callData->argc() == 1 && callData->args[0].isObject()) { bool ok = false; QVariant v = QQml_valueTypeProvider()->createVariantFromJsObject(QMetaType::QMatrix4x4, QQmlV4Handle(callData->args[0]), scope.engine, &ok); if (!ok) @@ -543,7 +543,7 @@ ReturnedValue QtObject::method_matrix4x4(const BuiltinFunction *b, CallData *cal return scope.engine->fromVariant(v); } - if (callData->argc != 16) + if (callData->argc() != 16) THROW_GENERIC_ERROR("Qt.matrix4x4(): Invalid arguments"); qreal vals[16]; // qmatrix4x4 uses qreal internally @@ -585,7 +585,7 @@ If \c factor is not supplied, returns a color 50% lighter than \c baseColor (fac ReturnedValue QtObject::method_lighter(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 1 && callData->argc != 2) + if (callData->argc() != 1 && callData->argc() != 2) THROW_GENERIC_ERROR("Qt.lighter(): Invalid arguments"); QVariant v = scope.engine->toVariant(callData->args[0], -1); @@ -600,7 +600,7 @@ ReturnedValue QtObject::method_lighter(const BuiltinFunction *b, CallData *callD } qreal factor = 1.5; - if (callData->argc == 2) + if (callData->argc() == 2) factor = callData->args[1].toNumber(); return scope.engine->fromVariant(QQml_colorProvider()->lighter(v, factor)); @@ -624,7 +624,7 @@ If \c factor is not supplied, returns a color 50% darker than \c baseColor (fact ReturnedValue QtObject::method_darker(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 1 && callData->argc != 2) + if (callData->argc() != 1 && callData->argc() != 2) THROW_GENERIC_ERROR("Qt.darker(): Invalid arguments"); QVariant v = scope.engine->toVariant(callData->args[0], -1); @@ -639,7 +639,7 @@ ReturnedValue QtObject::method_darker(const BuiltinFunction *b, CallData *callDa } qreal factor = 2.0; - if (callData->argc == 2) + if (callData->argc() == 2) factor = callData->args[1].toNumber(); return scope.engine->fromVariant(QQml_colorProvider()->darker(v, factor)); @@ -672,7 +672,7 @@ ReturnedValue QtObject::method_darker(const BuiltinFunction *b, CallData *callDa ReturnedValue QtObject::method_tint(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 2) + if (callData->argc() != 2) THROW_GENERIC_ERROR("Qt.tint(): Invalid arguments"); // base color @@ -721,13 +721,13 @@ If \a format is not specified, \a date is formatted using ReturnedValue QtObject::method_formatDate(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc < 1 || callData->argc > 2) + if (callData->argc() < 1 || callData->argc() > 2) THROW_GENERIC_ERROR("Qt.formatDate(): Invalid arguments"); Qt::DateFormat enumFormat = Qt::DefaultLocaleShortDate; QDate date = scope.engine->toVariant(callData->args[0], -1).toDateTime().date(); QString formattedDate; - if (callData->argc == 2) { + if (callData->argc() == 2) { QV4::ScopedString s(scope, callData->args[1]); if (s) { QString format = s->toQString(); @@ -764,7 +764,7 @@ If \a format is not specified, \a time is formatted using ReturnedValue QtObject::method_formatTime(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc < 1 || callData->argc > 2) + if (callData->argc() < 1 || callData->argc() > 2) THROW_GENERIC_ERROR("Qt.formatTime(): Invalid arguments"); QVariant argVariant = scope.engine->toVariant(callData->args[0], -1); @@ -776,7 +776,7 @@ ReturnedValue QtObject::method_formatTime(const BuiltinFunction *b, CallData *ca Qt::DateFormat enumFormat = Qt::DefaultLocaleShortDate; QString formattedTime; - if (callData->argc == 2) { + if (callData->argc() == 2) { QV4::ScopedString s(scope, callData->args[1]); if (s) { QString format = s->toQString(); @@ -890,13 +890,13 @@ with the \a format values below to produce the following results: ReturnedValue QtObject::method_formatDateTime(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc < 1 || callData->argc > 2) + if (callData->argc() < 1 || callData->argc() > 2) THROW_GENERIC_ERROR("Qt.formatDateTime(): Invalid arguments"); Qt::DateFormat enumFormat = Qt::DefaultLocaleShortDate; QDateTime dt = scope.engine->toVariant(callData->args[0], -1).toDateTime(); QString formattedDt; - if (callData->argc == 2) { + if (callData->argc() == 2) { QV4::ScopedString s(scope, callData->args[1]); if (s) { QString format = s->toQString(); @@ -929,7 +929,7 @@ ReturnedValue QtObject::method_formatDateTime(const BuiltinFunction *b, CallData ReturnedValue QtObject::method_openUrlExternally(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 1) { + if (callData->argc() != 1) { return QV4::Encode(false); } @@ -968,7 +968,7 @@ Returns a list of the font families available to the application. ReturnedValue QtObject::method_fontFamilies(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 0) + if (callData->argc() != 0) THROW_GENERIC_ERROR("Qt.fontFamilies(): Invalid arguments"); return scope.engine->fromVariant(QVariant(QQml_guiProvider()->fontFamilies())); @@ -981,7 +981,7 @@ Returns a hex string of the md5 hash of \c data. ReturnedValue QtObject::method_md5(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 1) + if (callData->argc() != 1) THROW_GENERIC_ERROR("Qt.md5(): Invalid arguments"); QByteArray data = callData->args[0].toQStringNoThrow().toUtf8(); @@ -996,7 +996,7 @@ Binary to ASCII - this function returns a base64 encoding of \c data. ReturnedValue QtObject::method_btoa(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 1) + if (callData->argc() != 1) THROW_GENERIC_ERROR("Qt.btoa(): Invalid arguments"); QByteArray data = callData->args[0].toQStringNoThrow().toUtf8(); @@ -1011,7 +1011,7 @@ ASCII to binary - this function decodes the base64 encoded \a data string and re ReturnedValue QtObject::method_atob(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 1) + if (callData->argc() != 1) THROW_GENERIC_ERROR("Qt.atob(): Invalid arguments"); QByteArray data = callData->args[0].toQStringNoThrow().toLatin1(); @@ -1048,7 +1048,7 @@ ReturnedValue QtObject::method_quit(const BuiltinFunction *b, CallData *) ReturnedValue QtObject::method_exit(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 1) + if (callData->argc() != 1) THROW_GENERIC_ERROR("Qt.exit(): Invalid arguments"); int retCode = callData->args[0].toNumber(); @@ -1084,7 +1084,7 @@ See \l {Dynamic QML Object Creation from JavaScript} for more information on usi ReturnedValue QtObject::method_createQmlObject(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc < 2 || callData->argc > 3) + if (callData->argc() < 2 || callData->argc() > 3) THROW_GENERIC_ERROR("Qt.createQmlObject(): Invalid arguments"); struct Error { @@ -1133,7 +1133,7 @@ ReturnedValue QtObject::method_createQmlObject(const BuiltinFunction *b, CallDat RETURN_RESULT(Encode::null()); QUrl url; - if (callData->argc > 2) + if (callData->argc() > 2) url = QUrl(callData->args[2].toQStringNoThrow()); else url = QUrl(QLatin1String("inline")); @@ -1237,7 +1237,7 @@ use \l{QtQml::Qt::createQmlObject()}{Qt.createQmlObject()}. ReturnedValue QtObject::method_createComponent(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc < 1 || callData->argc > 3) + if (callData->argc() < 1 || callData->argc() > 3) THROW_GENERIC_ERROR("Qt.createComponent(): Invalid arguments"); QV8Engine *v8engine = scope.engine->v8Engine; @@ -1257,8 +1257,8 @@ ReturnedValue QtObject::method_createComponent(const BuiltinFunction *b, CallDat QObject *parentArg = 0; int consumedCount = 1; - if (callData->argc > 1) { - ScopedValue lastArg(scope, callData->args[callData->argc-1]); + if (callData->argc() > 1) { + ScopedValue lastArg(scope, callData->args[callData->argc()-1]); // The second argument could be the mode enum if (callData->args[1].isInteger()) { @@ -1269,11 +1269,11 @@ ReturnedValue QtObject::method_createComponent(const BuiltinFunction *b, CallDat consumedCount += 1; } else { // The second argument could be the parent only if there are exactly two args - if ((callData->argc != 2) || !(lastArg->isObject() || lastArg->isNull())) + if ((callData->argc() != 2) || !(lastArg->isObject() || lastArg->isNull())) THROW_GENERIC_ERROR("Qt.createComponent(): Invalid arguments"); } - if (consumedCount < callData->argc) { + if (consumedCount < callData->argc()) { if (lastArg->isObject()) { Scoped<QObjectWrapper> qobjectWrapper(scope, lastArg); if (qobjectWrapper) @@ -1321,12 +1321,12 @@ ReturnedValue QtObject::method_locale(const BuiltinFunction *b, CallData *callDa { QV4::Scope scope(b); QString code; - if (callData->argc > 1) + if (callData->argc() > 1) THROW_GENERIC_ERROR("locale() requires 0 or 1 argument"); - if (callData->argc == 1 && !callData->args[0].isString()) + if (callData->argc() == 1 && !callData->args[0].isString()) THROW_TYPE_ERROR_WITH_MESSAGE("locale(): argument (locale code) must be a string"); - if (callData->argc == 1) + if (callData->argc() == 1) code = callData->args[0].toQStringNoThrow(); return QQmlLocale::locale(scope.engine, code); @@ -1394,7 +1394,7 @@ DEFINE_OBJECT_VTABLE(QQmlBindingFunction); ReturnedValue QtObject::method_binding(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 1) + if (callData->argc() != 1) THROW_GENERIC_ERROR("binding() requires 1 argument"); const QV4::FunctionObject *f = callData->args[0].as<FunctionObject>(); if (!f) @@ -1518,7 +1518,7 @@ static ReturnedValue writeToConsole(const BuiltinFunction *b, CallData *callData QV4::ExecutionEngine *v4 = scope.engine; int start = 0; - if (callData->argc > 0) { + if (callData->argc() > 0) { if (const QObjectWrapper* wrapper = callData->args[0].as<QObjectWrapper>()) { if (QQmlLoggingCategory* category = qobject_cast<QQmlLoggingCategory*>(wrapper->object())) { if (category->category()) @@ -1531,7 +1531,7 @@ static ReturnedValue writeToConsole(const BuiltinFunction *b, CallData *callData } - for (int i = start; i < callData->argc; ++i) { + for (int i = start, ei = callData->argc(); i < ei; ++i) { if (i != start) result.append(QLatin1Char(' ')); @@ -1642,7 +1642,7 @@ ReturnedValue ConsoleObject::method_profileEnd(const BuiltinFunction *b, CallDat ReturnedValue ConsoleObject::method_time(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 1) + if (callData->argc() != 1) THROW_GENERIC_ERROR("console.time(): Invalid arguments"); QV8Engine *v8engine = scope.engine->v8Engine; @@ -1655,7 +1655,7 @@ ReturnedValue ConsoleObject::method_time(const BuiltinFunction *b, CallData *cal ReturnedValue ConsoleObject::method_timeEnd(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 1) + if (callData->argc() != 1) THROW_GENERIC_ERROR("console.timeEnd(): Invalid arguments"); QV8Engine *v8engine = scope.engine->v8Engine; @@ -1673,7 +1673,7 @@ ReturnedValue ConsoleObject::method_count(const BuiltinFunction *b, CallData *ca { // first argument: name to print. Ignore any additional arguments QString name; - if (callData->argc > 0) + if (callData->argc() > 0) name = callData->args[0].toQStringNoThrow(); Scope scope(b); @@ -1697,7 +1697,7 @@ ReturnedValue ConsoleObject::method_count(const BuiltinFunction *b, CallData *ca ReturnedValue ConsoleObject::method_trace(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 0) + if (callData->argc() != 0) THROW_GENERIC_ERROR("console.trace(): Invalid arguments"); QV4::ExecutionEngine *v4 = scope.engine; @@ -1720,14 +1720,14 @@ ReturnedValue ConsoleObject::method_warn(const BuiltinFunction *b, CallData *cal ReturnedValue ConsoleObject::method_assert(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc == 0) + if (callData->argc() == 0) THROW_GENERIC_ERROR("console.assert(): Missing argument"); QV4::ExecutionEngine *v4 = scope.engine; if (!callData->args[0].toBoolean()) { QString message; - for (int i = 1; i < callData->argc; ++i) { + for (int i = 1, ei = callData->argc(); i < ei; ++i) { if (i != 1) message.append(QLatin1Char(' ')); @@ -1748,7 +1748,7 @@ ReturnedValue ConsoleObject::method_assert(const BuiltinFunction *b, CallData *c ReturnedValue ConsoleObject::method_exception(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc == 0) + if (callData->argc() == 0) THROW_GENERIC_ERROR("console.exception(): Missing argument"); return writeToConsole(b, callData, Error, true); @@ -1810,28 +1810,28 @@ void QV4::GlobalExtensions::init(Object *globalObject, QJSEngine::Extensions ext ReturnedValue GlobalExtensions::method_qsTranslate(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc < 2) + if (callData->argc() < 2) THROW_GENERIC_ERROR("qsTranslate() requires at least two arguments"); if (!callData->args[0].isString()) THROW_GENERIC_ERROR("qsTranslate(): first argument (context) must be a string"); if (!callData->args[1].isString()) THROW_GENERIC_ERROR("qsTranslate(): second argument (sourceText) must be a string"); - if ((callData->argc > 2) && !callData->args[2].isString()) + if ((callData->argc() > 2) && !callData->args[2].isString()) THROW_GENERIC_ERROR("qsTranslate(): third argument (disambiguation) must be a string"); QString context = callData->args[0].toQStringNoThrow(); QString text = callData->args[1].toQStringNoThrow(); QString comment; - if (callData->argc > 2) comment = callData->args[2].toQStringNoThrow(); + if (callData->argc() > 2) comment = callData->args[2].toQStringNoThrow(); int i = 3; - if (callData->argc > i && callData->args[i].isString()) { + if (callData->argc() > i && callData->args[i].isString()) { qWarning("qsTranslate(): specifying the encoding as fourth argument is deprecated"); ++i; } int n = -1; - if (callData->argc > i) + if (callData->argc() > i) n = callData->args[i].toInt32(); QString result = QCoreApplication::translate(context.toUtf8().constData(), @@ -1867,7 +1867,7 @@ ReturnedValue GlobalExtensions::method_qsTranslate(const BuiltinFunction *b, Cal ReturnedValue GlobalExtensions::method_qsTranslateNoOp(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc < 2) + if (callData->argc() < 2) return QV4::Encode::undefined(); else return callData->args[1].asReturnedValue(); @@ -1893,13 +1893,13 @@ ReturnedValue GlobalExtensions::method_qsTranslateNoOp(const BuiltinFunction *b, ReturnedValue GlobalExtensions::method_qsTr(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc < 1) + if (callData->argc() < 1) THROW_GENERIC_ERROR("qsTr() requires at least one argument"); if (!callData->args[0].isString()) THROW_GENERIC_ERROR("qsTr(): first argument (sourceText) must be a string"); - if ((callData->argc > 1) && !callData->args[1].isString()) + if ((callData->argc() > 1) && !callData->args[1].isString()) THROW_GENERIC_ERROR("qsTr(): second argument (disambiguation) must be a string"); - if ((callData->argc > 2) && !callData->args[2].isNumber()) + if ((callData->argc() > 2) && !callData->args[2].isNumber()) THROW_GENERIC_ERROR("qsTr(): third argument (n) must be a number"); QString context; @@ -1931,10 +1931,10 @@ ReturnedValue GlobalExtensions::method_qsTr(const BuiltinFunction *b, CallData * QString text = callData->args[0].toQStringNoThrow(); QString comment; - if (callData->argc > 1) + if (callData->argc() > 1) comment = callData->args[1].toQStringNoThrow(); int n = -1; - if (callData->argc > 2) + if (callData->argc() > 2) n = callData->args[2].toInt32(); QString result = QCoreApplication::translate(context.toUtf8().constData(), text.toUtf8().constData(), @@ -1967,7 +1967,7 @@ ReturnedValue GlobalExtensions::method_qsTr(const BuiltinFunction *b, CallData * */ ReturnedValue GlobalExtensions::method_qsTrNoOp(const BuiltinFunction *, CallData *callData) { - if (callData->argc < 1) + if (callData->argc() < 1) return QV4::Encode::undefined(); else return callData->args[0].asReturnedValue(); @@ -2006,15 +2006,15 @@ ReturnedValue GlobalExtensions::method_qsTrNoOp(const BuiltinFunction *, CallDat ReturnedValue GlobalExtensions::method_qsTrId(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc < 1) + if (callData->argc() < 1) THROW_GENERIC_ERROR("qsTrId() requires at least one argument"); if (!callData->args[0].isString()) THROW_TYPE_ERROR_WITH_MESSAGE("qsTrId(): first argument (id) must be a string"); - if (callData->argc > 1 && !callData->args[1].isNumber()) + if (callData->argc() > 1 && !callData->args[1].isNumber()) THROW_TYPE_ERROR_WITH_MESSAGE("qsTrId(): second argument (n) must be a number"); int n = -1; - if (callData->argc > 1) + if (callData->argc() > 1) n = callData->args[1].toInt32(); return Encode(scope.engine->newString(qtTrId(callData->args[0].toQStringNoThrow().toUtf8().constData(), n))); @@ -2038,7 +2038,7 @@ ReturnedValue GlobalExtensions::method_qsTrId(const BuiltinFunction *b, CallData */ ReturnedValue GlobalExtensions::method_qsTrIdNoOp(const BuiltinFunction *, CallData *callData) { - if (callData->argc < 1) + if (callData->argc() < 1) return QV4::Encode::undefined(); else return callData->args[0].asReturnedValue(); @@ -2058,7 +2058,7 @@ ReturnedValue GlobalExtensions::method_gc(const BuiltinFunction *b, CallData *) ReturnedValue GlobalExtensions::method_string_arg(const BuiltinFunction *b, CallData *callData) { QV4::Scope scope(b); - if (callData->argc != 1) + if (callData->argc() != 1) THROW_GENERIC_ERROR("String.arg(): Invalid arguments"); QString value = callData->thisObject.toQString(); diff --git a/src/qml/qml/v8/qv8engine_p.h b/src/qml/qml/v8/qv8engine_p.h index 3bd3517968..a430fba0e6 100644 --- a/src/qml/qml/v8/qv8engine_p.h +++ b/src/qml/qml/v8/qv8engine_p.h @@ -116,8 +116,8 @@ namespace QV4 { class QQmlV4Function { public: - int length() const { return callData->argc; } - QV4::ReturnedValue operator[](int idx) const { return (idx < callData->argc ? callData->args[idx].asReturnedValue() : QV4::Encode::undefined()); } + int length() const { return callData->argc(); } + QV4::ReturnedValue operator[](int idx) const { return (idx < callData->argc() ? callData->args[idx].asReturnedValue() : QV4::Encode::undefined()); } void setReturnValue(QV4::ReturnedValue rv) { *retVal = rv; } QV4::ExecutionEngine *v4engine() const { return e; } private: |