diff options
Diffstat (limited to 'src/qml/jsruntime/qv4value_p.h')
-rw-r--r-- | src/qml/jsruntime/qv4value_p.h | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/src/qml/jsruntime/qv4value_p.h b/src/qml/jsruntime/qv4value_p.h index 259334e12c..eaa57a36aa 100644 --- a/src/qml/jsruntime/qv4value_p.h +++ b/src/qml/jsruntime/qv4value_p.h @@ -34,7 +34,7 @@ namespace Heap { struct Base; } -struct Q_QML_PRIVATE_EXPORT Value : public StaticValue +struct Q_QML_EXPORT Value : public StaticValue { using ManagedPtr = Managed *; @@ -309,7 +309,10 @@ inline bool Value::isObject() const inline bool Value::isFunctionObject() const { HeapBasePtr b = heapObject(); - return b && b->internalClass->vtable->isFunctionObject; + if (!b) + return false; + const VTable *vtable = b->internalClass->vtable; + return vtable->call || vtable->callAsConstructor; } inline bool Value::isPrimitive() const @@ -442,19 +445,6 @@ struct ValueArray { return values; } - void insertData(EngineBase *e, uint index, Value v) { - for (uint i = size - 1; i > index; --i) { - values[i] = values[i - 1]; - } - set(e, index, v); - } - void removeData(EngineBase *e, uint index, int n = 1) { - Q_UNUSED(e); - for (uint i = index; i < size - n; ++i) { - values[i] = values[i + n]; - } - } - void mark(MarkStack *markStack) { for (Value *v = values, *end = values + alloc; v < end; ++v) v->mark(markStack); |