diff --git a/analyzers/src/SonarAnalyzer.CSharp/Rules/PrivateStaticMethodUsedOnlyByNestedClass.cs b/analyzers/src/SonarAnalyzer.CSharp/Rules/PrivateStaticMethodUsedOnlyByNestedClass.cs index bfb3748020a..bd886ec8212 100644 --- a/analyzers/src/SonarAnalyzer.CSharp/Rules/PrivateStaticMethodUsedOnlyByNestedClass.cs +++ b/analyzers/src/SonarAnalyzer.CSharp/Rules/PrivateStaticMethodUsedOnlyByNestedClass.cs @@ -134,7 +134,7 @@ private static TypeDeclarationSyntax LowestCommonAncestorOrSelf(IEnumerable methods, TypeDeclarationSyntax outerType, SemanticModel model) { var collector = new PotentialMethodReferenceCollector(methods); - collector.Visit(outerType); + collector.SafeVisit(outerType); return collector.PotentialMethodReferences .Where(x => !OnlyUsedByOuterType(x)) @@ -181,7 +181,7 @@ private sealed record MethodUsedByTypes(MethodDeclarationSyntax Method, TypeDecl /// Performance gains: by only using the syntax tree to find matches we can eliminate certain methods (which are only used by the type which has declared it) /// without using the more costly symbolic lookup. /// - private sealed class PotentialMethodReferenceCollector : CSharpSyntaxWalker + private sealed class PotentialMethodReferenceCollector : SafeCSharpSyntaxWalker { private readonly ISet methodsToFind; private readonly Dictionary> potentialMethodReferences;