diff --git a/ICSharpCode.NRefactory.CSharp/ICSharpCode.NRefactory.CSharp.csproj b/ICSharpCode.NRefactory.CSharp/ICSharpCode.NRefactory.CSharp.csproj index fe0c1ba882..042bddaa6d 100644 --- a/ICSharpCode.NRefactory.CSharp/ICSharpCode.NRefactory.CSharp.csproj +++ b/ICSharpCode.NRefactory.CSharp/ICSharpCode.NRefactory.CSharp.csproj @@ -320,7 +320,6 @@ - diff --git a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/VariableOnlyAssignedIssues/LocalVariableOnlyAssignedIssue.cs b/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/VariableOnlyAssignedIssues/LocalVariableOnlyAssignedIssue.cs deleted file mode 100644 index 7b66ba463e..0000000000 --- a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/VariableOnlyAssignedIssues/LocalVariableOnlyAssignedIssue.cs +++ /dev/null @@ -1,69 +0,0 @@ -// -// LocalVariableOnlyAssignedIssue.cs -// -// Author: -// Mansheng Yang -// -// Copyright (c) 2012 Mansheng Yang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -using ICSharpCode.NRefactory.Semantics; - -namespace ICSharpCode.NRefactory.CSharp.Refactoring -{ - - [IssueDescription ("Local variable is only assigned", - Description = "Local variable is assigned but its value is never used", - Category = IssueCategories.CodeQualityIssues, - Severity = Severity.Warning, - IssueMarker = IssueMarker.Underline)] - public class LocalVariableOnlyAssignedIssue : VariableOnlyAssignedIssue - { - internal override GatherVisitorBase GetGatherVisitor (BaseRefactoringContext ctx) - { - return new GatherVisitor (ctx); - } - - class GatherVisitor : GatherVisitorBase - { - public GatherVisitor (BaseRefactoringContext ctx) - : base (ctx) - { - } - - public override void VisitVariableInitializer (VariableInitializer variableInitializer) - { - base.VisitVariableInitializer (variableInitializer); - - var decl = variableInitializer.Parent as VariableDeclarationStatement; - if (decl == null) - return; - - var resolveResult = ctx.Resolve (variableInitializer) as LocalResolveResult; - if (resolveResult == null) - return; - if (!TestOnlyAssigned (ctx, decl.Parent, resolveResult.Variable)) - return; - AddIssue (variableInitializer.NameToken, - ctx.TranslateString ("Local variable is assigned but its value is never used")); - } - } - } -} diff --git a/ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/LocalVariableOnlyAssignedIssueTests.cs b/ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/LocalVariableOnlyAssignedIssueTests.cs deleted file mode 100644 index 8c5ddf0ba3..0000000000 --- a/ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/LocalVariableOnlyAssignedIssueTests.cs +++ /dev/null @@ -1,113 +0,0 @@ -// -// LocalVariableOnlyAssignedIssueTests.cs -// -// Author: -// Mansheng Yang -// -// Copyright (c) 2012 Mansheng Yang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -using ICSharpCode.NRefactory.CSharp.Refactoring; -using NUnit.Framework; - -namespace ICSharpCode.NRefactory.CSharp.CodeIssues -{ - [TestFixture] - public class LocalVariableOnlyAssignedIssueTests : InspectionActionTestBase - { - [Test] - public void TestUnusedValue () - { - var input1 = @" -class TestClass -{ - void TestMethod() - { - int i = 1; - i++; - } -}"; - Test (input1, 1); - - var input2 = @" -class TestClass -{ - void TestMethod() - { - int i; - i = 1; - } -}"; - Test (input2, 1); - } - - [Test] - public void TestUsedValue () - { - var input = @" -class TestClass -{ - int TestMethod() - { - int i; - i = 1; - int j = i + 1; - return j; - } -}"; - Test (input, 0); - } - - [Test] - public void TestOutArgument () - { - var input1 = @" -class TestClass -{ - void Test (out int i) - { - i = 1; - } - void TestMethod() - { - int tmp; - Test (out tmp); - } -}"; - // should not warn because ignoring out-arguments is legitimate - Test (input1, 0); - } - - [Test] - public void TestIncrement () - { - var input1 = @" -class TestClass -{ - void TestMethod() - { - int i = 1; - Test (i++); - } -}"; - Test (input1, 0); - } - } -} diff --git a/ICSharpCode.NRefactory.Tests/ICSharpCode.NRefactory.Tests.csproj b/ICSharpCode.NRefactory.Tests/ICSharpCode.NRefactory.Tests.csproj index f4296dd82b..1f3e89882d 100644 --- a/ICSharpCode.NRefactory.Tests/ICSharpCode.NRefactory.Tests.csproj +++ b/ICSharpCode.NRefactory.Tests/ICSharpCode.NRefactory.Tests.csproj @@ -110,7 +110,6 @@ -