Skip to content

Commit

Permalink
chore: move filter check logics to GetSymbolUrl
Browse files Browse the repository at this point in the history
  • Loading branch information
filzrev committed Oct 19, 2024
1 parent 73501b5 commit db035fe
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 10 deletions.
8 changes: 2 additions & 6 deletions src/Docfx.Dotnet/DotnetApiCatalog.ApiPage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -707,9 +707,7 @@ Inline Cref(string commentId)
Inline ShortLink(ISymbol symbol, Compilation compilation)
{
var title = SymbolFormatter.GetNameWithType(symbol, SyntaxLanguage.CSharp);
var url = filter.IncludeApi(symbol)
? SymbolUrlResolver.GetSymbolUrl(symbol, compilation, config.MemberLayout, symbolUrlKind, allAssemblies)
: null;
var url = SymbolUrlResolver.GetSymbolUrl(symbol, compilation, config.MemberLayout, symbolUrlKind, allAssemblies, filter);
return Link(title, url);
}

Expand All @@ -724,9 +722,7 @@ Inline FullLink(ISymbol symbol, Compilation compilation)
Inline NameOnlyLink(ISymbol symbol, Compilation compilation)
{
var title = SymbolFormatter.GetName(symbol, SyntaxLanguage.CSharp);
var url = filter.IncludeApi(symbol)
? SymbolUrlResolver.GetSymbolUrl(symbol, compilation, config.MemberLayout, symbolUrlKind, allAssemblies)
: null;
var url = SymbolUrlResolver.GetSymbolUrl(symbol, compilation, config.MemberLayout, symbolUrlKind, allAssemblies, filter);
return Link(title, url);
}

Expand Down
4 changes: 1 addition & 3 deletions src/Docfx.Dotnet/SymbolFormatter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -138,9 +138,7 @@ LinkItem ToLinkItem(SymbolDisplayPart part)
{
Name = overload ? VisitorHelper.GetOverloadId(symbol) : VisitorHelper.GetId(symbol),
DisplayName = part.ToString(),
Href = filter.IncludeApi(symbol)
? SymbolUrlResolver.GetSymbolUrl(symbol, compilation, memberLayout, urlKind, allAssemblies)
: null,
Href = SymbolUrlResolver.GetSymbolUrl(symbol, compilation, memberLayout, urlKind, allAssemblies, filter),
IsExternalPath = symbol.IsExtern || symbol.DeclaringSyntaxReferences.Length == 0,
};
}
Expand Down
5 changes: 4 additions & 1 deletion src/Docfx.Dotnet/SymbolUrlResolver.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,15 @@ enum SymbolUrlKind

internal static partial class SymbolUrlResolver
{
public static string? GetSymbolUrl(ISymbol symbol, Compilation compilation, MemberLayout memberLayout, SymbolUrlKind urlKind, HashSet<IAssemblySymbol> allAssemblies)
public static string? GetSymbolUrl(ISymbol symbol, Compilation compilation, MemberLayout memberLayout, SymbolUrlKind urlKind, HashSet<IAssemblySymbol> allAssemblies, SymbolFilter filter)
{
// Reduce symbol into generic definitions
symbol = symbol is IMethodSymbol method ? method.ReducedFrom ?? symbol : symbol;
symbol = symbol.OriginalDefinition ?? symbol;

if (!filter.IncludeApi(symbol))
return null;

return GetDocfxUrl(symbol, memberLayout, urlKind, allAssemblies)
?? GetMicrosoftLearnUrl(symbol)
?? GetPdbSourceLinkUrl(compilation, symbol);
Expand Down

0 comments on commit db035fe

Please sign in to comment.