diff --git a/source/DefaultDocumentation/DefaultDocumentation.Release.csproj b/source/DefaultDocumentation/DefaultDocumentation.Release.csproj index 3b5fd257..8e37f53a 100644 --- a/source/DefaultDocumentation/DefaultDocumentation.Release.csproj +++ b/source/DefaultDocumentation/DefaultDocumentation.Release.csproj @@ -7,9 +7,12 @@ - 0.5.4 + 0.5.5 +fixed TypeDocItem writing members of nested types fixed nested type not showing parent type in name +fixed NullReferenceException for generic type +fixed internal interfaces shown in implementation \ No newline at end of file diff --git a/source/DefaultDocumentation/DocumentationWriter.cs b/source/DefaultDocumentation/DocumentationWriter.cs index 1bdaa0aa..41db4925 100644 --- a/source/DefaultDocumentation/DocumentationWriter.cs +++ b/source/DefaultDocumentation/DocumentationWriter.cs @@ -75,7 +75,8 @@ public string GetTypeLink(DocItem item, IType type) { string HandleParameterizedType(ParameterizedType genericType) { - if (_items.TryGetValue(genericType.GetDefinition().GetIdString(), out DocItem docItem) && docItem is TypeDocItem typeDocItem) + ITypeDefinition typeDefinition = genericType.GetDefinition(); + if (typeDefinition != null && _items.TryGetValue(typeDefinition.GetIdString(), out DocItem docItem) && docItem is TypeDocItem typeDocItem) { return GetLink(docItem, typeDocItem.Type.FullName + "<") + string.Join(GetLink(docItem, ","), genericType.TypeArguments.Select(t => GetTypeLink(item, t))) diff --git a/source/DefaultDocumentation/Model/TypeDocItem.cs b/source/DefaultDocumentation/Model/TypeDocItem.cs index 4787cff4..a4621de5 100644 --- a/source/DefaultDocumentation/Model/TypeDocItem.cs +++ b/source/DefaultDocumentation/Model/TypeDocItem.cs @@ -44,7 +44,7 @@ public override void WriteDocumentation(DocumentationWriter writer) writer.Write(this, Documentation.GetSummary()); - List interfaces = Type.DirectBaseTypes.Where(t => t.Kind == TypeKind.Interface).ToList(); + List interfaces = Type.DirectBaseTypes.Where(t => t.Kind == TypeKind.Interface && t.GetDefinition().Accessibility == Accessibility.Public).ToList(); writer.WriteLine("```csharp"); writer.Write(CodeAmbience.ConvertSymbol(Type)); diff --git a/source/DefaultDocumentation/Properties/launchSettings.json b/source/DefaultDocumentation/Properties/launchSettings.json index b899fb9d..2184af9a 100644 --- a/source/DefaultDocumentation/Properties/launchSettings.json +++ b/source/DefaultDocumentation/Properties/launchSettings.json @@ -2,7 +2,7 @@ "profiles": { "DefaultDocumentation": { "commandName": "Project", - "commandLineArgs": "/assembly:\"D:\\Projects\\DefaultEcs\\source\\DefaultEcs\\bin\\Release\\netstandard2.0\\DefaultEcs.dll\" /xml:\"D:\\Projects\\DefaultEcs\\source\\DefaultEcs\\bin\\Release\\netstandard2.0\\DefaultEcs.xml\" /output:\"D:\\Projects\\DefaultEcs\\documentation\\api\"" + "commandLineArgs": "/assembly:\"D:\\Projects\\DefaultEcs\\source\\DefaultEcs\\bin\\Release\\netstandard2.1\\DefaultEcs.dll\" /xml:\"D:\\Projects\\DefaultEcs\\source\\DefaultEcs\\obj\\Release\\netstandard2.1\\DefaultEcs.xml\" /output:\"D:\\Projects\\DefaultEcs\\documentation\\api\" /home:\"\" /baselink:\"\" /linksfile:\"\"" } } } \ No newline at end of file