diff options
author | Lars Knoll <lars.knoll@qt.io> | 2018-04-04 09:31:10 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2018-04-12 13:59:02 +0000 |
commit | 3932536b59df7b2fa010be6dd9f2501f6e306c8b (patch) | |
tree | de989972a3f123f108c193c4b3e6e9e33528bdb2 /src/qml/jsruntime/qv4errorobject_p.h | |
parent | 30850d1ebc28bfe68b329229b537a7d6a7791b29 (diff) |
Better encapsulation for EngineBase::internalClass
Turn it into a method instead of accessing the array directly
to simplify refactoring.
Change-Id: I197b56c8f58cfdfd294f429e6b15268c755f9837
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4errorobject_p.h')
-rw-r--r-- | src/qml/jsruntime/qv4errorobject_p.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/qml/jsruntime/qv4errorobject_p.h b/src/qml/jsruntime/qv4errorobject_p.h index 9f51e6b99b..7fb4a71a29 100644 --- a/src/qml/jsruntime/qv4errorobject_p.h +++ b/src/qml/jsruntime/qv4errorobject_p.h @@ -328,7 +328,8 @@ inline SyntaxErrorObject *ErrorObject::asSyntaxError() template <typename T> Heap::Object *ErrorObject::create(ExecutionEngine *e, const Value &message) { - InternalClass *ic = e->internalClasses[message.isUndefined() ? EngineBase::Class_ErrorObject : EngineBase::Class_ErrorObjectWithMessage]; + EngineBase::InternalClassType klass = message.isUndefined() ? EngineBase::Class_ErrorObject : EngineBase::Class_ErrorObjectWithMessage; + InternalClass *ic = e->internalClasses(klass); ic = ic->changePrototype(T::defaultPrototype(e)->d()); return e->memoryManager->allocObject<T>(ic, message); } @@ -336,7 +337,8 @@ template <typename T> Heap::Object *ErrorObject::create(ExecutionEngine *e, const QString &message) { Scope scope(e); ScopedValue v(scope, message.isEmpty() ? Encode::undefined() : e->newString(message)->asReturnedValue()); - InternalClass *ic = e->internalClasses[v->isUndefined() ? EngineBase::Class_ErrorObject : EngineBase::Class_ErrorObjectWithMessage]; + EngineBase::InternalClassType klass = v->isUndefined() ? EngineBase::Class_ErrorObject : EngineBase::Class_ErrorObjectWithMessage; + InternalClass *ic = e->internalClasses(klass); ic = ic->changePrototype(T::defaultPrototype(e)->d()); return e->memoryManager->allocObject<T>(ic, v); } @@ -344,7 +346,8 @@ template <typename T> Heap::Object *ErrorObject::create(ExecutionEngine *e, const QString &message, const QString &filename, int line, int column) { Scope scope(e); ScopedValue v(scope, message.isEmpty() ? Encode::undefined() : e->newString(message)->asReturnedValue()); - InternalClass *ic = e->internalClasses[v->isUndefined() ? EngineBase::Class_ErrorObject : EngineBase::Class_ErrorObjectWithMessage]; + EngineBase::InternalClassType klass = v->isUndefined() ? EngineBase::Class_ErrorObject : EngineBase::Class_ErrorObjectWithMessage; + InternalClass *ic = e->internalClasses(klass); ic = ic->changePrototype(T::defaultPrototype(e)->d()); return e->memoryManager->allocObject<T>(ic, v, filename, line, column); } |