private IEnumerable <XmlElementSyntax> GetSections(OpenApiOperation context) { yield return(DocumentationSyntaxHelpers.BuildSummaryElement(context.Summary)); if (!string.IsNullOrWhiteSpace(context.Description)) { yield return(DocumentationSyntaxHelpers.BuildRemarksElement(context.Description)); } }
protected virtual MethodDeclarationSyntax GenerateProcessResponseAsyncMethod() => MethodDeclaration(WellKnownTypes.System.Threading.Tasks.ValueTask.Name, "ProcessResponseAsync") .AddModifiers(Token(SyntaxKind.PublicKeyword), Token(SyntaxKind.VirtualKeyword), Token(SyntaxKind.AsyncKeyword)) .WithLeadingTrivia( DocumentationSyntaxHelpers.BuildXmlCommentTrivia( DocumentationSyntaxHelpers.BuildInheritDocElement())) .AddParameterListParameters( Parameter(Identifier(MessageParameterName)) .WithType(WellKnownTypes.System.Net.Http.HttpResponseMessage.Name), MethodHelpers.DefaultedCancellationTokenParameter()) .WithBody(GenerateProcessResponseAsyncBody());
private ClassDeclarationSyntax AddDocumentation(ClassDeclarationSyntax target, OpenApiSecurityScheme context) => target.WithLeadingTrivia( target.GetLeadingTrivia().Insert(0, DocumentationSyntaxHelpers.BuildXmlCommentTrivia( DocumentationSyntaxHelpers.BuildSummaryElement(context.Description))));
private SyntaxTrivia GetDocumentationTrivia(OpenApiParameter context) => DocumentationSyntaxHelpers.BuildXmlCommentTrivia( DocumentationSyntaxHelpers.BuildSummaryElement(context.Description));
private MethodDeclarationSyntax AddDocumentation(MethodDeclarationSyntax target, OpenApiOperation context) => target.WithLeadingTrivia( target.GetLeadingTrivia().Insert(0, DocumentationSyntaxHelpers.BuildXmlCommentTrivia(GetSections(context).ToArray <XmlNodeSyntax>())));
private MethodDeclarationSyntax AddDocumentation(MethodDeclarationSyntax target) => target.WithLeadingTrivia( target.GetLeadingTrivia().Insert(0, DocumentationSyntaxHelpers.BuildXmlCommentTrivia( DocumentationSyntaxHelpers.BuildInheritDocElement())));