Browse Source

AssignmentMadeToSameVariableIssue: don't warn on "a += a;"

newNRvisualizers
Daniel Grunwald 13 years ago
parent
commit
e272d518b6
  1. 2
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/AssignmentMadeToSameVariableIssue.cs
  2. 14
      ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/AssignmentMadeToSameVariableIssueTests.cs

2
ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/AssignmentMadeToSameVariableIssue.cs

@ -56,6 +56,8 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -56,6 +56,8 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
{
base.VisitAssignmentExpression (assignmentExpression);
if (assignmentExpression.Operator != AssignmentOperatorType.Assign)
return;
if (!(assignmentExpression.Left is IdentifierExpression) &&
!(assignmentExpression.Left is MemberReferenceExpression))
return;

14
ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/AssignmentMadeToSameVariableIssueTests.cs

@ -209,6 +209,20 @@ class TestClass @@ -209,6 +209,20 @@ class TestClass
{
nested.nested.a = nested.nested.a;
}
}";
Test<AssignmentMadeToSameVariableIssue> (input, 0);
}
[Test]
public void TestNoIssueWithCompoundOperator ()
{
var input = @"
class TestClass
{
void TestMethod (int a)
{
a += a;
}
}";
Test<AssignmentMadeToSameVariableIssue> (input, 0);
}

Loading…
Cancel
Save