LibJS: Make FunctionDeclaration and CallExpression scope-aware

This commit is contained in:
Andreas Kling 2020-03-09 21:53:13 +01:00
parent ad401ca098
commit 0d6be2cac2
Notes: sideshowbarker 2024-07-19 08:47:52 +09:00

View file

@ -40,7 +40,7 @@ Value ScopeNode::execute(Interpreter& interpreter) const
Value FunctionDeclaration::execute(Interpreter& interpreter) const
{
auto* function = interpreter.heap().allocate<Function>(name(), body());
interpreter.global_object().put(m_name, Value(function));
interpreter.set_variable(m_name, Value(function));
return Value(function);
}
@ -51,7 +51,7 @@ Value CallExpression::execute(Interpreter& interpreter) const
return js_undefined();
}
auto callee = interpreter.global_object().get(name());
auto callee = interpreter.get_variable(name());
ASSERT(callee.is_object());
auto* callee_object = callee.as_object();
ASSERT(callee_object->is_function());