public static void Analyze( SyntaxNodeAnalysisContext context, MemberDeclarationSyntax memberDeclaration, SeparatedSyntaxList <ParameterSyntax> parameters) { if (parameters.Any()) { DocumentationCommentTriviaSyntax comment = memberDeclaration.GetSingleLineDocumentationComment(); if (comment != null) { ImmutableArray <string> values = DocumentationCommentRefactoring.GetAttributeValues(comment, "param", "name"); if (!values.IsDefault) { foreach (ParameterSyntax parameter in parameters) { if (!parameter.IsMissing && !values.Contains(parameter.Identifier.ValueText)) { context.ReportDiagnostic( DiagnosticDescriptors.AddParameterToDocumentationComment, parameter); } } } } } }
public static void Analyze( SyntaxNodeAnalysisContext context, MemberDeclarationSyntax memberDeclaration, SeparatedSyntaxList <TypeParameterSyntax> typeParameters) { if (typeParameters.Any(f => !f.IsMissing)) { SyntaxTrivia trivia = memberDeclaration.GetSingleLineDocumentationComment(); if (trivia.IsKind(SyntaxKind.SingleLineDocumentationCommentTrivia)) { var comment = trivia.GetStructure() as DocumentationCommentTriviaSyntax; if (comment?.IsKind(SyntaxKind.SingleLineDocumentationCommentTrivia) == true) { var names = new HashSet <string>(DocumentationCommentRefactoring.GetNameAttributeValues(comment, "typeparam")); foreach (TypeParameterSyntax typeParameter in typeParameters) { if (!typeParameter.IsMissing && !names.Contains(typeParameter.Identifier.ValueText)) { context.ReportDiagnostic( DiagnosticDescriptors.AddTypeParameterToDocumentationComment, typeParameter); } } } } } }
public Dictionary <string, XmlElementSyntax> CreateNameElementMap(DocumentationCommentTriviaSyntax comment) { var dic = new Dictionary <string, XmlElementSyntax>(); foreach (XmlElementSyntax element in comment.Elements(ElementName, ElementNameUppercase)) { string name = DocumentationCommentRefactoring.GetAttributeValue(element, "name"); if (!dic.ContainsKey(name)) { dic.Add(name, element); } } return(dic); }