Browse Source

Fixed bug in redundant field initializer issue.

pull/32/merge
mkrueger 13 years ago
parent
commit
3b46fef92b
  1. 3
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/RedundantFieldInitializerIssue.cs
  2. 9
      ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/RedundantFieldInitializerIssueTests.cs

3
ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/RedundantFieldInitializerIssue.cs

@ -52,7 +52,8 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
public override void VisitFieldDeclaration (FieldDeclaration fieldDeclaration) public override void VisitFieldDeclaration (FieldDeclaration fieldDeclaration)
{ {
base.VisitFieldDeclaration (fieldDeclaration); base.VisitFieldDeclaration (fieldDeclaration);
if (fieldDeclaration.HasModifier (Modifiers.Const))
return;
var defaultValueExpr = GetDefaultValueExpression (fieldDeclaration.ReturnType); var defaultValueExpr = GetDefaultValueExpression (fieldDeclaration.ReturnType);
if (defaultValueExpr == null) if (defaultValueExpr == null)
return; return;

9
ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/RedundantFieldInitializerIssueTests.cs

@ -169,5 +169,14 @@ class TestClass
}"; }";
Test<RedundantFieldInitializerIssue> (input, 1, output); Test<RedundantFieldInitializerIssue> (input, 1, output);
} }
[Test]
public void TestRedundantConstantBug ()
{
Test<RedundantFieldInitializerIssue> (@"class Test { const int foo = 0; }", 0);
}
} }
} }

Loading…
Cancel
Save