Skip to content

Commit 2543742

Browse files
committed
Only query semantic model when absolutely necessary.
1 parent 339938b commit 2543742

File tree

1 file changed

+1
-16
lines changed

1 file changed

+1
-16
lines changed

StyleCop.Analyzers/StyleCop.Analyzers/MaintainabilityRules/SA1414TupleTypesInSignaturesShouldHaveElementNames.cs

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -68,21 +68,6 @@ private static void HandleMethodDeclaration(SyntaxNodeAnalysisContext context)
6868
return;
6969
}
7070

71-
var methodSymbol = context.SemanticModel.GetDeclaredSymbol(methodDeclaration);
72-
var containingType = methodSymbol.ContainingType;
73-
if (containingType is null || methodSymbol.ExplicitInterfaceImplementations.Length > 0)
74-
{
75-
return;
76-
}
77-
78-
foreach (var member in containingType.AllInterfaces.SelectMany(i => i.GetMembers(methodSymbol.Name).OfType<IMethodSymbol>()))
79-
{
80-
if (methodSymbol.Equals(containingType.FindImplementationForInterfaceMember(member)))
81-
{
82-
return;
83-
}
84-
}
85-
8671
CheckType(context, methodDeclaration.ReturnType);
8772
CheckParameterList(context, methodDeclaration.ParameterList);
8873
}
@@ -181,7 +166,7 @@ private static void CheckTupleType(SyntaxNodeAnalysisContext context, TupleTypeS
181166
{
182167
CheckType(context, tupleElementSyntax.Type);
183168

184-
if (tupleElementSyntax.Identifier.IsKind(SyntaxKind.None))
169+
if (tupleElementSyntax.Identifier.IsKind(SyntaxKind.None) && !NamedTypeHelpers.IsImplementingAnInterfaceMember(context.SemanticModel.GetDeclaredSymbol(context.Node)))
185170
{
186171
var location = tupleElementSyntax.SyntaxNode.GetLocation();
187172
context.ReportDiagnostic(Diagnostic.Create(Descriptor, location));

0 commit comments

Comments
 (0)