aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4managed_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@theqtcompany.com>2015-02-13 13:39:20 +0100
committerSimon Hausmann <simon.hausmann@theqtcompany.com>2015-04-21 13:01:47 +0000
commitb4cb71e9d716e8061bcb491d77bad1a03a7d2930 (patch)
tree319989040ba9113e182da0dd19af9ba8192ae150 /src/qml/jsruntime/qv4managed_p.h
parentfc5a11aadcf7a12ee5a1f91f567daefce28ada60 (diff)
More cleanups
Get rid of Value::asObject(), and pass const Managed pointers into some more vtable methods. Change-Id: Ia4f427d5fd8868f77b4015d1ce5424d32bfc2115 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src/qml/jsruntime/qv4managed_p.h')
-rw-r--r--src/qml/jsruntime/qv4managed_p.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/qml/jsruntime/qv4managed_p.h b/src/qml/jsruntime/qv4managed_p.h
index 31e52dff79..6716662dc8 100644
--- a/src/qml/jsruntime/qv4managed_p.h
+++ b/src/qml/jsruntime/qv4managed_p.h
@@ -150,7 +150,6 @@ public:
};
Q_MANAGED_TYPE(Invalid)
- Object *asObject() { return d()->vtable->isObject ? reinterpret_cast<Object *>(this) : 0; }
FunctionObject *asFunctionObject() { return d()->vtable->isFunctionObject ? reinterpret_cast<FunctionObject *>(this) : 0; }
BooleanObject *asBooleanObject() { return d()->vtable->type == Type_BooleanObject ? reinterpret_cast<BooleanObject *>(this) : 0; }
ArgumentsObject *asArgumentsObject() { return d()->vtable->type == Type_ArgumentsObject ? reinterpret_cast<ArgumentsObject *>(this) : 0; }
@@ -185,6 +184,11 @@ inline const Managed *Value::as() const {
return 0;
}
+template<>
+inline const Object *Value::as() const {
+ return isManaged() && m && m->vtable->isObject ? objectValue() : 0;
+}
+
template<typename T>
inline T *managed_cast(Managed *m)
{
@@ -199,7 +203,7 @@ inline String *managed_cast(Managed *m)
template<>
inline Object *managed_cast(Managed *m)
{
- return m ? m->asObject() : 0;
+ return m ? m->as<Object>() : 0;
}
template<>
inline FunctionObject *managed_cast(Managed *m)