From 6458118cebf664d4bdb25a3635c49a7d5b7b9ef8 Mon Sep 17 00:00:00 2001 From: Simon Lindgren Date: Fri, 14 Sep 2012 18:35:38 +0200 Subject: [PATCH] Replace FindReferences with LocalReferenceFinder in ForControlVariableNotModifiedIssue. --- .../ForControlVariableNotModifiedIssue.cs | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/ForControlVariableNotModifiedIssue.cs b/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/ForControlVariableNotModifiedIssue.cs index 78fa121783..cb259f433c 100644 --- a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/ForControlVariableNotModifiedIssue.cs +++ b/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/ForControlVariableNotModifiedIssue.cs @@ -26,7 +26,6 @@ using System.Collections.Generic; using System.Linq; -using ICSharpCode.NRefactory.CSharp.Resolver; using ICSharpCode.NRefactory.PatternMatching; using ICSharpCode.NRefactory.Semantics; @@ -39,24 +38,19 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring IssueMarker = IssueMarker.Underline)] public class ForControlVariableNotModifiedIssue : ICodeIssueProvider { - static FindReferences refFinder = new FindReferences (); - public IEnumerable GetIssues (BaseRefactoringContext context) { - var unit = context.RootNode as SyntaxTree; - if (unit == null) - return Enumerable.Empty (); - - return new GatherVisitor (context, unit).GetIssues (); + return new GatherVisitor (context).GetIssues (); } class GatherVisitor : GatherVisitorBase { - SyntaxTree unit; - public GatherVisitor (BaseRefactoringContext ctx, SyntaxTree unit) + LocalReferenceFinder referenceFinder; + + public GatherVisitor (BaseRefactoringContext ctx) : base (ctx) { - this.unit = unit; + this.referenceFinder = new LocalReferenceFinder(ctx); } static VariableInitializer GetControlVariable(VariableDeclarationStatement variableDecl, @@ -112,7 +106,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring return; var modified = false; - refFinder.FindLocalReferences (localResolveResult.Variable, ctx.UnresolvedFile, unit, ctx.Compilation, + referenceFinder.FindReferences (forStatement, localResolveResult.Variable, (node, resolveResult) => { if (modified) @@ -129,7 +123,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring var assignment = node.Parent as AssignmentExpression; modified = assignment != null && assignment.Left == node; - }, ctx.CancellationToken); + }); if (!modified) AddIssue (controlVariable.NameToken,