@using Statiq.CodeAnalysis @using Docs.Extensions @using Microsoft.CodeAnalysis @{ var modelSymbol = Document.Get(CodeAnalysisKeys.Symbol); IReadOnlyList methods = Document.GetDocumentList(CodeAnalysisKeys.ExtensionMethods) ?.Where(x => x.GetBool(CodeAnalysisKeys.IsResult)) .OrderBy(x => x.GetString(CodeAnalysisKeys.DisplayName)) .ToList(); if (methods?.Count > 0) {

Extension Methods

@foreach (var method in methods) { ISymbol reducedSymbol = method.Get(CodeAnalysisKeys.Symbol)?.ReduceExtensionMethod(modelSymbol); string reducedName = reducedSymbol?.ToDisplayString(new SymbolDisplayFormat( typeQualificationStyle: SymbolDisplayTypeQualificationStyle.NameAndContainingTypes, genericsOptions: SymbolDisplayGenericsOptions.IncludeTypeParameters, parameterOptions: SymbolDisplayParameterOptions.IncludeType, memberOptions: SymbolDisplayMemberOptions.IncludeParameters, miscellaneousOptions: SymbolDisplayMiscellaneousOptions.UseSpecialTypes));
@method.GetModifiers(skipStatic:true) @method.GetDocument(CodeAnalysisKeys.ReturnType).GetString(CodeAnalysisKeys.DisplayName) @Context.GetTypeLink(method,reducedName, false)
@Html.Raw(method.GetString(CodeAnalysisKeys.Summary))
}
} }