ghc-9.12: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.Unit.Home.ModInfo

Description

Info about modules in the "home" unit

Synopsis

Documentation

data HomeModInfo Source #

Information about modules in the package being compiled

Constructors

HomeModInfo 

Fields

  • hm_iface :: !ModIface

    The basic loaded interface file: every loaded module has one of these, even if it is imported from another package

  • hm_details :: ModDetails

    Extra information that has been created from the ModIface for the module, typically during typechecking

  • hm_linkable :: !HomeModLinkable

    The actual artifact we would like to link to access things in this module. See Note [Home module build products]

    hm_linkable might be empty:

    1. If this is an .hs-boot module
    2. Temporarily during compilation if we pruned away the old linkable because it was out of date.

    When re-linking a module (HscNoRecomp), we construct the HomeModInfo by building a new ModDetails from the old ModIface (only).

data HomeModLinkable Source #

Instances

Instances details
Outputable HomeModLinkable Source # 
Instance details

Defined in GHC.Unit.Home.ModInfo

type HomePackageTable = DModuleNameEnv HomeModInfo Source #

Helps us find information about modules in the home package

emptyHomePackageTable :: HomePackageTable Source #

Constructs an empty HomePackageTable

concatHpt :: (HomeModInfo -> [a]) -> HomePackageTable -> [a] Source #

Like concatMap f . eltsHpt, but filters out all HomeModInfo for which f returns the empty list before doing the sort inherent to eltsUDFM.