1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 09:08:12 +00:00

LibJS: CallExpression shouldn't throw TypeError or non-constructor call

This unbreaks the entire test suite. :^)
This commit is contained in:
Andreas Kling 2020-04-19 14:50:27 +02:00
parent 90f8a7a36b
commit b251091a6a

View file

@ -94,7 +94,7 @@ Value CallExpression::execute(Interpreter& interpreter) const
if (!callee.is_object()
|| !callee.as_object().is_function()
|| (callee.as_object().is_native_function() && !static_cast<NativeFunction&>(callee.as_object()).has_constructor())) {
|| (is_new_expression() && (callee.as_object().is_native_function() && !static_cast<NativeFunction&>(callee.as_object()).has_constructor()))) {
String error_message;
auto call_type = is_new_expression() ? "constructor" : "function";
if (m_callee->is_identifier() || m_callee->is_member_expression()) {