mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 05:08:13 +00:00
JSSpecCompiler: Parse optional arguments groups
This commit is contained in:
parent
3e6a07154b
commit
a35a751f9e
8 changed files with 72 additions and 11 deletions
|
@ -74,11 +74,17 @@ template<>
|
|||
struct AK::Formatter<Vector<FunctionArgument>> : AK::Formatter<StringView> {
|
||||
ErrorOr<void> format(FormatBuilder& builder, Vector<FunctionArgument> const& arguments)
|
||||
{
|
||||
size_t previous_optional_group = 0;
|
||||
for (size_t i = 0; i < arguments.size(); ++i) {
|
||||
if (previous_optional_group != arguments[i].optional_arguments_group) {
|
||||
previous_optional_group = arguments[i].optional_arguments_group;
|
||||
TRY(builder.put_string("["sv));
|
||||
}
|
||||
TRY(builder.put_string(arguments[i].name));
|
||||
if (i + 1 != arguments.size())
|
||||
TRY(builder.put_literal(", "sv));
|
||||
}
|
||||
TRY(builder.put_string(TRY(String::repeated(']', previous_optional_group))));
|
||||
return {};
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue