Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/Docfx.Build/CompilePhaseHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public void Handle(List<HostService> hostServices, int maxParallelism)
Prepare(hostServices, maxParallelism);
hostServices.RunAll(hostService =>
{
var steps = string.Join("=>", hostService.Processor.BuildSteps.OrderBy(step => step.BuildOrder).Select(s => s.Name));
var steps = string.Join("=>", hostService.Processor.BuildSteps.OrderBy(static step => step.BuildOrder).Select(static s => s.Name));
Logger.LogInfo($"Building {hostService.Models.Count} file(s) in {hostService.Processor.Name}({steps})...");
Logger.LogVerbose($"Processor {hostService.Processor.Name}: Prebuilding...");
Prebuild(hostService);
Expand Down Expand Up @@ -144,7 +144,7 @@ private static void RunBuildSteps(IEnumerable<IDocumentBuildStep> buildSteps, Ac
{
if (buildSteps != null)
{
foreach (var buildStep in buildSteps.OrderBy(step => step.BuildOrder))
foreach (var buildStep in buildSteps.OrderBy(static step => step.BuildOrder))
{
action(buildStep);
}
Expand Down
4 changes: 2 additions & 2 deletions src/Docfx.Build/DocumentBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -92,11 +92,11 @@ public void Build(IList<DocumentBuildParameters> parameters, string outputDirect

if (parameter.Files.Count == 0)
{
manifests.Add(new Manifest() { SourceBasePath = StringExtension.ToNormalizedPath(EnvironmentContext.BaseDirectory) });
manifests.Add(new Manifest { SourceBasePath = StringExtension.ToNormalizedPath(EnvironmentContext.BaseDirectory) });
}
else
{
if (!parameter.Files.EnumerateFiles().Any(s => s.Type == DocumentType.Article))
if (!parameter.Files.EnumerateFiles().Any(static s => s.Type == DocumentType.Article))
{
if (!string.IsNullOrEmpty(parameter.GroupInfo?.Name))
{
Expand Down
7 changes: 5 additions & 2 deletions src/Docfx.Dotnet/DotnetApiCatalog.ApiPage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -602,18 +602,21 @@ void EnumFields(INamedTypeSymbol type)
return;

if (config.EnumSortOrder is EnumSortOrder.Alphabetic)
items = items.OrderBy(m => m.Name).ToList();
items = items.OrderBy(static m => m.Name).ToList();

body.Add((Heading)new H2 { h2 = "Fields" });
body.Add(new Parameters { parameters = items.Select(ToParameter).ToArray() });

return;

Parameter ToParameter(IFieldSymbol item)
{
var docs = Comment(item, compilation) is { } comment ? string.Join("\n\n", comment.Summary, comment.Remarks) : null;

return new()
{
name = item.Name, @default = $"{item.ConstantValue}",
name = item.Name,
@default = $"{item.ConstantValue}",
deprecated = Deprecated(item),
preview = Preview(item),
description = docs,
Expand Down
3 changes: 3 additions & 0 deletions src/Docfx.Dotnet/DotnetApiCatalog.ManagedReference.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ private static void CreateManagedReference(List<(IAssemblySymbol symbol, Compila

ResolveAndExportYamlMetadata(allMembers, allReferences);

return;


void ResolveAndExportYamlMetadata(
Dictionary<string, MetadataItem> allMembers, Dictionary<string, ReferenceItem> allReferences)
{
Expand Down
6 changes: 4 additions & 2 deletions src/Docfx.Dotnet/DotnetApiCatalog.cs
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,8 @@ private static ExtractMetadataConfig ConvertConfig(MetadataJsonItemConfig config
var expandedFiles = GlobUtility.ExpandFileMapping(EnvironmentContext.BaseDirectory, projects);
var expandedReferences = GlobUtility.ExpandFileMapping(EnvironmentContext.BaseDirectory, references);

ExtractMetadataConfig.UseClrTypeNames = configModel?.UseClrTypeNames ?? false;

return new ExtractMetadataConfig
{
ShouldSkipMarkup = configModel?.ShouldSkipMarkup ?? false,
Expand All @@ -167,8 +169,8 @@ private static ExtractMetadataConfig ConvertConfig(MetadataJsonItemConfig config
MemberLayout = configModel?.MemberLayout ?? default,
EnumSortOrder = configModel?.EnumSortOrder ?? default,
AllowCompilationErrors = configModel?.AllowCompilationErrors ?? false,
Files = expandedFiles.Items.SelectMany(s => s.Files).ToList(),
References = expandedReferences?.Items.SelectMany(s => s.Files).ToList(),
Files = expandedFiles.Items.SelectMany(static s => s.Files).ToList(),
References = expandedReferences?.Items.SelectMany(static s => s.Files).ToList()
};
}
}
3 changes: 3 additions & 0 deletions src/Docfx.Dotnet/ManagedReference/ExtractMetadataConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,7 @@ internal class ExtractMetadataConfig
public Dictionary<string, string> MSBuildProperties { get; init; }

public bool AllowCompilationErrors { get; init; }

public static bool UseClrTypeNames { get; set; }

}
7 changes: 7 additions & 0 deletions src/Docfx.Dotnet/MetadataJsonConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,13 @@ internal class MetadataJsonItemConfig
[JsonProperty("allowCompilationErrors")]
[JsonPropertyName("allowCompilationErrors")]
public bool AllowCompilationErrors { get; set; }

/// <summary>
/// When enabled, the types uses the CLR type names instead of the C# aliases.
/// </summary>
[JsonProperty("useClrTypeNames")]
[JsonPropertyName("useClrTypeNames")]
public bool UseClrTypeNames { get; init; }
Comment thread
yufeih marked this conversation as resolved.
}

/// <summary>
Expand Down
15 changes: 11 additions & 4 deletions src/Docfx.Dotnet/SymbolFormatter.Syntax.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,24 @@ class SyntaxFormatter
SymbolDisplayMiscellaneousOptions.IncludeNullableReferenceTypeModifier |
SymbolDisplayMiscellaneousOptions.EscapeKeywordIdentifiers |
SymbolDisplayMiscellaneousOptions.AllowDefaultLiteral |
SymbolDisplayMiscellaneousOptions.UseSpecialTypes |
SymbolDisplayMiscellaneousOptions.RemoveAttributeSuffix,
SymbolDisplayMiscellaneousOptions.RemoveAttributeSuffix |
(ExtractMetadataConfig.UseClrTypeNames
? SymbolDisplayMiscellaneousOptions.None
: SymbolDisplayMiscellaneousOptions.UseSpecialTypes),
localOptions: SymbolDisplayLocalOptions.IncludeType,
propertyStyle: SymbolDisplayPropertyStyle.ShowReadWriteDescriptor,
delegateStyle: SymbolDisplayDelegateStyle.NameAndSignature,
extensionMethodStyle: SymbolDisplayExtensionMethodStyle.StaticMethod,
typeQualificationStyle: SymbolDisplayTypeQualificationStyle.NameAndContainingTypes);

private static readonly SymbolDisplayFormat s_syntaxTypeNameFormat = new(
genericsOptions: SymbolDisplayGenericsOptions.IncludeTypeParameters,
miscellaneousOptions: SymbolDisplayMiscellaneousOptions.IncludeNullableReferenceTypeModifier | SymbolDisplayMiscellaneousOptions.UseSpecialTypes,
genericsOptions:
SymbolDisplayGenericsOptions.IncludeTypeParameters,
miscellaneousOptions:
SymbolDisplayMiscellaneousOptions.IncludeNullableReferenceTypeModifier |
(ExtractMetadataConfig.UseClrTypeNames
? SymbolDisplayMiscellaneousOptions.None
: SymbolDisplayMiscellaneousOptions.UseSpecialTypes),
typeQualificationStyle: SymbolDisplayTypeQualificationStyle.NameAndContainingTypes);

private static readonly SymbolDisplayFormat s_syntaxEnumConstantFormat = s_syntaxFormat
Expand Down
17 changes: 13 additions & 4 deletions src/Docfx.Dotnet/SymbolFormatter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,19 @@ namespace Docfx.Dotnet;
internal static partial class SymbolFormatter
{
private static readonly SymbolDisplayFormat s_nameFormat = new(
memberOptions: SymbolDisplayMemberOptions.IncludeParameters | SymbolDisplayMemberOptions.IncludeExplicitInterface,
genericsOptions: SymbolDisplayGenericsOptions.IncludeTypeParameters,
parameterOptions: SymbolDisplayParameterOptions.IncludeType,
miscellaneousOptions: SymbolDisplayMiscellaneousOptions.IncludeNullableReferenceTypeModifier | SymbolDisplayMiscellaneousOptions.AllowDefaultLiteral | SymbolDisplayMiscellaneousOptions.UseSpecialTypes,
memberOptions:
SymbolDisplayMemberOptions.IncludeParameters |
SymbolDisplayMemberOptions.IncludeExplicitInterface,
genericsOptions:
SymbolDisplayGenericsOptions.IncludeTypeParameters,
parameterOptions:
SymbolDisplayParameterOptions.IncludeType,
miscellaneousOptions:
SymbolDisplayMiscellaneousOptions.IncludeNullableReferenceTypeModifier |
SymbolDisplayMiscellaneousOptions.AllowDefaultLiteral |
(ExtractMetadataConfig.UseClrTypeNames
? SymbolDisplayMiscellaneousOptions.None
: SymbolDisplayMiscellaneousOptions.UseSpecialTypes),
extensionMethodStyle: SymbolDisplayExtensionMethodStyle.StaticMethod);

private static readonly SymbolDisplayFormat s_nameWithTypeFormat = s_nameFormat
Expand Down