@using Statiq.CodeAnalysis @using Docs.Extensions @{ var containingAssembly = Document.GetDocument(CodeAnalysisKeys.ContainingAssembly); var containingNamespace = Document.GetDocument(CodeAnalysisKeys.ContainingNamespace); var containingType = Document.GetDocument(CodeAnalysisKeys.ContainingType); var type = Document.GetDocument(CodeAnalysisKeys.Type); var overridden = Document.GetDocument(CodeAnalysisKeys.Overridden); IReadOnlyList allInterfaces = Document.GetDocumentList(CodeAnalysisKeys.AllInterfaces); IReadOnlyList baseTypes = Document.GetDocumentList(CodeAnalysisKeys.BaseTypes)? .Where(i => !i.GetString(CodeAnalysisKeys.QualifiedName).Equals("System.Object")) .Reverse() .ToList(); IReadOnlyList derivedTypes = Document.GetDocumentList(CodeAnalysisKeys.DerivedTypes); IReadOnlyList implementingTypes = Document.GetDocumentList(CodeAnalysisKeys.ImplementingTypes); if (containingAssembly is object || containingNamespace is object || allInterfaces?.Count > 0 || baseTypes?.Count > 0 || derivedTypes?.Count > 0 || implementingTypes?.Count > 0) {
@if (containingAssembly != null) {
Assembly
containingAssembly
} @if (containingNamespace != null) {
Namespace
@Context.GetTypeLink(containingNamespace)
} @if (containingType != null) {
Containing Type
@Context.GetTypeLink(containingType)
} @if (overridden != null) {
Overridden
@Context.GetTypeLink(overridden)
} @if (allInterfaces?.Count > 0) {
Interfaces
    @foreach (var interfaceDocument in allInterfaces) {
  • @Context.GetTypeLink(interfaceDocument)
  • }
} @if (baseTypes?.Count > 0) {
Base Types
    @foreach (var baseType in baseTypes) {
  • @Context.GetTypeLink(baseType)
  • }
} @if (derivedTypes?.Count > 0) {
Derived Types
    @foreach (var derivedType in derivedTypes) {
  • @Context.GetTypeLink(derivedType)
  • }
} @if (implementingTypes?.Count > 0) {
Implementing Types
    @foreach (var implementingType in implementingTypes) {
  • @Context.GetTypeLink(implementingType)
  • }
} @if (type != null) {
@Document.GetString(CodeAnalysisKeys.Kind) Type
@Context.GetTypeLink(type)
}
} }