diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-09-18 15:34:13 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-22 01:06:20 +0200 |
commit | 700ba1bcb39e082049c96fafdfaccfe5d83cd77e (patch) | |
tree | d21da27b94a927377ba2c6efd7c3af731d890b19 /src/qml/jsruntime/qv4objectproto.cpp | |
parent | 1aa618970a9bed46123d0648500e957688d725ec (diff) |
Use a StringRef for Managed::get()
also store "toString" and "valueOf" as identifiers
in the engine and fix two places where we compared
strings the wrong way.
Change-Id: I70612221e72d43ed0e3c496e4209681bf254cded
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4objectproto.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4objectproto.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/qml/jsruntime/qv4objectproto.cpp b/src/qml/jsruntime/qv4objectproto.cpp index 9cbf14990b..f7085e30b1 100644 --- a/src/qml/jsruntime/qv4objectproto.cpp +++ b/src/qml/jsruntime/qv4objectproto.cpp @@ -122,9 +122,9 @@ void ObjectPrototype::init(ExecutionEngine *v4, const Value &ctor) ctor.objectValue()->defineDefaultProperty(QStringLiteral("keys"), method_keys, 1); defineDefaultProperty(QStringLiteral("constructor"), ctor); - defineDefaultProperty(QStringLiteral("toString"), method_toString, 0); + defineDefaultProperty(v4->id_toString, method_toString, 0); defineDefaultProperty(QStringLiteral("toLocaleString"), method_toLocaleString, 0); - defineDefaultProperty(QStringLiteral("valueOf"), method_valueOf, 0); + defineDefaultProperty(v4->id_valueOf, method_valueOf, 0); defineDefaultProperty(QStringLiteral("hasOwnProperty"), method_hasOwnProperty, 1); defineDefaultProperty(QStringLiteral("isPrototypeOf"), method_isPrototypeOf, 1); defineDefaultProperty(QStringLiteral("propertyIsEnumerable"), method_propertyIsEnumerable, 1); @@ -399,12 +399,12 @@ ReturnedValue ObjectPrototype::method_toString(SimpleCallContext *ctx) ReturnedValue ObjectPrototype::method_toLocaleString(SimpleCallContext *ctx) { Scope scope(ctx); - Object *o = ctx->thisObject.toObject(ctx); - Scoped<FunctionObject> f(scope, o->get(ctx->engine->newString(QStringLiteral("toString")))); + ScopedObject o(scope, ctx->thisObject.toObject(ctx)); + Scoped<FunctionObject> f(scope, o->get(ctx->engine->id_toString)); if (!f) ctx->throwTypeError(); ScopedCallData callData(scope, 0); - callData->thisObject = Value::fromObject(o); + callData->thisObject = o; return f->call(callData); } |