module GHC.Unit.Module.ModDetails
( ModDetails (..)
, emptyModDetails
)
where
import GHC.Core ( CoreRule )
import GHC.Core.FamInstEnv
import GHC.Core.InstEnv ( ClsInst )
import GHC.Types.Avail
import GHC.Types.CompleteMatch
import GHC.Types.TypeEnv
import GHC.Types.Annotations ( Annotation )
data ModDetails = ModDetails
{
md_exports :: [AvailInfo]
, md_types :: !TypeEnv
, md_insts :: ![ClsInst]
, md_fam_insts :: ![FamInst]
, md_rules :: ![CoreRule]
, md_anns :: ![Annotation]
, md_complete_matches :: [CompleteMatch]
}
emptyModDetails :: ModDetails
emptyModDetails = ModDetails
{ md_types = emptyTypeEnv
, md_exports = []
, md_insts = []
, md_rules = []
, md_fam_insts = []
, md_anns = []
, md_complete_matches = []
}