Skip to content

Commit 2198e7f

Browse files
committed
Add additional null checks to SA1313 analyzer
1 parent 113a114 commit 2198e7f

1 file changed

Lines changed: 11 additions & 8 deletions

File tree

StyleCop.Analyzers/StyleCop.Analyzers/NamingRules/SA1313ParameterNamesMustBeginWithLowerCaseLetter.cs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -142,17 +142,20 @@ private static bool NameMatchesAbstraction(ParameterSyntax syntax, SemanticModel
142142
}
143143
else
144144
{
145-
var implementedInterfaces = methodSymbol.ContainingType.Interfaces;
146-
if (implementedInterfaces.Length != 0)
145+
var containingType = methodSymbol.ContainingType;
146+
if (containingType == null)
147147
{
148-
foreach (var @interface in implementedInterfaces)
148+
return false;
149+
}
150+
151+
var implementedInterfaces = containingType.Interfaces;
152+
foreach (var implementedInterface in implementedInterfaces)
153+
{
154+
foreach (var member in implementedInterface.GetMembers(methodSymbol.Name).OfType<IMethodSymbol>())
149155
{
150-
foreach (var member in @interface.GetMembers(methodSymbol.Name).OfType<IMethodSymbol>())
156+
if (containingType.FindImplementationForInterfaceMember(member) == methodSymbol)
151157
{
152-
if (methodSymbol.ContainingType.FindImplementationForInterfaceMember(member).Equals(methodSymbol))
153-
{
154-
return member.Parameters[index].Name == syntax.Identifier.ValueText;
155-
}
158+
return member.Parameters[index].Name == syntax.Identifier.ValueText;
156159
}
157160
}
158161
}

0 commit comments

Comments
 (0)