Browse Source

Add fast check to discard most invocations early in ReferenceEqualsCalledWithValueTypeIssue.

Simon Lindgren 14 years ago
parent
commit
2e21c6e2f0
  1. 5
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/ReferenceEqualsCalledWithValueTypeIssue.cs

5
ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/ReferenceEqualsCalledWithValueTypeIssue.cs

@ -54,6 +54,11 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -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 ||

Loading…
Cancel
Save