struct ArgumentsGetterFunction: FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionContext *scope, uint index)
- : FunctionObject::Data(scope)
+ : Heap::FunctionObject(scope)
, index(index)
{
setVTable(staticVTable());
struct ArgumentsSetterFunction: FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionContext *scope, uint index)
- : FunctionObject::Data(scope)
+ : Heap::FunctionObject(scope)
, index(index)
{
setVTable(staticVTable());
DEFINE_OBJECT_VTABLE(ArrayBuffer);
ArrayBufferCtor::Data::Data(ExecutionContext *scope)
- : FunctionObject::Data(scope, QStringLiteral("ArrayBuffer"))
+ : Heap::FunctionObject(scope, QStringLiteral("ArrayBuffer"))
{
setVTable(staticVTable());
}
struct ArrayBufferCtor: FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionContext *scope);
};
DEFINE_OBJECT_VTABLE(ArrayCtor);
ArrayCtor::Data::Data(ExecutionContext *scope)
- : FunctionObject::Data(scope, QStringLiteral("Array"))
+ : Heap::FunctionObject(scope, QStringLiteral("Array"))
{
setVTable(staticVTable());
}
struct ArrayCtor: FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionContext *scope);
};
DEFINE_OBJECT_VTABLE(BooleanObject);
BooleanCtor::Data::Data(ExecutionContext *scope)
- : FunctionObject::Data(scope, QStringLiteral("Boolean"))
+ : Heap::FunctionObject(scope, QStringLiteral("Boolean"))
{
setVTable(staticVTable());
}
struct BooleanCtor: FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionContext *scope);
};
this->exceptionValue = exceptionValue;
}
-Heap::CallContext::CallContext(ExecutionEngine *engine, QV4::Object *qml, FunctionObject *function)
+Heap::CallContext::CallContext(ExecutionEngine *engine, QV4::Object *qml, QV4::FunctionObject *function)
: Heap::ExecutionContext(engine, Heap::ExecutionContext::Type_QmlContext)
{
this->function = function;
}
CallContext(ExecutionEngine *engine, Object *qml, QV4::FunctionObject *function);
- FunctionObject *function;
+ QV4::FunctionObject *function;
int realArgumentCount;
Value *locals;
Object *activation;
DEFINE_OBJECT_VTABLE(DataView);
DataViewCtor::Data::Data(ExecutionContext *scope)
- : FunctionObject::Data(scope, QStringLiteral("DataView"))
+ : Heap::FunctionObject(scope, QStringLiteral("DataView"))
{
setVTable(staticVTable());
}
struct DataViewCtor: FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionContext *scope);
};
DEFINE_OBJECT_VTABLE(DateCtor);
DateCtor::Data::Data(ExecutionContext *scope)
- : FunctionObject::Data(scope, QStringLiteral("Date"))
+ : Heap::FunctionObject(scope, QStringLiteral("Date"))
{
setVTable(staticVTable());
}
struct DateCtor: FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionContext *scope);
};
V4_OBJECT(FunctionObject)
InternalClass *functionProtoClass = InternalClass::create(this, FunctionObject::staticVTable(), objectPrototype);
uint index;
functionProtoClass = functionProtoClass->addMember(id_prototype, Attr_NotEnumerable, &index);
- Q_ASSERT(index == FunctionObject::Index_Prototype);
+ Q_ASSERT(index == Heap::FunctionObject::Index_Prototype);
ScopedObject functionPrototype(scope, memoryManager->alloc<FunctionPrototype>(functionProtoClass));
functionClass = InternalClass::create(this, FunctionObject::staticVTable(), functionPrototype);
functionClass = functionClass->addMember(id_prototype, Attr_NotEnumerable|Attr_NotConfigurable, &index);
- Q_ASSERT(index == FunctionObject::Index_Prototype);
+ Q_ASSERT(index == Heap::FunctionObject::Index_Prototype);
protoClass = objectClass->addMember(id_constructor, Attr_NotEnumerable, &index);
- Q_ASSERT(index == FunctionObject::Index_ProtoConstructor);
+ Q_ASSERT(index == Heap::FunctionObject::Index_ProtoConstructor);
Scoped<RegExpPrototype> regExpPrototype(scope, memoryManager->alloc<RegExpPrototype>(InternalClass::create(this, RegExpPrototype::staticVTable(), objectPrototype)));
regExpClass = InternalClass::create(this, RegExpObject::staticVTable(), regExpPrototype.getPointer());
DEFINE_OBJECT_VTABLE(URIErrorCtor);
ErrorCtor::Data::Data(ExecutionContext *scope)
- : FunctionObject::Data(scope, QStringLiteral("Error"))
+ : Heap::FunctionObject(scope, QStringLiteral("Error"))
{
setVTable(staticVTable());
}
ErrorCtor::Data::Data(ExecutionContext *scope, const QString &name)
- : FunctionObject::Data(scope, name)
+ : Heap::FunctionObject(scope, name)
{
setVTable(staticVTable());
}
struct ErrorCtor: FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionContext *scope);
Data(ExecutionContext *scope, const QString &name);
};
DEFINE_OBJECT_VTABLE(FunctionObject);
-FunctionObject::Data::Data(ExecutionContext *scope, String *name, bool createProto)
+Heap::FunctionObject::FunctionObject(QV4::ExecutionContext *scope, QV4::String *name, bool createProto)
: Heap::Object(scope->d()->engine->functionClass)
, scope(scope)
{
}
-FunctionObject::Data::Data(ExecutionContext *scope, const QString &name, bool createProto)
+Heap::FunctionObject::FunctionObject(QV4::ExecutionContext *scope, const QString &name, bool createProto)
: Heap::Object(scope->d()->engine->functionClass)
, scope(scope)
{
f->init(n.getPointer(), createProto);
}
-FunctionObject::Data::Data(ExecutionContext *scope, const ReturnedValue name)
+Heap::FunctionObject::FunctionObject(QV4::ExecutionContext *scope, const ReturnedValue name)
: Heap::Object(scope->d()->engine->functionClass)
, scope(scope)
{
f->init(n.getPointer(), false);
}
-FunctionObject::Data::Data(InternalClass *ic)
+Heap::FunctionObject::FunctionObject(InternalClass *ic)
: Heap::Object(ic)
, scope(ic->engine->rootContext)
{
}
-FunctionObject::Data::~Data()
+Heap::FunctionObject::~FunctionObject()
{
if (function)
function->compilationUnit->release();
d()->needsActivation = true;
d()->strictMode = false;
- ensureMemberIndex(s.engine, Index_Prototype);
+ ensureMemberIndex(s.engine, Heap::FunctionObject::Index_Prototype);
if (createProto) {
Scoped<Object> proto(s, scope()->d()->engine->newObject(scope()->d()->engine->protoClass));
- proto->ensureMemberIndex(s.engine, Index_ProtoConstructor);
- proto->memberData()->data()[Index_ProtoConstructor] = this->asReturnedValue();
- memberData()->data()[Index_Prototype] = proto.asReturnedValue();
+ proto->ensureMemberIndex(s.engine, Heap::FunctionObject::Index_ProtoConstructor);
+ proto->memberData()->data()[Heap::FunctionObject::Index_ProtoConstructor] = this->asReturnedValue();
+ memberData()->data()[Heap::FunctionObject::Index_Prototype] = proto.asReturnedValue();
} else {
- memberData()->data()[Index_Prototype] = Encode::undefined();
+ memberData()->data()[Heap::FunctionObject::Index_Prototype] = Encode::undefined();
}
ScopedValue v(s, n);
void FunctionObject::markObjects(Heap::Base *that, ExecutionEngine *e)
{
- FunctionObject::Data *o = static_cast<FunctionObject::Data *>(that);
+ Heap::FunctionObject *o = static_cast<Heap::FunctionObject *>(that);
if (o->scope)
o->scope->mark(e);
DEFINE_OBJECT_VTABLE(FunctionCtor);
-FunctionCtor::Data::Data(ExecutionContext *scope)
- : FunctionObject::Data(scope, QStringLiteral("Function"))
+Heap::FunctionCtor::FunctionCtor(QV4::ExecutionContext *scope)
+ : Heap::FunctionObject(scope, QStringLiteral("Function"))
{
- setVTable(staticVTable());
+ setVTable(QV4::FunctionCtor::staticVTable());
}
// 15.3.2
DEFINE_OBJECT_VTABLE(FunctionPrototype);
-FunctionPrototype::Data::Data(InternalClass *ic)
- : FunctionObject::Data(ic)
+Heap::FunctionPrototype::FunctionPrototype(InternalClass *ic)
+ : Heap::FunctionObject(ic)
{
}
DEFINE_OBJECT_VTABLE(ScriptFunction);
-ScriptFunction::Data::Data(ExecutionContext *scope, Function *function)
- : SimpleScriptFunction::Data(scope, function, true)
+Heap::ScriptFunction::ScriptFunction(QV4::ExecutionContext *scope, Function *function)
+ : Heap::SimpleScriptFunction(scope, function, true)
{
- setVTable(staticVTable());
+ setVTable(QV4::ScriptFunction::staticVTable());
}
ReturnedValue ScriptFunction::construct(Managed *that, CallData *callData)
DEFINE_OBJECT_VTABLE(SimpleScriptFunction);
-SimpleScriptFunction::Data::Data(ExecutionContext *scope, Function *function, bool createProto)
- : FunctionObject::Data(scope, function->name(), createProto)
+Heap::SimpleScriptFunction::SimpleScriptFunction(QV4::ExecutionContext *scope, Function *function, bool createProto)
+ : Heap::FunctionObject(scope, function->name(), createProto)
{
- setVTable(staticVTable());
+ setVTable(QV4::SimpleScriptFunction::staticVTable());
this->function = function;
function->compilationUnit->addref();
DEFINE_OBJECT_VTABLE(BuiltinFunction);
-BuiltinFunction::Data::Data(ExecutionContext *scope, String *name, ReturnedValue (*code)(CallContext *))
- : FunctionObject::Data(scope, name)
+Heap::BuiltinFunction::BuiltinFunction(QV4::ExecutionContext *scope, QV4::String *name, ReturnedValue (*code)(QV4::CallContext *))
+ : Heap::FunctionObject(scope, name)
, code(code)
{
- setVTable(staticVTable());
+ setVTable(QV4::BuiltinFunction::staticVTable());
}
ReturnedValue BuiltinFunction::construct(Managed *f, CallData *)
DEFINE_OBJECT_VTABLE(BoundFunction);
-BoundFunction::Data::Data(ExecutionContext *scope, FunctionObject *target, const ValueRef boundThis, MemberData *boundArgs)
- : FunctionObject::Data(scope, QStringLiteral("__bound function__"))
+Heap::BoundFunction::BoundFunction(QV4::ExecutionContext *scope, QV4::FunctionObject *target,
+ const ValueRef boundThis, QV4::MemberData *boundArgs)
+ : Heap::FunctionObject(scope, QStringLiteral("__bound function__"))
, target(target)
, boundArgs(boundArgs ? boundArgs->d() : 0)
{
this->boundThis = boundThis;
- setVTable(staticVTable());
+ setVTable(QV4::BoundFunction::staticVTable());
subtype = FunctionObject::BoundFunction;
Scope s(scope);
namespace QV4 {
-struct Q_QML_EXPORT FunctionObject: Object {
- struct Q_QML_PRIVATE_EXPORT Data : Heap::Object {
- Data(ExecutionContext *scope, String *name, bool createProto = false);
- Data(ExecutionContext *scope, const QString &name = QString(), bool createProto = false);
- Data(ExecutionContext *scope, const ReturnedValue name);
- Data(InternalClass *ic);
- ~Data();
-
- ExecutionContext *scope;
- Function *function;
- };
- V4_OBJECT(Object)
- Q_MANAGED_TYPE(FunctionObject)
- enum {
- IsFunctionObject = true
- };
+namespace Heap {
+
+struct Q_QML_PRIVATE_EXPORT FunctionObject : Object {
// Used with Managed::subType
enum FunctionType {
RegularFunction = 0,
Index_ProtoConstructor = 0
};
+ FunctionObject(QV4::ExecutionContext *scope, QV4::String *name, bool createProto = false);
+ FunctionObject(QV4::ExecutionContext *scope, const QString &name = QString(), bool createProto = false);
+ FunctionObject(QV4::ExecutionContext *scope, const ReturnedValue name);
+ FunctionObject(InternalClass *ic);
+ ~FunctionObject();
+
+ QV4::ExecutionContext *scope;
+ Function *function;
+};
+
+struct FunctionCtor : FunctionObject {
+ FunctionCtor(QV4::ExecutionContext *scope);
+};
+
+struct FunctionPrototype : FunctionObject {
+ FunctionPrototype(InternalClass *ic);
+};
+
+struct Q_QML_EXPORT BuiltinFunction : FunctionObject {
+ BuiltinFunction(QV4::ExecutionContext *scope, QV4::String *name, ReturnedValue (*code)(QV4::CallContext *));
+ ReturnedValue (*code)(QV4::CallContext *);
+};
+
+struct IndexedBuiltinFunction : FunctionObject {
+ inline IndexedBuiltinFunction(QV4::ExecutionContext *scope, uint index, ReturnedValue (*code)(QV4::CallContext *ctx, uint index));
+ ReturnedValue (*code)(QV4::CallContext *, uint index);
+ uint index;
+};
+
+struct SimpleScriptFunction : FunctionObject {
+ SimpleScriptFunction(QV4::ExecutionContext *scope, Function *function, bool createProto);
+};
+
+struct ScriptFunction : SimpleScriptFunction {
+ ScriptFunction(QV4::ExecutionContext *scope, Function *function);
+};
+
+struct BoundFunction : FunctionObject {
+ BoundFunction(QV4::ExecutionContext *scope, QV4::FunctionObject *target, const ValueRef boundThis, QV4::MemberData *boundArgs);
+ QV4::FunctionObject *target;
+ Value boundThis;
+ MemberData *boundArgs;
+};
+
+}
+
+struct Q_QML_EXPORT FunctionObject: Object {
+ enum {
+ IsFunctionObject = true
+ };
+ V4_OBJECT2(FunctionObject, Object)
+ Q_MANAGED_TYPE(FunctionObject)
ExecutionContext *scope() { return d()->scope; }
Function *function() { return d()->function; }
static Returned<FunctionObject> *createScriptFunction(ExecutionContext *scope, Function *function, bool createProto = true);
- ReturnedValue protoProperty() { return memberData()->data()[Index_Prototype].asReturnedValue(); }
+ ReturnedValue protoProperty() { return memberData()->data()[Heap::FunctionObject::Index_Prototype].asReturnedValue(); }
bool needsActivation() const { return d()->needsActivation; }
bool strictMode() const { return d()->strictMode; }
struct FunctionCtor: FunctionObject
{
- struct Data : FunctionObject::Data {
- Data(ExecutionContext *scope);
- };
-
- V4_OBJECT(FunctionObject)
+ V4_OBJECT2(FunctionCtor, FunctionObject)
static ReturnedValue construct(Managed *that, CallData *callData);
static ReturnedValue call(Managed *that, CallData *callData);
struct FunctionPrototype: FunctionObject
{
- struct Data : FunctionObject::Data {
- Data(InternalClass *ic);
- };
- V4_OBJECT(FunctionObject)
+ V4_OBJECT2(FunctionPrototype, FunctionObject)
void init(ExecutionEngine *engine, Object *ctor);
};
struct Q_QML_EXPORT BuiltinFunction: FunctionObject {
- struct Q_QML_EXPORT Data : FunctionObject::Data {
- Data(ExecutionContext *scope, String *name, ReturnedValue (*code)(CallContext *));
- ReturnedValue (*code)(CallContext *);
- };
- V4_OBJECT(FunctionObject)
+ V4_OBJECT2(BuiltinFunction, FunctionObject)
static Returned<BuiltinFunction> *create(ExecutionContext *scope, String *name, ReturnedValue (*code)(CallContext *))
{
struct IndexedBuiltinFunction: FunctionObject
{
- struct Data : FunctionObject::Data {
- Data(ExecutionContext *scope, uint index, ReturnedValue (*code)(CallContext *ctx, uint index))
- : FunctionObject::Data(scope),
- code(code)
- , index(index)
- {
- setVTable(staticVTable());
- }
- ReturnedValue (*code)(CallContext *, uint index);
- uint index;
- };
- V4_OBJECT(FunctionObject)
+ V4_OBJECT2(IndexedBuiltinFunction, FunctionObject)
static ReturnedValue construct(Managed *m, CallData *)
{
static ReturnedValue call(Managed *that, CallData *callData);
};
+Heap::IndexedBuiltinFunction::IndexedBuiltinFunction(QV4::ExecutionContext *scope, uint index,
+ ReturnedValue (*code)(QV4::CallContext *ctx, uint index))
+ : Heap::FunctionObject(scope),
+ code(code)
+ , index(index)
+{
+ setVTable(QV4::IndexedBuiltinFunction::staticVTable());
+}
+
struct SimpleScriptFunction: FunctionObject {
- struct Data : FunctionObject::Data {
- Data(ExecutionContext *scope, Function *function, bool createProto);
- };
- V4_OBJECT(FunctionObject)
+ V4_OBJECT2(SimpleScriptFunction, FunctionObject)
static ReturnedValue construct(Managed *, CallData *callData);
static ReturnedValue call(Managed *that, CallData *callData);
};
struct ScriptFunction: SimpleScriptFunction {
- struct Data : SimpleScriptFunction::Data {
- Data(ExecutionContext *scope, Function *function);
- };
- V4_OBJECT(FunctionObject)
+ V4_OBJECT2(ScriptFunction, FunctionObject)
static ReturnedValue construct(Managed *, CallData *callData);
static ReturnedValue call(Managed *that, CallData *callData);
struct BoundFunction: FunctionObject {
- struct Data : FunctionObject::Data {
- Data(ExecutionContext *scope, FunctionObject *target, const ValueRef boundThis, MemberData *boundArgs);
- FunctionObject *target;
- Value boundThis;
- Heap::MemberData *boundArgs;
- };
- V4_OBJECT(FunctionObject)
+ V4_OBJECT2(BoundFunction, FunctionObject)
static Returned<BoundFunction> *create(ExecutionContext *scope, FunctionObject *target, const ValueRef boundThis, QV4::MemberData *boundArgs)
{
DEFINE_OBJECT_VTABLE(EvalFunction);
EvalFunction::Data::Data(ExecutionContext *scope)
- : FunctionObject::Data(scope, scope->d()->engine->id_eval)
+ : Heap::FunctionObject(scope, scope->d()->engine->id_eval)
{
setVTable(staticVTable());
Scope s(scope);
struct Q_QML_EXPORT EvalFunction : FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionContext *scope);
};
DEFINE_OBJECT_VTABLE(NumberObject);
NumberCtor::Data::Data(ExecutionContext *scope)
- : FunctionObject::Data(scope, QStringLiteral("Number"))
+ : Heap::FunctionObject(scope, QStringLiteral("Number"))
{
setVTable(staticVTable());
}
struct NumberCtor: FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionContext *scope);
};
V4_OBJECT(FunctionObject)
DEFINE_OBJECT_VTABLE(ObjectCtor);
ObjectCtor::Data::Data(ExecutionContext *scope)
- : FunctionObject::Data(scope, QStringLiteral("Object"))
+ : Heap::FunctionObject(scope, QStringLiteral("Object"))
{
setVTable(staticVTable());
}
struct ObjectCtor: FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionContext *scope);
};
V4_OBJECT(FunctionObject)
}
QObjectMethod::Data::Data(ExecutionContext *scope, QObject *object, int index, const ValueRef qmlGlobal)
- : FunctionObject::Data(scope)
+ : Heap::FunctionObject(scope)
, object(object)
, index(index)
, qmlGlobal(qmlGlobal)
struct Q_QML_EXPORT QObjectMethod : public QV4::FunctionObject
{
- struct Data : QV4::FunctionObject::Data {
+ struct Data : QV4::Heap::FunctionObject {
Data(QV4::ExecutionContext *scope, QObject *object, int index, const ValueRef qmlGlobal);
QPointer<QObject> object;
int index;
DEFINE_OBJECT_VTABLE(RegExpCtor);
RegExpCtor::Data::Data(ExecutionContext *scope)
- : FunctionObject::Data(scope, QStringLiteral("RegExp"))
+ : Heap::FunctionObject(scope, QStringLiteral("RegExp"))
{
setVTable(staticVTable());
clearLastMatch();
struct RegExpCtor: FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionContext *scope);
Value lastMatch;
StringValue lastInput;
if (!f)
return ctx->engine()->throwTypeError();
- if (f->subtype() == FunctionObject::BoundFunction)
+ if (f->subtype() == Heap::FunctionObject::BoundFunction)
f = static_cast<BoundFunction *>(f)->target();
Object *v = left->asObject();
using namespace QV4;
QmlBindingWrapper::Data::Data(ExecutionContext *scope, Function *f, QV4::Object *qml)
- : FunctionObject::Data(scope, scope->d()->engine->id_eval, /*createProto = */ false)
+ : Heap::FunctionObject(scope, scope->d()->engine->id_eval, /*createProto = */ false)
, qml(qml)
{
Q_ASSERT(scope->inUse());
}
QmlBindingWrapper::Data::Data(ExecutionContext *scope, QV4::Object *qml)
- : FunctionObject::Data(scope, scope->d()->engine->id_eval, /*createProto = */ false)
+ : Heap::FunctionObject(scope, scope->d()->engine->id_eval, /*createProto = */ false)
, qml(qml)
{
Q_ASSERT(scope->inUse());
};
struct Q_QML_EXPORT QmlBindingWrapper : FunctionObject {
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionContext *scope, Function *f, QV4::Object *qml);
// Constructor for QML functions and signal handlers, resulting binding wrapper is not callable!
Data(ExecutionContext *scope, QV4::Object *qml);
DEFINE_OBJECT_VTABLE(StringCtor);
StringCtor::Data::Data(ExecutionContext *scope)
- : FunctionObject::Data(scope, QStringLiteral("String"))
+ : Heap::FunctionObject(scope, QStringLiteral("String"))
{
setVTable(staticVTable());
}
struct StringCtor: FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionContext *scope);
};
V4_OBJECT(FunctionObject)
TypedArrayCtor::Data::Data(ExecutionContext *scope, TypedArray::Type t)
- : FunctionObject::Data(scope, QLatin1String(operations[t].name))
+ : Heap::FunctionObject(scope, QLatin1String(operations[t].name))
, type(t)
{
setVTable(staticVTable());
struct TypedArrayCtor: FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionContext *scope, TypedArray::Type t);
TypedArray::Type type;
struct QQmlXMLHttpRequestCtor : public FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionEngine *engine)
- : FunctionObject::Data(engine->rootContext, QStringLiteral("XMLHttpRequest"))
+ : Heap::FunctionObject(engine->rootContext, QStringLiteral("XMLHttpRequest"))
{
setVTable(staticVTable());
Scope scope(engine);
return QQmlLocale::locale(v8engine, code);
}
-QQmlBindingFunction::Data::Data(FunctionObject *originalFunction)
- : QV4::FunctionObject::Data(originalFunction->scope(), originalFunction->name())
+QQmlBindingFunction::Data::Data(QV4::FunctionObject *originalFunction)
+ : QV4::Heap::FunctionObject(originalFunction->scope(), originalFunction->name())
, originalFunction(originalFunction)
{
setVTable(staticVTable());
struct QQmlBindingFunction : public QV4::FunctionObject
{
- struct Data : FunctionObject::Data {
- Data(FunctionObject *originalFunction);
+ struct Data : Heap::FunctionObject {
+ Data(QV4::FunctionObject *originalFunction);
QV4::FunctionObject *originalFunction;
// Set when the binding is created later
QQmlSourceLocation bindingLocation;
struct DelegateModelGroupFunction: QV4::FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : QV4::Heap::FunctionObject {
Data(QV4::ExecutionContext *scope, uint flag, QV4::ReturnedValue (*code)(QQmlDelegateModelItem *item, uint flag, const QV4::ValueRef arg))
- : FunctionObject::Data(scope, QStringLiteral("DelegateModelGroupFunction"))
+ : QV4::Heap::FunctionObject(scope, QStringLiteral("DelegateModelGroupFunction"))
, flag(flag)
, code(code)
{
struct Print: FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionContext *scope)
- : FunctionObject::Data(scope, QStringLiteral("print")) {
+ : Heap::FunctionObject(scope, QStringLiteral("print")) {
setVTable(staticVTable());
}
};
struct GC: public FunctionObject
{
- struct Data : FunctionObject::Data {
+ struct Data : Heap::FunctionObject {
Data(ExecutionContext *scope)
- : FunctionObject::Data(scope, QStringLiteral("gc"))
+ : Heap::FunctionObject(scope, QStringLiteral("gc"))
{
setVTable(staticVTable());
}