{-# LANGUAGE TypeFamilies #-}
module Development.IDE.Plugin.CodeAction.RuleTypes
(PackageExports(..)
,IdentInfo(..)
) where
import Data.Hashable (Hashable)
import Control.DeepSeq (NFData)
import Data.Binary (Binary)
import Development.IDE.GHC.Util
import Development.IDE.Types.Exports
import Development.Shake (RuleResult)
import Data.Typeable (Typeable)
import GHC.Generics (Generic)
type instance RuleResult PackageExports = ExportsMap
newtype PackageExports = PackageExports HscEnvEq
deriving (PackageExports -> PackageExports -> Bool
(PackageExports -> PackageExports -> Bool)
-> (PackageExports -> PackageExports -> Bool) -> Eq PackageExports
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PackageExports -> PackageExports -> Bool
$c/= :: PackageExports -> PackageExports -> Bool
== :: PackageExports -> PackageExports -> Bool
$c== :: PackageExports -> PackageExports -> Bool
Eq, Int -> PackageExports -> ShowS
[PackageExports] -> ShowS
PackageExports -> String
(Int -> PackageExports -> ShowS)
-> (PackageExports -> String)
-> ([PackageExports] -> ShowS)
-> Show PackageExports
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PackageExports] -> ShowS
$cshowList :: [PackageExports] -> ShowS
show :: PackageExports -> String
$cshow :: PackageExports -> String
showsPrec :: Int -> PackageExports -> ShowS
$cshowsPrec :: Int -> PackageExports -> ShowS
Show, Typeable, (forall x. PackageExports -> Rep PackageExports x)
-> (forall x. Rep PackageExports x -> PackageExports)
-> Generic PackageExports
forall x. Rep PackageExports x -> PackageExports
forall x. PackageExports -> Rep PackageExports x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PackageExports x -> PackageExports
$cfrom :: forall x. PackageExports -> Rep PackageExports x
Generic)
instance Hashable PackageExports
instance NFData PackageExports
instance Binary PackageExports