diff options
author | Lars Knoll <lars.knoll@theqtcompany.com> | 2015-02-13 13:56:05 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2015-04-21 13:01:54 +0000 |
commit | 484abc815993040a3be60c657e079eee368bbcd2 (patch) | |
tree | 0458a95f0817912cae798b06e79c1fc4775c4938 /src/qml/jsruntime/qv4functionobject_p.h | |
parent | b4cb71e9d716e8061bcb491d77bad1a03a7d2930 (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.h | 15 |
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) |