mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 09:58:11 +00:00
LibJS: Delete Declaration::for_each_lexically_declared_name
1. Replaces for_each_lexically_declared_name usage with more generic for_each_lexically_declared_identifier. 2. Deletes for_each_lexically_declared_name.
This commit is contained in:
parent
231d58dd62
commit
0fa47405df
4 changed files with 7 additions and 18 deletions
|
@ -4367,16 +4367,6 @@ ThrowCompletionOr<void> ScopeNode::for_each_lexically_scoped_declaration(ThrowCo
|
|||
return {};
|
||||
}
|
||||
|
||||
ThrowCompletionOr<void> ScopeNode::for_each_lexically_declared_name(ThrowCompletionOrVoidCallback<DeprecatedFlyString const&>&& callback) const
|
||||
{
|
||||
for (auto const& declaration : m_lexical_declarations) {
|
||||
TRY(declaration->for_each_bound_identifier([&](auto const& identifier) {
|
||||
return callback(identifier.string());
|
||||
}));
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
ThrowCompletionOr<void> ScopeNode::for_each_lexically_declared_identifier(ThrowCompletionOrVoidCallback<Identifier const&>&& callback) const
|
||||
{
|
||||
for (auto const& declaration : m_lexical_declarations) {
|
||||
|
|
|
@ -307,7 +307,6 @@ public:
|
|||
[[nodiscard]] size_t lexical_declaration_count() const { return m_lexical_declarations.size(); }
|
||||
|
||||
ThrowCompletionOr<void> for_each_lexically_scoped_declaration(ThrowCompletionOrVoidCallback<Declaration const&>&& callback) const;
|
||||
ThrowCompletionOr<void> for_each_lexically_declared_name(ThrowCompletionOrVoidCallback<DeprecatedFlyString const&>&& callback) const;
|
||||
ThrowCompletionOr<void> for_each_lexically_declared_identifier(ThrowCompletionOrVoidCallback<Identifier const&>&& callback) const;
|
||||
|
||||
ThrowCompletionOr<void> for_each_var_declared_name(ThrowCompletionOrVoidCallback<DeprecatedFlyString const&>&& callback) const;
|
||||
|
|
|
@ -762,8 +762,8 @@ void Parser::parse_module(Program& program)
|
|||
auto const& exported_name = entry.local_or_import_name;
|
||||
bool found = false;
|
||||
// NOTE: Nothing in the callback throws an exception.
|
||||
MUST(program.for_each_lexically_declared_name([&](auto const& name) {
|
||||
if (name == exported_name)
|
||||
MUST(program.for_each_lexically_declared_identifier([&](auto const& identifier) {
|
||||
if (identifier.string() == exported_name)
|
||||
found = true;
|
||||
}));
|
||||
if (found)
|
||||
|
@ -3706,9 +3706,9 @@ NonnullRefPtr<CatchClause const> Parser::parse_catch_clause()
|
|||
auto body = parse_block_statement();
|
||||
|
||||
// NOTE: Nothing in the callback throws an exception.
|
||||
MUST(body->for_each_lexically_declared_name([&](auto const& name) {
|
||||
if (bound_names.contains(name))
|
||||
syntax_error(DeprecatedString::formatted("Identifier '{}' already declared as catch parameter", name));
|
||||
MUST(body->for_each_lexically_declared_identifier([&](auto const& identifier) {
|
||||
if (bound_names.contains(identifier.string()))
|
||||
syntax_error(DeprecatedString::formatted("Identifier '{}' already declared as catch parameter", identifier.string()));
|
||||
}));
|
||||
|
||||
if (pattern_parameter) {
|
||||
|
|
|
@ -441,8 +441,8 @@ ThrowCompletionOr<void> ECMAScriptFunctionObject::function_declaration_instantia
|
|||
|
||||
if (!has_parameter_expressions && arguments_object_needed) {
|
||||
// NOTE: Nothing in the callback throws an exception.
|
||||
MUST(scope_body->for_each_lexically_declared_name([&](auto const& name) {
|
||||
if (name == arguments_name)
|
||||
MUST(scope_body->for_each_lexically_declared_identifier([&](auto const& identifier) {
|
||||
if (identifier.string() == arguments_name)
|
||||
arguments_object_needed = false;
|
||||
}));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue