{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} module Distribution.Types.ExposedModule where import Distribution.Compat.Prelude import Prelude () import Distribution.Backpack import Distribution.ModuleName import Distribution.Parsec import Distribution.Pretty import qualified Distribution.Compat.CharParsing as P import qualified Text.PrettyPrint as Disp data ExposedModule = ExposedModule { ExposedModule -> ModuleName exposedName :: ModuleName, ExposedModule -> Maybe OpenModule exposedReexport :: Maybe OpenModule } deriving (ExposedModule -> ExposedModule -> Bool (ExposedModule -> ExposedModule -> Bool) -> (ExposedModule -> ExposedModule -> Bool) -> Eq ExposedModule forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: ExposedModule -> ExposedModule -> Bool $c/= :: ExposedModule -> ExposedModule -> Bool == :: ExposedModule -> ExposedModule -> Bool $c== :: ExposedModule -> ExposedModule -> Bool External instance of the constraint type Eq OpenModule External instance of the constraint type Eq OpenModule External instance of the constraint type forall a. Eq a => Eq (Maybe a) External instance of the constraint type Eq ModuleName Eq, (forall x. ExposedModule -> Rep ExposedModule x) -> (forall x. Rep ExposedModule x -> ExposedModule) -> Generic ExposedModule forall x. Rep ExposedModule x -> ExposedModule forall x. ExposedModule -> Rep ExposedModule x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep ExposedModule x -> ExposedModule $cfrom :: forall x. ExposedModule -> Rep ExposedModule x Generic, ReadPrec [ExposedModule] ReadPrec ExposedModule Int -> ReadS ExposedModule ReadS [ExposedModule] (Int -> ReadS ExposedModule) -> ReadS [ExposedModule] -> ReadPrec ExposedModule -> ReadPrec [ExposedModule] -> Read ExposedModule forall a. (Int -> ReadS a) -> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a readListPrec :: ReadPrec [ExposedModule] $creadListPrec :: ReadPrec [ExposedModule] readPrec :: ReadPrec ExposedModule $creadPrec :: ReadPrec ExposedModule readList :: ReadS [ExposedModule] $creadList :: ReadS [ExposedModule] readsPrec :: Int -> ReadS ExposedModule $creadsPrec :: Int -> ReadS ExposedModule External instance of the constraint type Read OpenModule External instance of the constraint type Read OpenModule External instance of the constraint type forall a. Read a => Read (Maybe a) External instance of the constraint type Read ModuleName External instance of the constraint type Monad ReadPrec External instance of the constraint type Monad ReadPrec Instance of class: Read of the constraint type Read ExposedModule Read, Int -> ExposedModule -> ShowS [ExposedModule] -> ShowS ExposedModule -> String (Int -> ExposedModule -> ShowS) -> (ExposedModule -> String) -> ([ExposedModule] -> ShowS) -> Show ExposedModule forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [ExposedModule] -> ShowS $cshowList :: [ExposedModule] -> ShowS show :: ExposedModule -> String $cshow :: ExposedModule -> String showsPrec :: Int -> ExposedModule -> ShowS $cshowsPrec :: Int -> ExposedModule -> ShowS External instance of the constraint type Show OpenModule External instance of the constraint type Show OpenModule External instance of the constraint type forall a. Show a => Show (Maybe a) External instance of the constraint type Show ModuleName External instance of the constraint type Ord Int Show, Typeable) instance Pretty ExposedModule where pretty :: ExposedModule -> Doc pretty (ExposedModule ModuleName m Maybe OpenModule reexport) = [Doc] -> Doc Disp.hsep [ ModuleName -> Doc forall a. Pretty a => a -> Doc External instance of the constraint type Pretty ModuleName pretty ModuleName m , case Maybe OpenModule reexport of Just OpenModule m' -> [Doc] -> Doc Disp.hsep [String -> Doc Disp.text String "from", OpenModule -> Doc forall a. Pretty a => a -> Doc External instance of the constraint type Pretty OpenModule pretty OpenModule m'] Maybe OpenModule Nothing -> Doc Disp.empty ] instance Parsec ExposedModule where parsec :: m ExposedModule parsec = do ModuleName m <- m ModuleName -> m ModuleName forall (m :: * -> *) a. CabalParsing m => m a -> m a Evidence bound by a type signature of the constraint type CabalParsing m parsecMaybeQuoted m ModuleName forall a (m :: * -> *). (Parsec a, CabalParsing m) => m a Evidence bound by a type signature of the constraint type CabalParsing m External instance of the constraint type Parsec ModuleName parsec m () forall (m :: * -> *). CharParsing m => m () External instance of the constraint type forall (m :: * -> *). CabalParsing m => CharParsing m Evidence bound by a type signature of the constraint type CabalParsing m P.spaces Maybe OpenModule reexport <- m OpenModule -> m (Maybe OpenModule) forall (f :: * -> *) a. Alternative f => f a -> f (Maybe a) External instance of the constraint type forall (m :: * -> *). Parsing m => Alternative m External instance of the constraint type forall (m :: * -> *). CharParsing m => Parsing m External instance of the constraint type forall (m :: * -> *). CabalParsing m => CharParsing m Evidence bound by a type signature of the constraint type CabalParsing m P.optional (m OpenModule -> m (Maybe OpenModule)) -> m OpenModule -> m (Maybe OpenModule) forall a b. (a -> b) -> a -> b $ do String _ <- String -> m String forall (m :: * -> *). CharParsing m => String -> m String External instance of the constraint type forall (m :: * -> *). CabalParsing m => CharParsing m Evidence bound by a type signature of the constraint type CabalParsing m P.string String "from" m () forall (m :: * -> *). CharParsing m => m () External instance of the constraint type forall (m :: * -> *). CabalParsing m => CharParsing m Evidence bound by a type signature of the constraint type CabalParsing m P.skipSpaces1 m OpenModule forall a (m :: * -> *). (Parsec a, CabalParsing m) => m a Evidence bound by a type signature of the constraint type CabalParsing m External instance of the constraint type Parsec OpenModule parsec ExposedModule -> m ExposedModule forall (m :: * -> *) a. Monad m => a -> m a External instance of the constraint type forall (m :: * -> *). MonadPlus m => Monad m External instance of the constraint type forall (m :: * -> *). CabalParsing m => MonadPlus m Evidence bound by a type signature of the constraint type CabalParsing m return (ModuleName -> Maybe OpenModule -> ExposedModule ExposedModule ModuleName m Maybe OpenModule reexport) instance Binary ExposedModule instance Structured ExposedModule instance NFData ExposedModule where rnf :: ExposedModule -> () rnf = ExposedModule -> () forall a. (Generic a, GNFData (Rep a)) => a -> () External instance of the constraint type forall (a :: * -> *) i (c :: Meta). GNFData a => GNFData (M1 i c a) External instance of the constraint type forall (a :: * -> *) i (c :: Meta). GNFData a => GNFData (M1 i c a) External instance of the constraint type forall (a :: * -> *) (b :: * -> *). (GNFData a, GNFData b) => GNFData (a :*: b) External instance of the constraint type forall (a :: * -> *) i (c :: Meta). GNFData a => GNFData (M1 i c a) External instance of the constraint type forall a i. NFData a => GNFData (K1 i a) External instance of the constraint type NFData ModuleName External instance of the constraint type forall (a :: * -> *) i (c :: Meta). GNFData a => GNFData (M1 i c a) External instance of the constraint type forall a i. NFData a => GNFData (K1 i a) External instance of the constraint type forall a. NFData a => NFData (Maybe a) External instance of the constraint type NFData OpenModule Instance of class: Generic of the constraint type Generic ExposedModule genericRnf