module Imp.Type.PackageName where import qualified Control.Monad.Catch as Exception import qualified Distribution.Parsec as Parsec import qualified Distribution.Types.PackageName as PackageName import qualified GHC.Data.FastString as FastString import qualified GHC.Types.SourceText as SourceText import qualified Imp.Exception.InvalidPackageName as InvalidPackageName newtype PackageName = PackageName PackageName.PackageName deriving (PackageName -> PackageName -> Bool (PackageName -> PackageName -> Bool) -> (PackageName -> PackageName -> Bool) -> Eq PackageName forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: PackageName -> PackageName -> Bool == :: PackageName -> PackageName -> Bool $c/= :: PackageName -> PackageName -> Bool /= :: PackageName -> PackageName -> Bool Eq, Int -> PackageName -> ShowS [PackageName] -> ShowS PackageName -> String (Int -> PackageName -> ShowS) -> (PackageName -> String) -> ([PackageName] -> ShowS) -> Show PackageName forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> PackageName -> ShowS showsPrec :: Int -> PackageName -> ShowS $cshow :: PackageName -> String show :: PackageName -> String $cshowList :: [PackageName] -> ShowS showList :: [PackageName] -> ShowS Show) fromCabal :: PackageName.PackageName -> PackageName fromCabal :: PackageName -> PackageName fromCabal = PackageName -> PackageName PackageName toCabal :: PackageName -> PackageName.PackageName toCabal :: PackageName -> PackageName toCabal (PackageName PackageName x) = PackageName x fromString :: (Exception.MonadThrow m) => String -> m PackageName fromString :: forall (m :: * -> *). MonadThrow m => String -> m PackageName fromString String x = m PackageName -> (PackageName -> m PackageName) -> Maybe PackageName -> m PackageName forall b a. b -> (a -> b) -> Maybe a -> b maybe (InvalidPackageName -> m PackageName forall e a. (HasCallStack, Exception e) => e -> m a forall (m :: * -> *) e a. (MonadThrow m, HasCallStack, Exception e) => e -> m a Exception.throwM (InvalidPackageName -> m PackageName) -> InvalidPackageName -> m PackageName forall a b. (a -> b) -> a -> b $ String -> InvalidPackageName InvalidPackageName.new String x) (PackageName -> m PackageName forall a. a -> m a forall (f :: * -> *) a. Applicative f => a -> f a pure (PackageName -> m PackageName) -> (PackageName -> PackageName) -> PackageName -> m PackageName forall b c a. (b -> c) -> (a -> b) -> a -> c . PackageName -> PackageName fromCabal) (Maybe PackageName -> m PackageName) -> Maybe PackageName -> m PackageName forall a b. (a -> b) -> a -> b $ String -> Maybe PackageName forall a. Parsec a => String -> Maybe a Parsec.simpleParsec String x toStringLiteral :: PackageName -> SourceText.StringLiteral toStringLiteral :: PackageName -> StringLiteral toStringLiteral PackageName x = SourceText.StringLiteral { sl_st :: SourceText SourceText.sl_st = SourceText SourceText.NoSourceText, sl_fs :: FastString SourceText.sl_fs = String -> FastString FastString.mkFastString (String -> FastString) -> (PackageName -> String) -> PackageName -> FastString forall b c a. (b -> c) -> (a -> b) -> a -> c . PackageName -> String PackageName.unPackageName (PackageName -> FastString) -> PackageName -> FastString forall a b. (a -> b) -> a -> b $ PackageName -> PackageName toCabal PackageName x, sl_tc :: Maybe RealSrcSpan SourceText.sl_tc = Maybe RealSrcSpan forall a. Maybe a Nothing }