module Imp.Extra.HsParsedModule where import qualified GHC.Hs as Hs import qualified GHC.Plugins as Plugin import qualified Imp.Ghc as Ghc overModule :: (Functor f) => (Plugin.Located Ghc.HsModulePs -> f (Plugin.Located Ghc.HsModulePs)) -> Plugin.HsParsedModule -> f Plugin.HsParsedModule overModule :: forall (f :: * -> *). Functor f => (Located HsModulePs -> f (Located HsModulePs)) -> HsParsedModule -> f HsParsedModule overModule Located HsModulePs -> f (Located HsModulePs) f HsParsedModule x = (\Located HsModulePs y -> HsParsedModule x {Hs.hpm_module = y}) (Located HsModulePs -> HsParsedModule) -> f (Located HsModulePs) -> f HsParsedModule forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Located HsModulePs -> f (Located HsModulePs) f (HsParsedModule -> Located HsModulePs Hs.hpm_module HsParsedModule x)