module Imp.Type.Target where import qualified Control.Monad.Catch as Exception import qualified GHC.Plugins as Plugin import qualified Imp.Extra.ModuleName as ModuleName newtype Target = Target Plugin.ModuleName deriving (Target -> Target -> Bool (Target -> Target -> Bool) -> (Target -> Target -> Bool) -> Eq Target forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: Target -> Target -> Bool == :: Target -> Target -> Bool $c/= :: Target -> Target -> Bool /= :: Target -> Target -> Bool Eq, Eq Target Eq Target => (Target -> Target -> Ordering) -> (Target -> Target -> Bool) -> (Target -> Target -> Bool) -> (Target -> Target -> Bool) -> (Target -> Target -> Bool) -> (Target -> Target -> Target) -> (Target -> Target -> Target) -> Ord Target Target -> Target -> Bool Target -> Target -> Ordering Target -> Target -> Target forall a. Eq a => (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a $ccompare :: Target -> Target -> Ordering compare :: Target -> Target -> Ordering $c< :: Target -> Target -> Bool < :: Target -> Target -> Bool $c<= :: Target -> Target -> Bool <= :: Target -> Target -> Bool $c> :: Target -> Target -> Bool > :: Target -> Target -> Bool $c>= :: Target -> Target -> Bool >= :: Target -> Target -> Bool $cmax :: Target -> Target -> Target max :: Target -> Target -> Target $cmin :: Target -> Target -> Target min :: Target -> Target -> Target Ord, Int -> Target -> ShowS [Target] -> ShowS Target -> String (Int -> Target -> ShowS) -> (Target -> String) -> ([Target] -> ShowS) -> Show Target forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> Target -> ShowS showsPrec :: Int -> Target -> ShowS $cshow :: Target -> String show :: Target -> String $cshowList :: [Target] -> ShowS showList :: [Target] -> ShowS Show) fromModuleName :: Plugin.ModuleName -> Target fromModuleName :: ModuleName -> Target fromModuleName = ModuleName -> Target Target fromString :: (Exception.MonadThrow m) => String -> m Target fromString :: forall (m :: * -> *). MonadThrow m => String -> m Target fromString = (ModuleName -> Target) -> m ModuleName -> m Target forall a b. (a -> b) -> m a -> m b forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap ModuleName -> Target fromModuleName (m ModuleName -> m Target) -> (String -> m ModuleName) -> String -> m Target forall b c a. (b -> c) -> (a -> b) -> a -> c . String -> m ModuleName forall (m :: * -> *). MonadThrow m => String -> m ModuleName ModuleName.fromString toModuleName :: Target -> Plugin.ModuleName toModuleName :: Target -> ModuleName toModuleName (Target ModuleName x) = ModuleName x