LibJS: Remove unreachable code in Interpreter::enter_scope()
Functions are handled and short-circuited at the head of enter_scope().
This commit is contained in:
parent
9b9086dcf0
commit
13865c7c3d
Notes:
sideshowbarker
2024-07-19 07:33:39 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/13865c7c3d7
1 changed files with 4 additions and 11 deletions
|
@ -125,17 +125,10 @@ void Interpreter::enter_scope(const ScopeNode& scope_node, ArgumentVector argume
|
|||
|
||||
bool pushed_lexical_environment = false;
|
||||
|
||||
if (scope_type != ScopeType::Function) {
|
||||
// only a block, but maybe it has block-scoped variables!
|
||||
if (!scope_variables_with_declaration_kind.is_empty()) {
|
||||
auto* block_lexical_environment = heap().allocate<LexicalEnvironment>(move(scope_variables_with_declaration_kind), current_environment());
|
||||
m_call_stack.last().environment = block_lexical_environment;
|
||||
pushed_lexical_environment = true;
|
||||
}
|
||||
} else if (scope_type == ScopeType::Function) {
|
||||
for (auto& it : scope_variables_with_declaration_kind) {
|
||||
current_environment()->set(it.key, it.value);
|
||||
}
|
||||
if (!scope_variables_with_declaration_kind.is_empty()) {
|
||||
auto* block_lexical_environment = heap().allocate<LexicalEnvironment>(move(scope_variables_with_declaration_kind), current_environment());
|
||||
m_call_stack.last().environment = block_lexical_environment;
|
||||
pushed_lexical_environment = true;
|
||||
}
|
||||
|
||||
m_scope_stack.append({ scope_type, scope_node, pushed_lexical_environment });
|
||||
|
|
Loading…
Add table
Reference in a new issue