aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4functionobject_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@theqtcompany.com>2015-02-13 13:56:05 +0100
committerSimon Hausmann <simon.hausmann@theqtcompany.com>2015-04-21 13:01:54 +0000
commit484abc815993040a3be60c657e079eee368bbcd2 (patch)
tree0458a95f0817912cae798b06e79c1fc4775c4938 /src/qml/jsruntime/qv4functionobject_p.h
parentb4cb71e9d716e8061bcb491d77bad1a03a7d2930 (diff)
Get rid of asFunctionObject()
Change-Id: Ib4858376dc0ec57fa473c80696abc66a570c90ec Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src/qml/jsruntime/qv4functionobject_p.h')
-rw-r--r--src/qml/jsruntime/qv4functionobject_p.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/qml/jsruntime/qv4functionobject_p.h b/src/qml/jsruntime/qv4functionobject_p.h
index 094d180225..108790a205 100644
--- a/src/qml/jsruntime/qv4functionobject_p.h
+++ b/src/qml/jsruntime/qv4functionobject_p.h
@@ -114,7 +114,7 @@ struct Q_QML_EXPORT FunctionObject: Object {
Heap::ExecutionContext *scope() const { return d()->scope; }
Function *function() const { return d()->function; }
- ReturnedValue name();
+ ReturnedValue name() const;
unsigned int formalParameterCount() { return d()->formalParameterCount(); }
unsigned int varCount() { return d()->varCount(); }
@@ -127,10 +127,6 @@ struct Q_QML_EXPORT FunctionObject: Object {
static ReturnedValue construct(const Managed *that, CallData *);
static ReturnedValue call(const Managed *that, CallData *d);
- static FunctionObject *cast(const Value &v) {
- return v.asFunctionObject();
- }
-
static Heap::FunctionObject *createScriptFunction(ExecutionContext *scope, Function *function, bool createProto = true);
ReturnedValue protoProperty() { return memberData()->data[Heap::FunctionObject::Index_Prototype].asReturnedValue(); }
@@ -145,9 +141,16 @@ struct Q_QML_EXPORT FunctionObject: Object {
template<>
inline const FunctionObject *Value::as() const {
- return asFunctionObject();
+ return isManaged() && m && m->vtable->isFunctionObject ? reinterpret_cast<const FunctionObject *>(this) : 0;
}
+template<>
+inline FunctionObject *managed_cast(Managed *m)
+{
+ return m ? m->as<FunctionObject>() : 0;
+}
+
+
struct FunctionCtor: FunctionObject
{
V4_OBJECT2(FunctionCtor, FunctionObject)