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. 11
      ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/RedundantFieldInitializerIssueTests.cs

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

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

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

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

Loading…
Cancel
Save