Browse Source

Some improvements to output visitor.

newNRvisualizers
Daniel Grunwald 15 years ago
parent
commit
a92606cb97
  1. 9
      ICSharpCode.NRefactory/CSharp/OutputVisitor/OutputVisitor.cs

9
ICSharpCode.NRefactory/CSharp/OutputVisitor/OutputVisitor.cs

@ -148,13 +148,14 @@ namespace ICSharpCode.NRefactory.CSharp @@ -148,13 +148,14 @@ namespace ICSharpCode.NRefactory.CSharp
/// Writes a comma.
/// </summary>
/// <param name="nextNode">The next node after the comma.</param>
void Comma(AstNode nextNode)
/// <param name="noSpacesAfterComma">When set prevents printing a space after comma.</param>
void Comma(AstNode nextNode, bool noSpaceAfterComma = false)
{
WriteSpecialsUpToRole(AstNode.Roles.Comma, nextNode);
Space(policy.SpacesBeforeComma);
formatter.WriteToken(",");
lastWritten = LastWritten.Other;
Space(policy.SpacesAfterComma);
Space(!noSpaceAfterComma && policy.SpacesAfterComma);
}
void WriteCommaSeparatedList(IEnumerable<AstNode> list)
@ -1108,6 +1109,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -1108,6 +1109,7 @@ namespace ICSharpCode.NRefactory.CSharp
StartNode(attribute);
attribute.Type.AcceptVisitor(this, data);
Space(policy.BeforeMethodCallParentheses);
if (attribute.Arguments.Count != 0 || !attribute.GetChildByRole(AstNode.Roles.LPar).IsNull)
WriteCommaSeparatedListInParenthesis(attribute.Arguments, policy.WithinMethodCallParentheses);
return EndNode(attribute);
}
@ -1123,6 +1125,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -1123,6 +1125,7 @@ namespace ICSharpCode.NRefactory.CSharp
}
WriteCommaSeparatedList(attributeSection.Attributes.SafeCast<Attribute, AstNode>());
WriteToken("]", AstNode.Roles.RBracket);
if (!(attributeSection.Parent is ParameterDeclaration))
NewLine();
return EndNode(attributeSection);
}
@ -1201,7 +1204,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -1201,7 +1204,7 @@ namespace ICSharpCode.NRefactory.CSharp
if (first) {
first = false;
} else {
Comma(member);
Comma(member, noSpaceAfterComma: true);
NewLine();
}
member.AcceptVisitor(this, data);

Loading…
Cancel
Save