mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-24 02:09:28 +00:00
LibJS: Remove non-spec compliant code from internal_construct
It seems that we are now spec compliant enough to be able to remove this
code block :^)
Diff Tests:
+2 ✅ -2 ❌
This commit is contained in:
committed by
Andreas Kling
parent
18d39deefe
commit
f28bb90d9b
@@ -506,15 +506,6 @@ ThrowCompletionOr<NonnullGCPtr<Object>> ECMAScriptFunctionObject::internal_const
|
||||
|
||||
// 10. If result.[[Type]] is return, then
|
||||
if (result.type() == Completion::Type::Return) {
|
||||
// FIXME: This is leftover from untangling the call/construct mess - doesn't belong here in any way, but removing it breaks derived classes.
|
||||
// Likely fixed by making ClassDefinitionEvaluation fully spec compliant.
|
||||
if (kind == ConstructorKind::Derived && result.value()->is_object()) {
|
||||
auto prototype = TRY(new_target.get(vm.names.prototype));
|
||||
if (prototype.is_object())
|
||||
TRY(result.value()->as_object().internal_set_prototype_of(&prototype.as_object()));
|
||||
}
|
||||
// EOF (End of FIXME)
|
||||
|
||||
// a. If Type(result.[[Value]]) is Object, return result.[[Value]].
|
||||
if (result.value()->is_object())
|
||||
return result.value()->as_object();
|
||||
|
||||
Reference in New Issue
Block a user