aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4proxy_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2018-06-25 23:18:33 +0200
committerLars Knoll <lars.knoll@qt.io>2018-07-03 08:08:35 +0000
commit61440411a979c7c317bafccfbf5201d969819a06 (patch)
tree6c5825e21e75587121351bc612a76a7af81ef7be /src/qml/jsruntime/qv4proxy_p.h
parent2aabdd187aae8a953cfcebac8f6c1ba7b19a0727 (diff)
Prefix vtable methods with virtual
Turns out that the overloading of vtable methods and regular ones is problematic in some cases. So let's rather make it explicit which methods are part of the vtable, and which aren't. Change-Id: Ifee32a26104d30f3c82bca8b5a9cdea2d4f4f526 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4proxy_p.h')
-rw-r--r--src/qml/jsruntime/qv4proxy_p.h29
1 files changed, 14 insertions, 15 deletions
diff --git a/src/qml/jsruntime/qv4proxy_p.h b/src/qml/jsruntime/qv4proxy_p.h
index 5d99dbad22..7c00ede834 100644
--- a/src/qml/jsruntime/qv4proxy_p.h
+++ b/src/qml/jsruntime/qv4proxy_p.h
@@ -85,29 +85,28 @@ struct ProxyObject: Object {
Q_MANAGED_TYPE(ProxyObject)
V4_INTERNALCLASS(ProxyObject)
- static ReturnedValue get(const Managed *m, PropertyKey id, const Value *receiver, bool *hasProperty);
- static ReturnedValue get(const Managed *m, uint index, bool *hasProperty);
- static bool put(Managed *m, PropertyKey id, const Value &value, Value *receiver);
- static bool deleteProperty(Managed *m, PropertyKey id);
- static bool hasProperty(const Managed *m, PropertyKey id);
- static PropertyAttributes getOwnProperty(Managed *m, PropertyKey id, Property *p);
- static bool defineOwnProperty(Managed *m, PropertyKey id, const Property *p, PropertyAttributes attrs);
- static bool isExtensible(const Managed *m);
- static bool preventExtensions(Managed *);
- static Heap::Object *getPrototypeOf(const Managed *);
- static bool setPrototypeOf(Managed *, const Object *);
+ static ReturnedValue virtualGet(const Managed *m, PropertyKey id, const Value *receiver, bool *hasProperty);
+ static bool virtualPut(Managed *m, PropertyKey id, const Value &value, Value *receiver);
+ static bool virtualDeleteProperty(Managed *m, PropertyKey id);
+ static bool virtualHasProperty(const Managed *m, PropertyKey id);
+ static PropertyAttributes virtualGetOwnProperty(Managed *m, PropertyKey id, Property *p);
+ static bool virtualDefineOwnProperty(Managed *m, PropertyKey id, const Property *p, PropertyAttributes attrs);
+ static bool virtualIsExtensible(const Managed *m);
+ static bool virtualPreventExtensions(Managed *);
+ static Heap::Object *virtualGetPrototypeOf(const Managed *);
+ static bool virtualSetPrototypeOf(Managed *, const Object *);
// those might require a second proxy object that derives from FunctionObject...
-// static ReturnedValue callAsConstructor(const FunctionObject *f, const Value *argv, int argc);
-// static ReturnedValue call(const FunctionObject *f, const Value *thisObject, const Value *argv, int argc);
+// static ReturnedValue virtualCallAsConstructor(const FunctionObject *f, const Value *argv, int argc);
+// static ReturnedValue virtualCall(const FunctionObject *f, const Value *thisObject, const Value *argv, int argc);
};
struct Proxy : FunctionObject
{
V4_OBJECT2(Proxy, FunctionObject)
- static ReturnedValue callAsConstructor(const FunctionObject *f, const Value *argv, int argc);
- static ReturnedValue call(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
+ static ReturnedValue virtualCallAsConstructor(const FunctionObject *f, const Value *argv, int argc);
+ static ReturnedValue virtualCall(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
static ReturnedValue method_revocable(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);