Cabal-3.16.1.0: src/Distribution/Backpack/FullUnitId.hs
{-# LANGUAGE DeriveGeneric #-}
module Distribution.Backpack.FullUnitId
( FullUnitId (..)
, FullDb
, expandOpenUnitId
, expandUnitId
) where
import Distribution.Backpack
import Distribution.Compat.Prelude
import Distribution.Types.ComponentId
-- Unlike OpenUnitId, which could direct to a UnitId.
data FullUnitId = FullUnitId ComponentId OpenModuleSubst
deriving (Show, Generic)
type FullDb = DefUnitId -> FullUnitId
expandOpenUnitId :: FullDb -> OpenUnitId -> FullUnitId
expandOpenUnitId _db (IndefFullUnitId cid subst) =
FullUnitId cid subst
expandOpenUnitId db (DefiniteUnitId uid) =
expandUnitId db uid
expandUnitId :: FullDb -> DefUnitId -> FullUnitId
expandUnitId db uid = db uid