Track 'new' expressions in the named argument offset list as well.
This commit is contained in:
parent
a12e83e8a4
commit
49612a48a6
|
|
@ -454,14 +454,25 @@ final class FormatVisitor : ASTVisitor
|
|||
|
||||
override void visit(const FunctionCallExpression functionCall)
|
||||
{
|
||||
// Check if function has any arguments.
|
||||
if (functionCall.arguments.namedArgumentList is null)
|
||||
{
|
||||
visit(functionCall.arguments);
|
||||
functionCall.accept(this);
|
||||
}
|
||||
|
||||
override void visit(const NewExpression newCall)
|
||||
{
|
||||
visit(newCall.arguments);
|
||||
newCall.accept(this);
|
||||
}
|
||||
|
||||
private void visit(const Arguments arguments)
|
||||
{
|
||||
// Check if call has any arguments.
|
||||
if (!arguments || arguments.namedArgumentList is null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (item; functionCall.arguments.namedArgumentList.items)
|
||||
foreach (item; arguments.namedArgumentList.items)
|
||||
{
|
||||
// Do nothing if not a named argument.
|
||||
if (item.name == tok!"")
|
||||
|
|
@ -479,8 +490,6 @@ final class FormatVisitor : ASTVisitor
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
functionCall.accept(this);
|
||||
}
|
||||
|
||||
private:
|
||||
|
|
|
|||
|
|
@ -30,4 +30,5 @@ 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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,4 +35,8 @@ void test() {
|
|||
foo: field.foo,
|
||||
bar: field.bar,
|
||||
baz: field.baz);
|
||||
return new Class(
|
||||
foo: field.foo,
|
||||
bar: field.bar,
|
||||
baz: field.baz);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,4 +29,5 @@ 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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,4 +25,5 @@ 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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue