module Imp.Extra.ParsedResult where

import qualified GHC.Plugins as Plugin

overModule ::
  (Functor f) =>
  (Plugin.HsParsedModule -> f Plugin.HsParsedModule) ->
  Plugin.ParsedResult ->
  f Plugin.ParsedResult
overModule :: forall (f :: * -> *).
Functor f =>
(HsParsedModule -> f HsParsedModule)
-> ParsedResult -> f ParsedResult
overModule HsParsedModule -> f HsParsedModule
f ParsedResult
x = (\HsParsedModule
y -> ParsedResult
x {Plugin.parsedResultModule = y}) (HsParsedModule -> ParsedResult)
-> f HsParsedModule -> f ParsedResult
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> HsParsedModule -> f HsParsedModule
f (ParsedResult -> HsParsedModule
Plugin.parsedResultModule ParsedResult
x)