Browse Source

[CodeIssue] VariableOnlyAssignedIssue: out argument should be considered as assignment

newNRvisualizers
Mansheng Yang 13 years ago
parent
commit
21a87ec385
  1. 5
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/VariableOnlyAssignedIssues/VariableOnlyAssignedIssue.cs
  2. 19
      ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/LocalVariableOnlyAssignedIssueTests.cs

5
ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/VariableOnlyAssignedIssues/VariableOnlyAssignedIssue.cs

@ -75,6 +75,11 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -75,6 +75,11 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
assignment = true;
return;
}
} else if (parent is DirectionExpression) {
if (((DirectionExpression)parent).FieldDirection == FieldDirection.Out) {
assignment = true;
return;
}
}
}
nonAssignment = true;

19
ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/LocalVariableOnlyAssignedIssueTests.cs

@ -74,5 +74,24 @@ class TestClass @@ -74,5 +74,24 @@ class TestClass
}";
Test<LocalVariableOnlyAssignedIssue> (input, 0);
}
[Test]
public void TestOutArgument ()
{
var input1 = @"
class TestClass
{
void Test (out int i)
{
i = 1;
}
void TestMethod()
{
int i = 1;
Test (out i);
}
}";
Test<LocalVariableOnlyAssignedIssue> (input1, 1);
}
}
}

Loading…
Cancel
Save