mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 11:17:35 +00:00
LibJS+LibWeb: Use Object::set_prototype() in more places
This commit is contained in:
parent
84c9f3e0d0
commit
ba6e4c7ae1
5 changed files with 5 additions and 10 deletions
|
@ -82,7 +82,7 @@ void ECMAScriptFunctionObject::initialize(GlobalObject& global_object)
|
|||
break;
|
||||
case FunctionKind::Generator:
|
||||
// prototype is "g1.prototype" in figure-2 (https://tc39.es/ecma262/img/figure-2.png)
|
||||
(void)prototype->internal_set_prototype_of(global_object.generator_object_prototype());
|
||||
set_prototype(global_object.generator_object_prototype());
|
||||
break;
|
||||
}
|
||||
define_direct_property(vm.names.prototype, prototype, Attribute::Writable);
|
||||
|
|
|
@ -142,8 +142,7 @@ void GlobalObject::initialize_global_object()
|
|||
|
||||
static_cast<ObjectPrototype*>(m_object_prototype)->initialize(*this);
|
||||
|
||||
auto success = Object::internal_set_prototype_of(m_object_prototype).release_value();
|
||||
VERIFY(success);
|
||||
Object::set_prototype(m_object_prototype);
|
||||
|
||||
// This must be initialized before allocating AggregateErrorPrototype, which uses ErrorPrototype as its prototype.
|
||||
m_error_prototype = heap().allocate<ErrorPrototype>(*this, *this);
|
||||
|
|
|
@ -48,9 +48,7 @@ Object::Object(ConstructWithoutPrototypeTag, GlobalObject& global_object)
|
|||
Object::Object(Object& prototype)
|
||||
{
|
||||
m_shape = prototype.global_object().empty_object_shape();
|
||||
// FIXME: Factor out step 9 into a simple prototype setter and use that
|
||||
auto success = internal_set_prototype_of(&prototype).release_value();
|
||||
VERIFY(success);
|
||||
set_prototype(&prototype);
|
||||
}
|
||||
|
||||
Object::Object(Shape& shape)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue