blob: 3c798ef47848281af3bc800cb16f8a6b0f7eeeaf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
module GHC.Driver.Config.Core.Lint.Interactive
( lintInteractiveExpr
) where
import GHC.Prelude
import GHC.Driver.Env
import GHC.Driver.Session
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
|