ghc-9.8.1: GHC/Driver/Config/Core/Lint/Interactive.hs
module GHC.Driver.Config.Core.Lint.Interactive
( lintInteractiveExpr
) where
import GHC.Prelude
import GHC.Driver.Env
import GHC.Driver.DynFlags
import GHC.Driver.Config.Core.Lint
import GHC.Core
import GHC.Core.Ppr
import GHC.Core.Lint
import GHC.Core.Lint.Interactive
--import GHC.Runtime.Context
import GHC.Data.Bag
import GHC.Utils.Outputable as Outputable
lintInteractiveExpr :: SDoc -- ^ The source of the linted expression
-> HscEnv
-> CoreExpr -> IO ()
lintInteractiveExpr what hsc_env expr
| not (gopt Opt_DoCoreLinting dflags)
= return ()
| Just err <- lintExpr (initLintConfig dflags $ interactiveInScope $ hsc_IC hsc_env) expr
= displayLintResults logger False what (pprCoreExpr expr) (emptyBag, err)
| otherwise
= return ()
where
dflags = hsc_dflags hsc_env
logger = hsc_logger hsc_env