diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-09-26 12:04:52 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-28 13:33:46 +0200 |
commit | d2e2a5b59c617e6cf7236cf36e9c20fe9ea36fdb (patch) | |
tree | 1fc21beff4add85e68a61b7c88b5d5f928bec6e8 /src/qml/jsruntime/qv4errorobject.cpp | |
parent | 18d4794e3f614eec8594f6636d569af8bc112618 (diff) |
Remove Value::fromString()
replaced with call to the GC safe ExceutionEngine::newString()
method.
Change-Id: I7258296e75ca724ff42b94a0d147bc33a05f8f68
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4errorobject.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4errorobject.cpp | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/src/qml/jsruntime/qv4errorobject.cpp b/src/qml/jsruntime/qv4errorobject.cpp index 21917a94f0..88c47a0c3a 100644 --- a/src/qml/jsruntime/qv4errorobject.cpp +++ b/src/qml/jsruntime/qv4errorobject.cpp @@ -82,7 +82,8 @@ ErrorObject::ErrorObject(InternalClass *ic) Scope scope(engine()); ScopedValue protectThis(scope, this); - defineDefaultProperty(QStringLiteral("name"), Value::fromString(ic->engine, "Error")); + ScopedString s(scope, ic->engine->newString("Error")); + defineDefaultProperty(QStringLiteral("name"), s.asValue()); } ErrorObject::ErrorObject(InternalClass *ic, const ValueRef message, ErrorType t) @@ -100,11 +101,12 @@ ErrorObject::ErrorObject(InternalClass *ic, const ValueRef message, ErrorType t) if (!message->isUndefined()) defineDefaultProperty(QStringLiteral("message"), *message); - defineDefaultProperty(QStringLiteral("name"), Value::fromString(ic->engine, className())); + ScopedString s(scope); + defineDefaultProperty(QStringLiteral("name"), (s = ic->engine->newString(className())).asValue()); stackTrace = ic->engine->stackTrace(); if (!stackTrace.isEmpty()) { - defineDefaultProperty(QStringLiteral("fileName"), Value::fromString(ic->engine, stackTrace.at(0).source)); + defineDefaultProperty(QStringLiteral("fileName"), (s = ic->engine->newString(stackTrace.at(0).source)).asValue()); defineDefaultProperty(QStringLiteral("lineNumber"), Primitive::fromInt32(stackTrace.at(0).line)); } } @@ -119,16 +121,17 @@ ErrorObject::ErrorObject(InternalClass *ic, const QString &message, ErrorObject: Scope scope(engine()); ScopedValue protectThis(scope, this); + ScopedString s(scope); defineAccessorProperty(QStringLiteral("stack"), ErrorObject::method_get_stack, 0); ScopedValue v(scope, ic->engine->newString(message)); defineDefaultProperty(QStringLiteral("message"), v); - defineDefaultProperty(QStringLiteral("name"), Value::fromString(ic->engine, className())); + defineDefaultProperty(QStringLiteral("name"), (s = ic->engine->newString(className())).asValue()); stackTrace = ic->engine->stackTrace(); if (!stackTrace.isEmpty()) { - defineDefaultProperty(QStringLiteral("fileName"), Value::fromString(ic->engine, stackTrace.at(0).source)); + defineDefaultProperty(QStringLiteral("fileName"), (s = ic->engine->newString(stackTrace.at(0).source)).asValue()); defineDefaultProperty(QStringLiteral("lineNumber"), Primitive::fromInt32(stackTrace.at(0).line)); } } @@ -143,9 +146,10 @@ ErrorObject::ErrorObject(InternalClass *ic, const QString &message, const QStrin Scope scope(engine()); ScopedValue protectThis(scope, this); + ScopedString s(scope); defineAccessorProperty(QStringLiteral("stack"), ErrorObject::method_get_stack, 0); - defineDefaultProperty(QStringLiteral("name"), Value::fromString(ic->engine, className())); + defineDefaultProperty(QStringLiteral("name"), (s = ic->engine->newString(className())).asValue()); stackTrace = ic->engine->stackTrace(); ExecutionEngine::StackFrame frame; @@ -155,7 +159,7 @@ ErrorObject::ErrorObject(InternalClass *ic, const QString &message, const QStrin stackTrace.prepend(frame); if (!stackTrace.isEmpty()) { - defineDefaultProperty(QStringLiteral("fileName"), Value::fromString(ic->engine, stackTrace.at(0).source)); + defineDefaultProperty(QStringLiteral("fileName"), (s = ic->engine->newString(stackTrace.at(0).source)).asValue()); defineDefaultProperty(QStringLiteral("lineNumber"), Primitive::fromInt32(stackTrace.at(0).line)); } @@ -368,11 +372,13 @@ ReturnedValue URIErrorCtor::construct(Managed *m, CallData *callData) void ErrorPrototype::init(ExecutionEngine *engine, const Value &ctor, Object *obj) { + Scope scope(engine); + ScopedString s(scope); ctor.objectValue()->defineReadonlyProperty(engine->id_prototype, Value::fromObject(obj)); ctor.objectValue()->defineReadonlyProperty(engine->id_length, Primitive::fromInt32(1)); obj->defineDefaultProperty(QStringLiteral("constructor"), ctor); obj->defineDefaultProperty(engine->id_toString, method_toString, 0); - obj->defineDefaultProperty(QStringLiteral("message"), Value::fromString(engine, QString())); + obj->defineDefaultProperty(QStringLiteral("message"), (s = engine->newString(QString())).asValue()); } ReturnedValue ErrorPrototype::method_toString(SimpleCallContext *ctx) @@ -405,5 +411,5 @@ ReturnedValue ErrorPrototype::method_toString(SimpleCallContext *ctx) str = qname + QLatin1String(": ") + qmessage; } - return Value::fromString(ctx, str).asReturnedValue(); + return ctx->engine->newString(str)->asReturnedValue(); } |