Cabal-2.0.0.2: Distribution/Types/AnnotatedId.hs
module Distribution.Types.AnnotatedId (
AnnotatedId(..)
) where
import Prelude ()
import Distribution.Compat.Prelude
import Distribution.Package
import Distribution.Types.ComponentName
-- | An 'AnnotatedId' is a 'ComponentId', 'UnitId', etc.
-- which is annotated with some other useful information
-- that is useful for printing to users, etc.
data AnnotatedId id = AnnotatedId {
ann_pid :: PackageId,
ann_cname :: ComponentName,
ann_id :: id
}
deriving (Show)
instance Package (AnnotatedId id) where
packageId = ann_pid
instance Functor AnnotatedId where
fmap f (AnnotatedId pid cn x) = AnnotatedId pid cn (f x)