void Object::defineDefaultProperty(const QString &name, const Value &value) { ExecutionEngine *e = engine(); Scope scope(e); ScopedString s(scope, e->newIdentifier(name)); defineDefaultProperty(s, value); }
void Object::defineAccessorProperty(const QString &name, ReturnedValue (*getter)(CallContext *), ReturnedValue (*setter)(CallContext *)) { ExecutionEngine *e = engine(); Scope scope(e); Scoped<String> s(scope, e->newIdentifier(name)); defineAccessorProperty(s, getter, setter); }
void Object::defineAccessorProperty(const QString &name, void (*getter)(const BuiltinFunction *, Scope &, CallData *), void (*setter)(const BuiltinFunction *, Scope &, CallData *)) { ExecutionEngine *e = engine(); Scope scope(e); ScopedString s(scope, e->newIdentifier(name)); defineAccessorProperty(s, getter, setter); }
void Object::defineDefaultProperty(const QString &name, ReturnedValue (*code)(CallContext *), int argumentCount) { ExecutionEngine *e = engine(); Scope scope(e); ScopedString s(scope, e->newIdentifier(name)); Scoped<FunctionObject> function(scope, e->newBuiltinFunction(e->rootContext, s, code)); function->defineReadonlyProperty(e->id_length, Primitive::fromInt32(argumentCount)); defineDefaultProperty(s, function); }
void Object::defineDefaultProperty(const QString &name, void (*code)(const BuiltinFunction *, Scope &, CallData *), int argumentCount) { ExecutionEngine *e = engine(); Scope scope(e); ScopedString s(scope, e->newIdentifier(name)); ExecutionContext *global = e->rootContext(); ScopedFunctionObject function(scope, BuiltinFunction::create(global, s, code)); function->defineReadonlyConfigurableProperty(e->id_length(), Primitive::fromInt32(argumentCount)); defineDefaultProperty(s, function); }
/*! Returns true if this object has an own (not prototype-inherited) property of the given \a name, otherwise returns false. \sa property(), hasProperty() */ bool QJSValue::hasOwnProperty(const QString &name) const { ExecutionEngine *engine = d->engine; if (!engine) return false; Scope scope(engine); ScopedObject o(scope, d->value); if (!o) return false; ScopedString s(scope, engine->newIdentifier(name)); return o->__getOwnProperty__(s); }