module GHC.Types.IPE(DCMap, ClosureMap, InfoTableProvMap(..)
, emptyInfoTableProvMap) where
import GHC.Prelude
import GHC.Types.Name
import GHC.Types.SrcLoc
import GHC.Core.DataCon
import GHC.Types.Unique.Map
import GHC.Core.Type
import Data.List.NonEmpty
type ClosureMap = UniqMap Name
(Type, Maybe (RealSrcSpan, String))
type DCMap = UniqMap DataCon (NonEmpty (Int, Maybe (RealSrcSpan, String)))
data InfoTableProvMap = InfoTableProvMap
{ InfoTableProvMap -> DCMap
provDC :: DCMap
, InfoTableProvMap -> ClosureMap
provClosure :: ClosureMap }
emptyInfoTableProvMap :: InfoTableProvMap
emptyInfoTableProvMap :: InfoTableProvMap
emptyInfoTableProvMap = DCMap -> ClosureMap -> InfoTableProvMap
InfoTableProvMap DCMap
forall k a. UniqMap k a
emptyUniqMap ClosureMap
forall k a. UniqMap k a
emptyUniqMap