mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 22:17:42 +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 {};
|
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
|
ThrowCompletionOr<void> ScopeNode::for_each_lexically_declared_identifier(ThrowCompletionOrVoidCallback<Identifier const&>&& callback) const
|
||||||
{
|
{
|
||||||
for (auto const& declaration : m_lexical_declarations) {
|
for (auto const& declaration : m_lexical_declarations) {
|
||||||
|
|
|
@ -307,7 +307,6 @@ public:
|
||||||
[[nodiscard]] size_t lexical_declaration_count() const { return m_lexical_declarations.size(); }
|
[[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_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_lexically_declared_identifier(ThrowCompletionOrVoidCallback<Identifier const&>&& callback) const;
|
||||||
|
|
||||||
ThrowCompletionOr<void> for_each_var_declared_name(ThrowCompletionOrVoidCallback<DeprecatedFlyString 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;
|
auto const& exported_name = entry.local_or_import_name;
|
||||||
bool found = false;
|
bool found = false;
|
||||||
// NOTE: Nothing in the callback throws an exception.
|
// NOTE: Nothing in the callback throws an exception.
|
||||||
MUST(program.for_each_lexically_declared_name([&](auto const& name) {
|
MUST(program.for_each_lexically_declared_identifier([&](auto const& identifier) {
|
||||||
if (name == exported_name)
|
if (identifier.string() == exported_name)
|
||||||
found = true;
|
found = true;
|
||||||
}));
|
}));
|
||||||
if (found)
|
if (found)
|
||||||
|
@ -3706,9 +3706,9 @@ NonnullRefPtr<CatchClause const> Parser::parse_catch_clause()
|
||||||
auto body = parse_block_statement();
|
auto body = parse_block_statement();
|
||||||
|
|
||||||
// NOTE: Nothing in the callback throws an exception.
|
// NOTE: Nothing in the callback throws an exception.
|
||||||
MUST(body->for_each_lexically_declared_name([&](auto const& name) {
|
MUST(body->for_each_lexically_declared_identifier([&](auto const& identifier) {
|
||||||
if (bound_names.contains(name))
|
if (bound_names.contains(identifier.string()))
|
||||||
syntax_error(DeprecatedString::formatted("Identifier '{}' already declared as catch parameter", name));
|
syntax_error(DeprecatedString::formatted("Identifier '{}' already declared as catch parameter", identifier.string()));
|
||||||
}));
|
}));
|
||||||
|
|
||||||
if (pattern_parameter) {
|
if (pattern_parameter) {
|
||||||
|
|
|
@ -441,8 +441,8 @@ ThrowCompletionOr<void> ECMAScriptFunctionObject::function_declaration_instantia
|
||||||
|
|
||||||
if (!has_parameter_expressions && arguments_object_needed) {
|
if (!has_parameter_expressions && arguments_object_needed) {
|
||||||
// NOTE: Nothing in the callback throws an exception.
|
// NOTE: Nothing in the callback throws an exception.
|
||||||
MUST(scope_body->for_each_lexically_declared_name([&](auto const& name) {
|
MUST(scope_body->for_each_lexically_declared_identifier([&](auto const& identifier) {
|
||||||
if (name == arguments_name)
|
if (identifier.string() == arguments_name)
|
||||||
arguments_object_needed = false;
|
arguments_object_needed = false;
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue