Skip to content

Instantly share code, notes, and snippets.

@awesomekling
Created June 9, 2021 21:11
Show Gist options
  • Save awesomekling/107858db25b1768abdacaf9715275ea1 to your computer and use it in GitHub Desktop.
Save awesomekling/107858db25b1768abdacaf9715275ea1 to your computer and use it in GitHub Desktop.
diff --git a/Userland/Libraries/LibJS/Interpreter.cpp b/Userland/Libraries/LibJS/Interpreter.cpp
index ebad86ede..90f458494 100644
--- a/Userland/Libraries/LibJS/Interpreter.cpp
+++ b/Userland/Libraries/LibJS/Interpreter.cpp
@@ -94,9 +94,11 @@ void Interpreter::enter_scope(const ScopeNode& scope_node, ScopeType scope_type,
HashMap<FlyString, Variable> scope_variables_with_declaration_kind;
scope_variables_with_declaration_kind.ensure_capacity(16);
+ bool is_program_node = is<Program>(scope_node);
+
for (auto& declaration : scope_node.variables()) {
for (auto& declarator : declaration.declarations()) {
- if (is<Program>(scope_node)) {
+ if (is_program_node && declaration.declaration_kind() == DeclarationKind::Var) {
declarator.target().visit(
[&](const NonnullRefPtr<Identifier>& id) {
global_object.put(id->string(), js_undefined());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment