Interface holds all information used to render a single Haddock page. It represents the interface of a module. The core business of Haddock lies in creating this structure. Note that the record contains some fields that are only used to create the final record, and that are not used by the backends.
Constructors
InterfaceifaceMod :: !ModuleThe module behind this interface.
ifaceIsSig :: !BoolIs this a signature?
ifaceInfo :: !HaddockModInfo NameTextual information about the module.
ifaceDoc :: !Documentation NameDocumentation header.
ifaceRnDoc :: !Documentation DocNameDocumentation header with cross-reference information.
ifaceOptions :: [DocOption]Haddock options for this module (prune, ignore-exports, etc).
ifaceDocMap :: !DocMap NameDocumentation of declarations originating from the module (including subordinates).
ifaceArgMap :: !ArgMap NameifaceDefMeths :: ![(OccName, Name)]The names of all the default methods for classes defined in this module
ifaceFixMap :: !Map Name FixityifaceExportItems :: [ExportItem GhcRn]ifaceRnExportItems :: [ExportItem DocNameI]ifaceExports :: [Name]All names exported by the module.
ifaceVisibleExports :: [Name]All "visible" names exported by the module. A visible name is a name that will show up in the documentation of the module.
Names from modules that are entirely re-exported don't count as visible.
ifaceInstances :: [ClsInst]Instances exported by the module.
ifaceOrphanDeps :: [Module]The list of modules to check for orphan instances if this module is imported.
ifaceOrphanInstances :: [DocInstance GhcRn]Orphan instances
ifaceRnOrphanInstances :: [DocInstance DocNameI]ifaceHaddockCoverage :: (Int, Int)The number of haddockable and haddocked items in the module, as a tuple. Haddockable items are the exports and the module itself.
ifaceWarningMap :: WarningMapWarnings for things defined in this module.
ifaceHieFile :: !FilePathTokenized source code of module (available if Haddock is invoked with source generation flag).
ifaceDynFlags :: !DynFlags