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