From a831cd9cc7c0562f98d0b7fb9a69056b132a64f7 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 25 Oct 2021 12:54:36 +0200 Subject: [PATCH] LibJS: Make bytecode VM throw TypeError on attempt to call non-callable This isn't perfect, but allows us to progress instead of crashing in the TODO(). --- Userland/Libraries/LibJS/Bytecode/Op.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibJS/Bytecode/Op.cpp b/Userland/Libraries/LibJS/Bytecode/Op.cpp index 49855b1f38..d6b927caa6 100644 --- a/Userland/Libraries/LibJS/Bytecode/Op.cpp +++ b/Userland/Libraries/LibJS/Bytecode/Op.cpp @@ -350,7 +350,8 @@ void Call::execute_impl(Bytecode::Interpreter& interpreter) const { auto callee = interpreter.reg(m_callee); if (!callee.is_function()) { - TODO(); + interpreter.vm().throw_exception(interpreter.global_object(), ErrorType::IsNotA, callee.to_string_without_side_effects(), "function"sv); + return; } auto& function = callee.as_function();