← Portal

Types and relationships

classDiagram
    namespace internal_cli {
        class internal_cli_Options["Options"] {
            +Help bool
            +Version bool
            +ClassDiagram bool
            +PackageDiagram bool
            +Format string
            +ShowExternal bool
            +HideUnexported bool
            +HideAliases bool
            +PublicAPI bool
            +ShowConstants bool
            +ShowFunctions bool
            +FunctionPatterns string[]
            +MethodPatterns string[]
            +ReceiverPatterns string[]
            +MaxMembers int
            +DisableFields bool
            +DisableMethods bool
            +DisableImplements bool
            +ShowEdgeReasons bool
            +Summary bool
            +Report bool
            +HTMLDir string
            +RelTargets string[]
            +RelTargetDepth int
            +Include string[]
            +Exclude string[]
            +ExcludeDirs string[]
            +IncludeDirs string[]
            +ExcludeGenerated bool
            +GeneratedOnly bool
            +GOOS string
            +GOARCH string
            +BuildTags string[]
            +BuildContextMode string
            +Dir string
        }
    }
    namespace internal_diagram {
        class internal_diagram_Diagram["Diagram"] {
            +Root *PackageNode
            +Edges Edge[]
            -edgeReasons Map~edgeKey,EdgeReasons~
            +ReasonsFor(Edge) EdgeReasons
        }
        class internal_diagram_Edge["Edge"] {
            +From string
            +To string
            +Kind EdgeKind
            +ToCollection bool
            +Unexported bool
            +PointerOnly bool
        }
        class internal_diagram_EdgeKind["EdgeKind"] {
            <<type>>
            type int
        }
        class internal_diagram_EdgeReasons["EdgeReasons"] {
            <<type>>
            type uint32
        }
        class internal_diagram_Entry["Entry"] {
            +ID string
            +Name string
            +TypeParams gocode.TypeParam[]
            +Kind Kind
            +Doc string
            +Fields gocode.Field[]
            +Methods gocode.Method[]
            +NamedType *gocode.NamedType
            +Functions gocode.Function[]
        }
        class internal_diagram_Kind["Kind"] {
            <<type>>
            type int
        }
        class internal_diagram_PackageEdge["PackageEdge"] {
            +From string
            +To string
            +Mutual bool
            +External bool
        }
        class internal_diagram_PackageGraph["PackageGraph"] {
            +Root *PackageNode
            +Edges PackageEdge[]
            +HasRootPackage bool
        }
        class internal_diagram_PackageNode["PackageNode"] {
            +Name string
            +Path string
            +PackageName string
            +Children *PackageNode[]
            +Entries *Entry[]
        }
        class internal_diagram_RelTargetNotFoundError["RelTargetNotFoundError"] {
            +Missing string[]
            +Candidates string[]
            +Error() string
        }
        class internal_diagram_SummaryOptions["SummaryOptions"] {
            +HideUnexported bool
            +DisableFields bool
            +DisableMethods bool
            +DisableImplements bool
            +FunctionPatterns string[]
            +MethodPatterns string[]
            +ReceiverPatterns string[]
            +ShowEdgeReasons bool
        }
        class internal_diagram_concreteMethodSets["concreteMethodSets"] {
            -value Map~string,gocode.Method~
            -pointer Map~string,gocode.Method~
        }
        class internal_diagram_edgeKey["edgeKey"] {
            +From string
            +To string
            +Kind EdgeKind
        }
        class internal_diagram_entryKey["entryKey"] {
            +Dir string
            +Name string
        }
        class internal_diagram_entrySummaryMeta["entrySummaryMeta"] {
            -name string
            -dir string
            -packageName string
        }
        class internal_diagram_pkgPair["pkgPair"] {
            +From string
            +To string
        }
    }
    namespace internal_gocode {
        class internal_gocode_BuildContext["BuildContext"] {
            +GOOS string
            +GOARCH string
            +Tags string[]
        }
        class internal_gocode_Constant["Constant"] {
            +Name string
            +Doc string
            +Exported bool
        }
        class internal_gocode_Field["Field"] {
            +Name string
            +Type TypeRef
            +Exported bool
        }
        class internal_gocode_Function["Function"] {
            +Name string
            +Doc string
            +Params TypeRef[]
            +Results TypeRef[]
            +Exported bool
        }
        class internal_gocode_GeneratedFileMode["GeneratedFileMode"] {
            <<type>>
            type int
        }
        class internal_gocode_Import["Import"] {
            +Alias string
            +Path string
        }
        class internal_gocode_Interface["Interface"] {
            +Name string
            +TypeParams TypeParam[]
            +Doc string
            +Methods Method[]
            +Embeds TypeRef[]
        }
        class internal_gocode_Method["Method"] {
            +Name string
            +Params TypeRef[]
            +Results TypeRef[]
            +Exported bool
            +PointerReceiver bool
        }
        class internal_gocode_NamedType["NamedType"] {
            +Name string
            +Doc string
            +TypeParams TypeParam[]
            +Kind NamedTypeKind
            +Underlying TypeRef
            +Params TypeRef[]
            +Results TypeRef[]
            +Methods Method[]
            +Constants Constant[]
        }
        class internal_gocode_NamedTypeKind["NamedTypeKind"] {
            <<type>>
            type int
        }
        class internal_gocode_Package["Package"] {
            +Dir string
            +Name string
            +Imports Import[]
            +Structs *Struct[]
            +Interfaces *Interface[]
            +NamedTypes *NamedType[]
            +Functions Function[]
        }
        class internal_gocode_ParseOptions["ParseOptions"] {
            +Includes string[]
            +Excludes string[]
            +ExcludeDirs string[]
            +IncludeDirs string[]
            +GeneratedFiles GeneratedFileMode
            +BuildContext *BuildContext
        }
        class internal_gocode_Struct["Struct"] {
            +Name string
            +TypeParams TypeParam[]
            +Doc string
            +Fields Field[]
            +Embeds TypeRef[]
            +Methods Method[]
        }
        class internal_gocode_TypeParam["TypeParam"] {
            +Name string
            +Constraint TypeRef
        }
        class internal_gocode_TypeRef["TypeRef"] {
            +PkgName string
            +Name string
            +IsSlice bool
            +IsMap bool
            +IsPtr bool
            +String string
            +Related TypeRef[]
            +Relation TypeRelation
        }
        class internal_gocode_TypeRelation["TypeRelation"] {
            <<type>>
            type int
        }
        class internal_gocode_Warning["Warning"] {
            +File string
            +Err error
            +BuildExpression string
            +Error() string
        }
        class internal_gocode_dirFiles["dirFiles"] {
            +Dir string
            +AbsDir string
            +Files string[]
        }
        class internal_gocode_fileDecls["fileDecls"] {
            +Structs *Struct[]
            +Interfaces *Interface[]
            +NamedTypes *NamedType[]
            +Methods Map~string,Method[]~
            +Constants Map~string,Constant[]~
            +PendingConstants pendingConstant[]
            +Functions Function[]
        }
        class internal_gocode_pendingConstant["pendingConstant"] {
            +Constant Constant
            +RefName string
        }
    }
    namespace internal_portal {
        class internal_portal_Artifacts["Artifacts"] {
            +ClassMermaid string
            +PackageMermaid string
            +ClassPlantUML string
            +PackagePlantUML string
            +Summary string
            +ReportMarkdown string
        }
        class internal_portal_Meta["Meta"] {
            +Dir string
            +ModulePath string
            +Version string
        }
        class internal_portal_Result["Result"] {
            +IndexPath string
        }
        class internal_portal_indexPageData["indexPageData"] {
            +Dir string
            +ModulePath string
            +Version string
        }
        class internal_portal_mermaidPageData["mermaidPageData"] {
            +Title string
            +SourceFile string
            +Source string
            +Skipped bool
            +SkipReason string
        }
        class internal_portal_pumlPageData["pumlPageData"] {
            +Title string
            +SourceFile string
            +Source string
        }
        class internal_portal_reportPageData["reportPageData"] {
            +Title string
            +SourceFile string
            +Markdown string
        }
        class internal_portal_textPageData["textPageData"] {
            +Title string
            +SourceFile string
            +Content string
        }
    }
    namespace internal_render {
        class internal_render_Options["Options"] {
            +HideUnexported bool
            +ShowConstants bool
            +ShowFunctions bool
            +FunctionPatterns string[]
            +MethodPatterns string[]
            +ReceiverPatterns string[]
            +MaxMembers int
            +ShowEdgeReasons bool
            +DisableFields bool
            +DisableMethods bool
            +DisableImplements bool
        }
        class internal_render_PackageGraphRenderer["PackageGraphRenderer"] {
            <<interface>>
            +RenderPackageGraph(*diagram.PackageGraph, Options) string, error
        }
        class internal_render_Renderer["Renderer"] {
            <<interface>>
            +Render(*diagram.Diagram, Options) string, error
        }
    }
    namespace internal_render_mermaid {
        class internal_render_mermaid_Renderer["Renderer"] {
            +Render(*diagram.Diagram, render.Options) string, error
            +RenderPackageGraph(*diagram.PackageGraph, render.Options) string, error
        }
    }
    namespace internal_render_plantuml {
        class internal_render_plantuml_Renderer["Renderer"] {
            +RenderPackageGraph(*diagram.PackageGraph, render.Options) string, error
            +Render(*diagram.Diagram, render.Options) string, error
        }
    }
    namespace internal_testutil {
        class internal_testutil_TestingT["TestingT"] {
            <<interface>>
            +Helper()
            +Fatalf(string, ...any)
        }
    }
    internal_diagram_Diagram ..> internal_diagram_Edge : *
    internal_diagram_Diagram ..> internal_diagram_EdgeReasons : *
    internal_diagram_Diagram ..> internal_diagram_PackageNode
    internal_diagram_Diagram ..> internal_diagram_edgeKey
    internal_diagram_Edge ..> internal_diagram_EdgeKind
    internal_diagram_Entry ..> internal_diagram_Kind
    internal_diagram_Entry ..> internal_gocode_Field : *
    internal_diagram_Entry ..> internal_gocode_Function : *
    internal_diagram_Entry ..> internal_gocode_Method : *
    internal_diagram_Entry ..> internal_gocode_NamedType
    internal_diagram_Entry ..> internal_gocode_TypeParam : *
    internal_diagram_PackageGraph ..> internal_diagram_PackageEdge : *
    internal_diagram_PackageGraph ..> internal_diagram_PackageNode
    internal_diagram_PackageNode ..> internal_diagram_Entry : *
    internal_diagram_concreteMethodSets ..> internal_gocode_Method : *
    internal_diagram_edgeKey ..> internal_diagram_EdgeKind
    internal_gocode_Field ..> internal_gocode_TypeRef
    internal_gocode_Function ..> internal_gocode_TypeRef : *
    internal_gocode_Interface ..> internal_gocode_Method : *
    internal_gocode_Interface ..> internal_gocode_TypeParam : *
    internal_gocode_Interface ..> internal_gocode_TypeRef : *
    internal_gocode_Method ..> internal_gocode_TypeRef : *
    internal_gocode_NamedType ..> internal_gocode_Constant : *
    internal_gocode_NamedType ..> internal_gocode_Method : *
    internal_gocode_NamedType ..> internal_gocode_NamedTypeKind
    internal_gocode_NamedType ..> internal_gocode_TypeParam : *
    internal_gocode_NamedType ..> internal_gocode_TypeRef : *
    internal_gocode_Package ..> internal_gocode_Function : *
    internal_gocode_Package ..> internal_gocode_Import : *
    internal_gocode_Package ..> internal_gocode_Interface : *
    internal_gocode_Package ..> internal_gocode_NamedType : *
    internal_gocode_Package ..> internal_gocode_Struct : *
    internal_gocode_ParseOptions ..> internal_gocode_BuildContext
    internal_gocode_ParseOptions ..> internal_gocode_GeneratedFileMode
    internal_gocode_Struct ..> internal_gocode_Field : *
    internal_gocode_Struct ..> internal_gocode_Method : *
    internal_gocode_Struct ..> internal_gocode_TypeParam : *
    internal_gocode_Struct ..> internal_gocode_TypeRef : *
    internal_gocode_TypeParam ..> internal_gocode_TypeRef
    internal_gocode_TypeRef ..> internal_gocode_TypeRelation
    internal_gocode_fileDecls ..> internal_gocode_Constant : *
    internal_gocode_fileDecls ..> internal_gocode_Function : *
    internal_gocode_fileDecls ..> internal_gocode_Interface : *
    internal_gocode_fileDecls ..> internal_gocode_Method : *
    internal_gocode_fileDecls ..> internal_gocode_NamedType : *
    internal_gocode_fileDecls ..> internal_gocode_Struct : *
    internal_gocode_fileDecls ..> internal_gocode_pendingConstant : *
    internal_gocode_pendingConstant ..> internal_gocode_Constant
    internal_render_PackageGraphRenderer ..> internal_diagram_PackageGraph
    internal_render_PackageGraphRenderer ..> internal_render_Options
    internal_render_PackageGraphRenderer --|> internal_render_Renderer
    internal_render_Renderer ..> internal_diagram_Diagram
    internal_render_Renderer ..> internal_render_Options
    internal_render_mermaid_Renderer ..> internal_diagram_Diagram
    internal_render_mermaid_Renderer ..> internal_diagram_PackageGraph
    internal_render_mermaid_Renderer ..> internal_render_Options
    internal_render_mermaid_Renderer ..|> internal_render_PackageGraphRenderer : pointer receiver
    internal_render_mermaid_Renderer ..|> internal_render_Renderer : pointer receiver
    internal_render_plantuml_Renderer ..> internal_diagram_Diagram
    internal_render_plantuml_Renderer ..> internal_diagram_PackageGraph
    internal_render_plantuml_Renderer ..> internal_render_Options
    internal_render_plantuml_Renderer ..|> internal_render_PackageGraphRenderer : pointer receiver
    internal_render_plantuml_Renderer ..|> internal_render_Renderer : pointer receiver

Download source (type-diagram.mmd)