aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4stringobject.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@qt.io>2017-09-14 14:54:42 +0200
committerErik Verbruggen <erik.verbruggen@qt.io>2017-09-19 09:44:33 +0000
commit042aa2eb0e55616fc754d0d71246efb531ca6dfe (patch)
treef48118a1f8564b4c4cbadc0ebf291d56d59dbb70 /src/qml/jsruntime/qv4stringobject.cpp
parentb7ddcdad876cf0a46aa14a0f78ee8b3e4f685c19 (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/jsruntime/qv4stringobject.cpp')
-rw-r--r--src/qml/jsruntime/qv4stringobject.cpp52
1 files changed, 26 insertions, 26 deletions
diff --git a/src/qml/jsruntime/qv4stringobject.cpp b/src/qml/jsruntime/qv4stringobject.cpp
index 2fc05e4f56..d6dbeacb2d 100644
--- a/src/qml/jsruntime/qv4stringobject.cpp
+++ b/src/qml/jsruntime/qv4stringobject.cpp
@@ -148,7 +148,7 @@ ReturnedValue StringCtor::construct(const Managed *m, CallData *callData)
ExecutionEngine *v4 = static_cast<const Object *>(m)->engine();
Scope scope(v4);
ScopedString value(scope);
- if (callData->argc)
+ if (callData->argc())
value = callData->args[0].toString(v4);
else
value = v4->newString();
@@ -158,7 +158,7 @@ ReturnedValue StringCtor::construct(const Managed *m, CallData *callData)
ReturnedValue StringCtor::call(const Managed *m, CallData *callData)
{
ExecutionEngine *v4 = m->engine();
- if (callData->argc)
+ if (callData->argc())
return callData->args[0].toString(v4)->asReturnedValue();
else
return v4->newString()->asReturnedValue();
@@ -234,7 +234,7 @@ ReturnedValue StringPrototype::method_charAt(const BuiltinFunction *b, CallData
return QV4::Encode::undefined();
int pos = 0;
- if (callData->argc > 0)
+ if (callData->argc() > 0)
pos = (int) callData->args[0].toInteger();
QString result;
@@ -252,7 +252,7 @@ ReturnedValue StringPrototype::method_charCodeAt(const BuiltinFunction *b, CallD
return QV4::Encode::undefined();
int pos = 0;
- if (callData->argc > 0)
+ if (callData->argc() > 0)
pos = (int) callData->args[0].toInteger();
@@ -271,7 +271,7 @@ ReturnedValue StringPrototype::method_concat(const BuiltinFunction *b, CallData
Scope scope(v4);
ScopedString s(scope);
- for (int i = 0; i < callData->argc; ++i) {
+ for (int i = 0; i < callData->argc(); ++i) {
s = callData->args[i].toString(scope.engine);
if (v4->hasException)
return QV4::Encode::undefined();
@@ -291,14 +291,14 @@ ReturnedValue StringPrototype::method_endsWith(const BuiltinFunction *b, CallDat
return QV4::Encode::undefined();
QString searchString;
- if (callData->argc) {
+ if (callData->argc()) {
if (callData->args[0].as<RegExpObject>())
return v4->throwTypeError();
searchString = callData->args[0].toQString();
}
int pos = value.length();
- if (callData->argc > 1)
+ if (callData->argc() > 1)
pos = (int) callData->args[1].toInteger();
if (pos == value.length())
@@ -316,11 +316,11 @@ ReturnedValue StringPrototype::method_indexOf(const BuiltinFunction *b, CallData
return QV4::Encode::undefined();
QString searchString;
- if (callData->argc)
+ if (callData->argc())
searchString = callData->args[0].toQString();
int pos = 0;
- if (callData->argc > 1)
+ if (callData->argc() > 1)
pos = (int) callData->args[1].toInteger();
int index = -1;
@@ -338,14 +338,14 @@ ReturnedValue StringPrototype::method_includes(const BuiltinFunction *b, CallDat
return QV4::Encode::undefined();
QString searchString;
- if (callData->argc) {
+ if (callData->argc()) {
if (callData->args[0].as<RegExpObject>())
return v4->throwTypeError();
searchString = callData->args[0].toQString();
}
int pos = 0;
- if (callData->argc > 1) {
+ if (callData->argc() > 1) {
Value &posArg = callData->args[1];
pos = (int) posArg.toInteger();
if (!posArg.isInteger() && posArg.isNumber() && qIsInf(posArg.toNumber()))
@@ -367,10 +367,10 @@ ReturnedValue StringPrototype::method_lastIndexOf(const BuiltinFunction *b, Call
return QV4::Encode::undefined();
QString searchString;
- if (callData->argc)
+ if (callData->argc())
searchString = callData->args[0].toQString();
- double position = callData->argc > 1 ? RuntimeHelpers::toNumber(callData->args[1]) : +qInf();
+ double position = callData->argc() > 1 ? RuntimeHelpers::toNumber(callData->args[1]) : +qInf();
if (std::isnan(position))
position = +qInf();
else
@@ -392,7 +392,7 @@ ReturnedValue StringPrototype::method_localeCompare(const BuiltinFunction *b, Ca
if (v4->hasException)
return QV4::Encode::undefined();
- if (callData->argc < 1)
+ if (callData->argc() < 1)
callData->args[0] = Encode::undefined();
const QString that = callData->args[0].toQString();
@@ -410,9 +410,9 @@ ReturnedValue StringPrototype::method_match(const BuiltinFunction *b, CallData *
if (v4->hasException)
return Encode::undefined();
- if (!callData->argc)
+ if (!callData->argc())
callData->args[0] = Encode::undefined();
- callData->argc = 1;
+ callData->setArgc(1);
if (!callData->args[0].as<RegExpObject>()) {
// convert args[0] to a regexp
@@ -668,8 +668,8 @@ ReturnedValue StringPrototype::method_slice(const BuiltinFunction *b, CallData *
const double length = text.length();
- double start = callData->argc ? callData->args[0].toInteger() : 0;
- double end = (callData->argc < 2 || callData->args[1].isUndefined())
+ double start = callData->argc() ? callData->args[0].toInteger() : 0;
+ double end = (callData->argc() < 2 || callData->args[1].isUndefined())
? length : callData->args[1].toInteger();
if (start < 0)
@@ -780,14 +780,14 @@ ReturnedValue StringPrototype::method_startsWith(const BuiltinFunction *b, CallD
return QV4::Encode::undefined();
QString searchString;
- if (callData->argc) {
+ if (callData->argc()) {
if (callData->args[0].as<RegExpObject>())
return v4->throwTypeError();
searchString = callData->args[0].toQString();
}
int pos = 0;
- if (callData->argc > 1)
+ if (callData->argc() > 1)
pos = (int) callData->args[1].toInteger();
if (pos == 0)
@@ -805,11 +805,11 @@ ReturnedValue StringPrototype::method_substr(const BuiltinFunction *b, CallData
return QV4::Encode::undefined();
double start = 0;
- if (callData->argc > 0)
+ if (callData->argc() > 0)
start = callData->args[0].toInteger();
double length = +qInf();
- if (callData->argc > 1)
+ if (callData->argc() > 1)
length = callData->args[1].toInteger();
double count = value.length();
@@ -835,10 +835,10 @@ ReturnedValue StringPrototype::method_substring(const BuiltinFunction *b, CallDa
double start = 0;
double end = length;
- if (callData->argc > 0)
+ if (callData->argc() > 0)
start = callData->args[0].toInteger();
- if (callData->argc > 1 && !callData->args[1].isUndefined())
+ if (callData->argc() > 1 && !callData->args[1].isUndefined())
end = callData->args[1].toInteger();
if (std::isnan(start) || start < 0)
@@ -896,9 +896,9 @@ ReturnedValue StringPrototype::method_toLocaleUpperCase(const BuiltinFunction *b
ReturnedValue StringPrototype::method_fromCharCode(const BuiltinFunction *b, CallData *callData)
{
- QString str(callData->argc, Qt::Uninitialized);
+ QString str(callData->argc(), Qt::Uninitialized);
QChar *ch = str.data();
- for (int i = 0; i < callData->argc; ++i) {
+ for (int i = 0, ei = callData->argc(); i < ei; ++i) {
*ch = QChar(callData->args[i].toUInt16());
++ch;
}