Tag the constructor arguments in new-anonymous-class calls as named arguments.

This commit is contained in:
Mathis Beer 2025-10-06 18:56:23 +02:00
parent 49612a48a6
commit ad775b41fe
5 changed files with 21 additions and 0 deletions

View File

@ -464,6 +464,12 @@ final class FormatVisitor : ASTVisitor
newCall.accept(this);
}
override void visit(const NewAnonClassExpression newAnonClassCall)
{
visit(newAnonClassCall.constructorArguments);
newAnonClassCall.accept(this);
}
private void visit(const Arguments arguments)
{
// Check if call has any arguments.

View File

@ -31,4 +31,8 @@ void test()
{
return Struct(foo: field.foo, bar: field.bar, baz: field.baz);
return new Class(foo: field.foo, bar: field.bar, baz: field.baz);
// anonymous class
return new class(foo: field.foo, bar: field.bar, baz: field.baz) Class
{
};
}

View File

@ -39,4 +39,9 @@ void test() {
foo: field.foo,
bar: field.bar,
baz: field.baz);
// anonymous class
return new class(
foo: field.foo,
bar: field.bar,
baz: field.baz) Class { };
}

View File

@ -30,4 +30,7 @@ void test()
{
return Struct(foo: field.foo, bar: field.bar, baz: field.baz);
return new Class(foo: field.foo, bar: field.bar, baz: field.baz);
// anonymous class
return new class(foo: field.foo, bar: field.bar, baz: field.baz) Class {
};
}

View File

@ -26,4 +26,7 @@ void main() {
void test() {
return Struct(foo: field.foo, bar: field.bar, baz: field.baz);
return new Class(foo: field.foo, bar: field.bar, baz: field.baz);
// anonymous class
return new class(foo: field.foo, bar: field.bar, baz: field.baz) Class {
};
}