{-# LANGUAGE TypeFamilies #-}
module Distribution.Types.TargetInfo (
TargetInfo(..)
) where
import Prelude ()
import Distribution.Compat.Prelude
import Distribution.Types.ComponentLocalBuildInfo
import Distribution.Types.Component
import Distribution.Types.UnitId
import Distribution.Compat.Graph (IsNode(..))
data TargetInfo = TargetInfo {
TargetInfo -> ComponentLocalBuildInfo
targetCLBI :: ComponentLocalBuildInfo,
TargetInfo -> Component
targetComponent :: Component
}
instance IsNode TargetInfo where
type Key TargetInfo = UnitId
nodeKey :: TargetInfo -> Key TargetInfo
nodeKey = forall a. IsNode a => a -> Key a
nodeKey forall b c a. (b -> c) -> (a -> b) -> a -> c
. TargetInfo -> ComponentLocalBuildInfo
targetCLBI
nodeNeighbors :: TargetInfo -> [Key TargetInfo]
nodeNeighbors = forall a. IsNode a => a -> [Key a]
nodeNeighbors forall b c a. (b -> c) -> (a -> b) -> a -> c
. TargetInfo -> ComponentLocalBuildInfo
targetCLBI