From 2e21c6e2f06f65fc85b22cb3c11b6c3aa1cab579 Mon Sep 17 00:00:00 2001 From: Simon Lindgren Date: Fri, 14 Sep 2012 17:43:27 +0200 Subject: [PATCH] Add fast check to discard most invocations early in ReferenceEqualsCalledWithValueTypeIssue. --- .../CodeIssues/ReferenceEqualsCalledWithValueTypeIssue.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/ReferenceEqualsCalledWithValueTypeIssue.cs b/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/ReferenceEqualsCalledWithValueTypeIssue.cs index 24f6671fd5..f9d6571491 100644 --- a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/ReferenceEqualsCalledWithValueTypeIssue.cs +++ b/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/ReferenceEqualsCalledWithValueTypeIssue.cs @@ -54,6 +54,11 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring { base.VisitInvocationExpression (invocationExpression); + // Quickly determine if this invocation is eligible to speed up the inspector + var nameToken = invocationExpression.Target.GetChildByRole(Roles.Identifier); + if (nameToken.Name != "ReferenceEquals") + return; + var resolveResult = ctx.Resolve (invocationExpression) as InvocationResolveResult; if (resolveResult == null || resolveResult.Member.DeclaringTypeDefinition == null ||