Skip to content

Commit

Permalink
Sort types in type hierarchy.
Browse files Browse the repository at this point in the history
  • Loading branch information
josefpihrt committed Sep 27, 2019
1 parent ebf12da commit 6b0ff5b
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
6 changes: 5 additions & 1 deletion src/Documentation/SymbolDefinitionWriter.cs
Expand Up @@ -361,7 +361,11 @@ private void WriteNamespaces(in OneOrMany<IAssemblySymbol> assemblies, Cancellat

private void WriteTypeHierarchy(IEnumerable<INamedTypeSymbol> types, CancellationToken cancellationToken = default)
{
TypeHierarchy hierarchy = TypeHierarchy.Create(types, SymbolDefinitionComparer.SystemFirst.TypeComparer);
IComparer<INamedTypeSymbol> comparer = (Format.Includes(SymbolDefinitionPartFilter.ContainingNamespaceInTypeHierarchy))
? SymbolDefinitionComparer.SystemFirst.TypeComparer
: SymbolDefinitionComparer.OmitContainingNamespace.TypeComparer;

TypeHierarchy hierarchy = TypeHierarchy.Create(types, comparer);

WriteTypeHierarchy(hierarchy, cancellationToken);
}
Expand Down
2 changes: 2 additions & 0 deletions src/Workspaces.Core/Comparers/SymbolDefinitionComparer.cs
Expand Up @@ -19,6 +19,8 @@ internal SymbolDefinitionComparer(SymbolDefinitionSortOptions options = SymbolDe

public static SymbolDefinitionComparer SystemFirst { get; } = new DefaultSymbolDefinitionComparer(SymbolDefinitionSortOptions.SystemFirst);

public static SymbolDefinitionComparer OmitContainingNamespace { get; } = new DefaultSymbolDefinitionComparer(SymbolDefinitionSortOptions.OmitContainingNamespace);

public static SymbolDefinitionComparer SystemFirstOmitContainingNamespace { get; } = new DefaultSymbolDefinitionComparer(SymbolDefinitionSortOptions.SystemFirst | SymbolDefinitionSortOptions.OmitContainingNamespace);

public SymbolDefinitionSortOptions Options { get; }
Expand Down

0 comments on commit 6b0ff5b

Please sign in to comment.