Ejemplo n.º 1
0
        /// <summary>
        /// Creates documentation comment trivia syntax.
        /// </summary>
        /// <param name="declarationSyntax">The declaration syntax.</param>
        /// <returns>A DocumentationCommentTriviaSyntax.</returns>
        private static DocumentationCommentTriviaSyntax CreateDocumentationCommentTriviaSyntax(MethodDeclarationSyntax declarationSyntax)
        {
            SyntaxList <SyntaxNode> list = SyntaxFactory.List <SyntaxNode>();

            string methodComment = CommentHelper.CreateMethodComment(declarationSyntax.Identifier.ValueText);

            list = list.AddRange(DocumentationHeaderHelper.CreateSummaryPartNodes(methodComment));

            if (declarationSyntax.ParameterList.Parameters.Any())
            {
                foreach (ParameterSyntax parameter in declarationSyntax.ParameterList.Parameters)
                {
                    string parameterComment = CommentHelper.CreateParameterComment(parameter);
                    list = list.AddRange(DocumentationHeaderHelper.CreateParameterPartNodes(parameter.Identifier.ValueText, parameterComment));
                }
            }

            string returnType = declarationSyntax.ReturnType.ToString();

            if (returnType != "void")
            {
                string returnComment = new ReturnCommentConstruction(declarationSyntax.ReturnType).Comment;
                list = list.AddRange(DocumentationHeaderHelper.CreateReturnPartNodes(returnComment));
            }

            return(SyntaxFactory.DocumentationCommentTrivia(SyntaxKind.SingleLineDocumentationCommentTrivia, list));
        }
        /// <summary>
        /// Creates documentation comment trivia syntax.
        /// </summary>
        /// <param name="declarationSyntax">The declaration syntax.</param>
        /// <returns>A DocumentationCommentTriviaSyntax.</returns>
        private static DocumentationCommentTriviaSyntax CreateDocumentationCommentTriviaSyntax(ConstructorDeclarationSyntax declarationSyntax)
        {
            SyntaxList <XmlNodeSyntax> list = SyntaxFactory.List <XmlNodeSyntax>();

            bool isPrivate = false;

            if (declarationSyntax.Modifiers.Any(SyntaxKind.PrivateKeyword))
            {
                isPrivate = true;
            }

            string comment = CommentHelper.CreateConstructorComment(declarationSyntax.Identifier.ValueText, isPrivate);

            list = list.AddRange(DocumentationHeaderHelper.CreateSummaryPartNodes(comment));
            if (declarationSyntax.ParameterList.Parameters.Any())
            {
                foreach (ParameterSyntax parameter in declarationSyntax.ParameterList.Parameters)
                {
                    string parameterComment = CommentHelper.CreateParameterComment(parameter);
                    list = list.AddRange(DocumentationHeaderHelper.CreateParameterPartNodes(parameter.Identifier.ValueText, parameterComment));
                }
            }
            return(SyntaxFactory.DocumentationCommentTrivia(SyntaxKind.SingleLineDocumentationCommentTrivia, list));
        }