This site provides a machine-readable index at /llms.txt.

Skip to main content Skip to navigation

RoslynApiMetadataProvider Pennington.Roslyn.ApiMetadata

Roslyn-backed IApiMetadataProvider. Walks the configured solution to produce ApiTypeSummary, ApiTypeDetail, and ApiMember instances with pre-formatted signatures.

Constructors

.ctor

#
public RoslynApiMetadataProvider(
    ISolutionWorkspaceService workspace,
    ISymbolExtractionService symbolService,
    IXmlDocParser xmlDocParser,
    ICodeHighlighter highlighter,
    ApiReferenceOptions options);

Initializes the provider.

Parameters

workspace ISolutionWorkspaceService
symbolService ISymbolExtractionService
xmlDocParser IXmlDocParser
highlighter ICodeHighlighter
options ApiReferenceOptions

Methods

GetExtensionMethodsForAsync

#
public async Task<ImmutableArray<ExtensionMethodEntry>> GetExtensionMethodsForAsync(string receiverTypeName);

Returns public extension methods whose first parameter's receiver type has the unqualified name receiverTypeName. Backends that cannot enumerate extensions (e.g. DocFx YAML) return an empty array.

Parameters

receiverTypeName string

Returns

Task<ImmutableArray<ExtensionMethodEntry>>

GetMemberAsync

#
public async Task<ApiMember?> GetMemberAsync(string uid);

Returns a standalone ApiMember for the method/property/field/event identified by uid, or null when the uid is unknown or resolves to a type. Used by components that render a single member (e.g. <ApiParameterTable>).

Parameters

uid string

Returns

Task<ApiMember?>

GetMembersAsync

#
public async Task<ImmutableArray<ApiMember>> GetMembersAsync(
    string typeUid, MemberKind kind, AccessFilter access, MemberOrder order);

Returns members of the type identified by typeUid matching the filters.

Parameters

typeUid string
kind MemberKind
access AccessFilter
order MemberOrder

Returns

Task<ImmutableArray<ApiMember>>

GetTypeAsync

#
public async Task<ApiTypeDetail?> GetTypeAsync(string uid);

Returns full detail for the type identified by uid, or null when the type is not known to this provider.

Parameters

uid string

Returns

Task<ApiTypeDetail?>

GetTypesAsync

#
public Task<ImmutableArray<ApiTypeSummary>> GetTypesAsync();

Returns every documented type the provider knows about, sorted by FullTypeName.

Returns

Task<ImmutableArray<ApiTypeSummary>>

GetXmldocAsync

#
public async Task<ParsedXmlDoc> GetXmldocAsync(string uid);

Returns parsed xmldoc for the type or member identified by uid, or Empty when the uid is unknown. Used by inline components like <ApiSummary> that target arbitrary symbols.

Parameters

uid string

Returns

Task<ParsedXmlDoc>

Pennington.Roslyn.ApiMetadata.RoslynApiMetadataProvider

namespace Pennington.Roslyn.ApiMetadata;

/// Roslyn-backed IApiMetadataProvider. Walks the configured solution to produce ApiTypeSummary, ApiTypeDetail, and ApiMember instances with pre-formatted signatures.
public class RoslynApiMetadataProvider
{
    /// Initializes the provider.
    
public RoslynApiMetadataProvider(
    ISolutionWorkspaceService workspace,
    ISymbolExtractionService symbolService,
    IXmlDocParser xmlDocParser,
    ICodeHighlighter highlighter,
    ApiReferenceOptions options);
/// Returns public extension methods whose first parameter's receiver type has the unqualified name receiverTypeName. Backends that cannot enumerate extensions (e.g. DocFx YAML) return an empty array.
public async Task<ImmutableArray<ExtensionMethodEntry>> GetExtensionMethodsForAsync(string receiverTypeName);
/// Returns a standalone ApiMember for the method/property/field/event identified by uid, or null when the uid is unknown or resolves to a type. Used by components that render a single member (e.g. <ApiParameterTable>).
public async Task<ApiMember?> GetMemberAsync(string uid);
/// Returns members of the type identified by typeUid matching the filters.
public async Task<ImmutableArray<ApiMember>> GetMembersAsync(
    string typeUid, MemberKind kind, AccessFilter access, MemberOrder order);
/// Returns full detail for the type identified by uid, or null when the type is not known to this provider.
public async Task<ApiTypeDetail?> GetTypeAsync(string uid);
/// Returns every documented type the provider knows about, sorted by FullTypeName.
public Task<ImmutableArray<ApiTypeSummary>> GetTypesAsync();
/// Returns parsed xmldoc for the type or member identified by uid, or Empty when the uid is unknown. Used by inline components like <ApiSummary> that target arbitrary symbols.
public async Task<ParsedXmlDoc> GetXmldocAsync(string uid);
}