Browse Source

Fixed some issues in event formatting.

pull/45/merge
Mike Krüger 12 years ago
parent
commit
7a5afe919f
  1. 4
      ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/EntityDeclaration.cs
  2. 4
      ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/EventDeclaration.cs
  3. 12
      ICSharpCode.NRefactory.CSharp/Formatter/FormattingVisitor_TypeMembers.cs
  4. 20
      ICSharpCode.NRefactory.Tests/FormattingTests/TestTypeLevelIndentation.cs

4
ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/EntityDeclaration.cs

@ -72,6 +72,10 @@ namespace ICSharpCode.NRefactory.CSharp @@ -72,6 +72,10 @@ namespace ICSharpCode.NRefactory.CSharp
set { SetChildByRole(Roles.Type, value); }
}
public CSharpTokenNode SemicolonToken {
get { return GetChildByRole (Roles.Semicolon); }
}
internal static Modifiers GetModifiers(AstNode node)
{
Modifiers m = 0;

4
ICSharpCode.NRefactory.CSharp/Ast/TypeMembers/EventDeclaration.cs

@ -40,6 +40,10 @@ namespace ICSharpCode.NRefactory.CSharp @@ -40,6 +40,10 @@ namespace ICSharpCode.NRefactory.CSharp
get { return EntityType.Event; }
}
public CSharpTokenNode EventToken {
get { return GetChildByRole (EventKeywordRole); }
}
public AstNodeCollection<VariableInitializer> Variables {
get { return GetChildrenByRole (Roles.Variable); }
}

12
ICSharpCode.NRefactory.CSharp/Formatter/FormattingVisitor_TypeMembers.cs

@ -261,6 +261,14 @@ namespace ICSharpCode.NRefactory.CSharp @@ -261,6 +261,14 @@ namespace ICSharpCode.NRefactory.CSharp
{
FixAttributes(eventDeclaration);
foreach (var m in eventDeclaration.ModifierTokens) {
ForceSpacesAfter(m, true);
}
ForceSpacesBeforeRemoveNewLines(eventDeclaration.EventToken.GetNextSibling (NoWhitespacePredicate), true);
eventDeclaration.ReturnType.AcceptVisitor(this);
ForceSpacesAfter(eventDeclaration.ReturnType, true);
/*
var lastLoc = eventDeclaration.StartLocation;
curIndent.Push(IndentType.Block);
foreach (var initializer in eventDeclaration.Variables) {
@ -271,6 +279,8 @@ namespace ICSharpCode.NRefactory.CSharp @@ -271,6 +279,8 @@ namespace ICSharpCode.NRefactory.CSharp
initializer.AcceptVisitor(this);
}
curIndent.Pop ();
*/
FixSemicolon(eventDeclaration.SemicolonToken);
}
@ -293,6 +303,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -293,6 +303,7 @@ namespace ICSharpCode.NRefactory.CSharp
}
initializer.AcceptVisitor(this);
}
FixSemicolon(fieldDeclaration.SemicolonToken);
}
public override void VisitFixedFieldDeclaration(FixedFieldDeclaration fixedFieldDeclaration)
@ -311,6 +322,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -311,6 +322,7 @@ namespace ICSharpCode.NRefactory.CSharp
initializer.AcceptVisitor(this);
}
curIndent.Pop ();
FixSemicolon(fixedFieldDeclaration.SemicolonToken);
}
public override void VisitEnumMemberDeclaration(EnumMemberDeclaration enumMemberDeclaration)

20
ICSharpCode.NRefactory.Tests/FormattingTests/TestTypeLevelIndentation.cs

@ -675,6 +675,26 @@ set; @@ -675,6 +675,26 @@ set;
}");
}
[Test]
public void TestEventField()
{
CSharpFormattingOptions policy = FormattingOptionsFactory.CreateMono();
Test(policy,
@"class Test
{
public event
EventHandler TestMe ;
}",
@"class Test
{
public event EventHandler TestMe;
}");
}
[Test]
public void TestIndentEventBody()
{

Loading…
Cancel
Save