private static Dictionary<string, NodeSymbolInfo> FindUnusedNodes(SyntaxNodeAnalysisContext context, ParametersInfo parametersInfo, bool isIndexer = false) { UnusedParameterWalker walker = UnusedParameterWalkerCache.Acquire(context.SemanticModel, context.CancellationToken, isIndexer); if (parametersInfo.Parameter != null && !StringUtility.IsOneOrManyUnderscores(parametersInfo.Parameter.Identifier.ValueText)) { walker.AddParameter(parametersInfo.Parameter); } else { foreach (ParameterSyntax parameter in parametersInfo.Parameters) { if (!StringUtility.IsOneOrManyUnderscores(parameter.Identifier.ValueText)) walker.AddParameter(parameter); } } foreach (TypeParameterSyntax typeParameter in parametersInfo.TypeParameters) { walker.AddTypeParameter(typeParameter); walker.IsAnyTypeParameter = true; } if (walker.Nodes.Count == 0) return walker.Nodes; walker.Visit(parametersInfo.Node); return UnusedParameterWalkerCache.GetNodesAndRelease(walker); }
private static Dictionary <string, NodeSymbolInfo> FindUnusedNodes(SyntaxNodeAnalysisContext context, ParametersInfo parametersInfo, bool isIndexer = false) { UnusedParameterWalker walker = UnusedParameterWalkerCache.Acquire(context.SemanticModel, context.CancellationToken, isIndexer); if (parametersInfo.Parameter != null) { walker.AddParameter(parametersInfo.Parameter); } else { foreach (ParameterSyntax parameter in parametersInfo.Parameters) { walker.AddParameter(parameter); } } foreach (TypeParameterSyntax typeParameter in parametersInfo.TypeParameters) { walker.AddTypeParameter(typeParameter); walker.IsAnyTypeParameter = true; } walker.Visit(parametersInfo.Node); return(UnusedParameterWalkerCache.GetNodesAndRelease(walker)); }