Compare commits
3 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
aa49b9035c | |
|
|
49612a48a6 | |
|
|
a12e83e8a4 |
|
|
@ -454,14 +454,31 @@ 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);
|
||||
}
|
||||
|
||||
override void visit(const NewAnonClassExpression newAnonClassCall)
|
||||
{
|
||||
visit(newAnonClassCall.constructorArguments);
|
||||
newAnonClassCall.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 +496,6 @@ final class FormatVisitor : ASTVisitor
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
functionCall.accept(this);
|
||||
}
|
||||
|
||||
private:
|
||||
|
|
|
|||
|
|
@ -1783,6 +1783,8 @@ private:
|
|||
|
||||
if (hasCurrent)
|
||||
{
|
||||
const isNamedArg = index + 1 < tokens.length
|
||||
&& astInformation.namedArgumentColonLocations.canFindIndex(tokens[index + 1].index);
|
||||
if (currentIs(tok!"else"))
|
||||
{
|
||||
immutable i = indents.indentToMostRecent(tok!"if");
|
||||
|
|
@ -1791,7 +1793,7 @@ private:
|
|||
if (mostRecent != -1)
|
||||
indentLevel = mostRecent;
|
||||
}
|
||||
else if (currentIs(tok!"identifier") && peekIs(tok!":"))
|
||||
else if (currentIs(tok!"identifier") && peekIs(tok!":") && !isNamedArg)
|
||||
{
|
||||
if (peekBackIs(tok!"}", true) || peekBackIs(tok!";", true))
|
||||
indents.popTempIndents();
|
||||
|
|
|
|||
|
|
@ -26,3 +26,13 @@ void main()
|
|||
|
||||
temp(v1: () { S s = S(i: 5); return s.i; }, v2: 1);
|
||||
}
|
||||
|
||||
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
|
||||
{
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,3 +29,19 @@ void main()
|
|||
|
||||
temp(v1: () { S s = S(i: 5); return s.i; }, v2: 1);
|
||||
}
|
||||
|
||||
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 { };
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,3 +25,12 @@ void main()
|
|||
|
||||
temp(v1: () { S s = S(i: 5); return s.i; }, v2: 1);
|
||||
}
|
||||
|
||||
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 {
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,3 +22,11 @@ void main() {
|
|||
|
||||
temp(v1: () { S s = S(i: 5); return s.i; }, v2: 1);
|
||||
}
|
||||
|
||||
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 {
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue