Esempio n. 1
0
        private static void AnalyzeXmlCommentsForParameterNameAndMessage(SymbolAnalysisContext symbolAnalysisContext)
        {
            var methodSymbol = (IMethodSymbol)symbolAnalysisContext.Symbol;

            if (!methodSymbol.IsStandardExceptionAssertion())
            {
                return;
            }

            if (methodSymbol.DeclaringSyntaxReferences.Length != 1 ||
                !(methodSymbol.DeclaringSyntaxReferences[0].GetSyntax() is MethodDeclarationSyntax methodDeclarationSyntax) ||
                !(methodDeclarationSyntax.DescendantTrivia()
                  .SingleOrDefault(trivia => trivia.Kind() == SyntaxKind.SingleLineDocumentationCommentTrivia)
                  .GetStructure() is DocumentationCommentTriviaSyntax documentationSyntax))
            {
                return;
            }

            symbolAnalysisContext.ReportNonDefaultParameterNameComment(documentationSyntax);
            symbolAnalysisContext.ReportMessageComment(documentationSyntax);
        }