@@ -39,71 +39,78 @@ module Development.IDE.Core.Compile
3939 ) where
4040
4141import Control.Concurrent.Extra
42- import Control.Concurrent.STM.Stats hiding (orElse )
43- import Control.DeepSeq (NFData (.. ), force , rnf )
44- import Control.Exception (evaluate )
42+ import Control.Concurrent.STM.Stats hiding (orElse )
43+ import Control.DeepSeq (NFData (.. ), force ,
44+ rnf )
45+ import Control.Exception (evaluate )
4546import Control.Exception.Safe
46- import Control.Lens hiding (List , pre , (<.>) )
47+ import Control.Lens hiding (List , pre ,
48+ (<.>) )
4749import Control.Monad.Extra
4850import Control.Monad.IO.Class
4951import Control.Monad.Trans.Except
50- import qualified Control.Monad.Trans.State.Strict as S
51- import Data.Aeson (toJSON )
52- import Data.Bifunctor (first , second )
52+ import qualified Control.Monad.Trans.State.Strict as S
53+ import Data.Aeson (toJSON )
54+ import Data.Bifunctor (first , second )
5355import Data.Binary
54- import qualified Data.ByteString as BS
56+ import qualified Data.ByteString as BS
5557import Data.Coerce
56- import qualified Data.DList as DL
58+ import qualified Data.DList as DL
5759import Data.Functor
5860import Data.Generics.Aliases
5961import Data.Generics.Schemes
60- import qualified Data.HashMap.Strict as HashMap
61- import Data.IntMap (IntMap )
62+ import qualified Data.HashMap.Strict as HashMap
63+ import Data.IntMap (IntMap )
6264import Data.IORef
6365import Data.List.Extra
64- import qualified Data.Map.Strict as Map
66+ import qualified Data.Map.Strict as Map
6567import Data.Maybe
66- import Data.Proxy (Proxy (Proxy ))
67- import qualified Data.Text as T
68- import Data.Time (UTCTime (.. ))
69- import Data.Tuple.Extra (dupe )
68+ import Data.Proxy (Proxy (Proxy ))
69+ import qualified Data.Text as T
70+ import Data.Time (UTCTime (.. ))
71+ import Data.Tuple.Extra (dupe )
7072import Debug.Trace
71- import Development.IDE.Core.FileStore (resetInterfaceStore )
73+ import Development.IDE.Core.FileStore (resetInterfaceStore )
7274import Development.IDE.Core.Preprocessor
75+ import Development.IDE.Core.ProgressReporting (ProgressReporting (.. ),
76+ progressReportingOutsideState )
7377import Development.IDE.Core.RuleTypes
7478import Development.IDE.Core.Shake
75- import Development.IDE.Core.Tracing (withTrace )
76- import Development.IDE.GHC.Compat hiding (assert ,
77- loadInterface , parseHeader ,
78- parseModule , tcRnModule ,
79- writeHieFile )
80- import qualified Development.IDE.GHC.Compat as Compat
81- import qualified Development.IDE.GHC.Compat as GHC
82- import qualified Development.IDE.GHC.Compat.Util as Util
83- import Development.IDE.Core.ProgressReporting (ProgressReporting (.. ), progressReportingOutsideState )
79+ import Development.IDE.Core.Tracing (withTrace )
80+ import Development.IDE.GHC.Compat hiding (assert ,
81+ loadInterface ,
82+ parseHeader ,
83+ parseModule ,
84+ tcRnModule ,
85+ writeHieFile )
86+ import qualified Development.IDE.GHC.Compat as Compat
87+ import qualified Development.IDE.GHC.Compat as GHC
88+ import qualified Development.IDE.GHC.Compat.Util as Util
8489import Development.IDE.GHC.CoreFile
8590import Development.IDE.GHC.Error
86- import Development.IDE.GHC.Orphans ()
91+ import Development.IDE.GHC.Orphans ()
8792import Development.IDE.GHC.Util
8893import Development.IDE.GHC.Warnings
8994import Development.IDE.Types.Diagnostics
9095import Development.IDE.Types.Location
9196import Development.IDE.Types.Options
92- import GHC (ForeignHValue ,
93- GetDocsFailure (.. ),
94- parsedSource )
95- import qualified GHC.LanguageExtensions as LangExt
97+ import GHC (ForeignHValue ,
98+ GetDocsFailure (.. ),
99+ parsedSource )
100+ import qualified GHC.LanguageExtensions as LangExt
96101import GHC.Serialized
97- import HieDb hiding (withHieDb )
98- import qualified Language.LSP.Protocol.Message as LSP
99- import Language.LSP.Protocol.Types (DiagnosticTag (.. ))
100- import qualified Language.LSP.Server as LSP
101- import Prelude hiding (mod )
102+ import HieDb hiding (withHieDb )
103+ import qualified Language.LSP.Protocol.Message as LSP
104+ import Language.LSP.Protocol.Types (DiagnosticTag (.. ))
105+ import qualified Language.LSP.Server as LSP
106+ import Prelude hiding (mod )
102107import System.Directory
103108import System.FilePath
104- import System.IO.Extra (fixIO , newTempFileWithin )
109+ import System.IO.Extra (fixIO ,
110+ newTempFileWithin )
105111
106- import qualified GHC as G
112+ import qualified Data.Set as Set
113+ import qualified GHC as G
107114import GHC.Tc.Gen.Splice
108115import GHC.Types.ForeignStubs
109116import GHC.Types.HpcInfo
@@ -112,18 +119,16 @@ import GHC.Types.TypeEnv
112119-- See Note [Guidelines For Using CPP In GHCIDE Import Statements]
113120
114121
115- import qualified Data.Set as Set
116-
117122#if MIN_VERSION_ghc(9,5,0)
118123import GHC.Core.Lint.Interactive
119124import GHC.Driver.Config.CoreToStg.Prep
120125#endif
121126
122127#if MIN_VERSION_ghc(9,7,0)
123- import Data.Foldable (toList )
128+ import Data.Foldable (toList )
124129import GHC.Unit.Module.Warnings
125130#else
126- import Development.IDE.Core.FileStore (shareFilePath )
131+ import Development.IDE.Core.FileStore (shareFilePath )
127132#endif
128133
129134-- Simple constants to make sure the source is consistently named
@@ -292,7 +297,7 @@ captureSplicesAndDeps TypecheckHelpers{..} env k = do
292297
293298 {- load it -}
294299 ; (fv_hvs, lbss, pkgs) <- loadDecls (hscInterp hsc_env') hsc_env' srcspan bcos
295- ; let hval = (( expectJust " hscCompileCoreExpr'" $ lookup (idName binding_id) fv_hvs) , lbss, pkgs)
300+ ; let hval = (expectJust " hscCompileCoreExpr'" $ lookup (idName binding_id) fv_hvs, lbss, pkgs)
296301
297302 ; modifyIORef' var (flip extendModuleEnvList [(mi_module $ hm_iface hm, linkableHash lb) | lb <- lbs, let hm = linkableHomeMod lb])
298303 ; return hval }
0 commit comments