@@ -39,71 +39,78 @@ module Development.IDE.Core.Compile
39
39
) where
40
40
41
41
import 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 )
45
46
import Control.Exception.Safe
46
- import Control.Lens hiding (List , pre , (<.>) )
47
+ import Control.Lens hiding (List , pre ,
48
+ (<.>) )
47
49
import Control.Monad.Extra
48
50
import Control.Monad.IO.Class
49
51
import 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 )
53
55
import Data.Binary
54
- import qualified Data.ByteString as BS
56
+ import qualified Data.ByteString as BS
55
57
import Data.Coerce
56
- import qualified Data.DList as DL
58
+ import qualified Data.DList as DL
57
59
import Data.Functor
58
60
import Data.Generics.Aliases
59
61
import 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 )
62
64
import Data.IORef
63
65
import Data.List.Extra
64
- import qualified Data.Map.Strict as Map
66
+ import qualified Data.Map.Strict as Map
65
67
import 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 )
70
72
import Debug.Trace
71
- import Development.IDE.Core.FileStore (resetInterfaceStore )
73
+ import Development.IDE.Core.FileStore (resetInterfaceStore )
72
74
import Development.IDE.Core.Preprocessor
75
+ import Development.IDE.Core.ProgressReporting (ProgressReporting (.. ),
76
+ progressReportingOutsideState )
73
77
import Development.IDE.Core.RuleTypes
74
78
import 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
84
89
import Development.IDE.GHC.CoreFile
85
90
import Development.IDE.GHC.Error
86
- import Development.IDE.GHC.Orphans ()
91
+ import Development.IDE.GHC.Orphans ()
87
92
import Development.IDE.GHC.Util
88
93
import Development.IDE.GHC.Warnings
89
94
import Development.IDE.Types.Diagnostics
90
95
import Development.IDE.Types.Location
91
96
import 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
96
101
import 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 )
102
107
import System.Directory
103
108
import System.FilePath
104
- import System.IO.Extra (fixIO , newTempFileWithin )
109
+ import System.IO.Extra (fixIO ,
110
+ newTempFileWithin )
105
111
106
- import qualified GHC as G
112
+ import qualified Data.Set as Set
113
+ import qualified GHC as G
107
114
import GHC.Tc.Gen.Splice
108
115
import GHC.Types.ForeignStubs
109
116
import GHC.Types.HpcInfo
@@ -112,18 +119,16 @@ import GHC.Types.TypeEnv
112
119
-- See Note [Guidelines For Using CPP In GHCIDE Import Statements]
113
120
114
121
115
- import qualified Data.Set as Set
116
-
117
122
#if MIN_VERSION_ghc(9,5,0)
118
123
import GHC.Core.Lint.Interactive
119
124
import GHC.Driver.Config.CoreToStg.Prep
120
125
#endif
121
126
122
127
#if MIN_VERSION_ghc(9,7,0)
123
- import Data.Foldable (toList )
128
+ import Data.Foldable (toList )
124
129
import GHC.Unit.Module.Warnings
125
130
#else
126
- import Development.IDE.Core.FileStore (shareFilePath )
131
+ import Development.IDE.Core.FileStore (shareFilePath )
127
132
#endif
128
133
129
134
-- Simple constants to make sure the source is consistently named
@@ -292,7 +297,7 @@ captureSplicesAndDeps TypecheckHelpers{..} env k = do
292
297
293
298
{- load it -}
294
299
; (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)
296
301
297
302
; modifyIORef' var (flip extendModuleEnvList [(mi_module $ hm_iface hm, linkableHash lb) | lb <- lbs, let hm = linkableHomeMod lb])
298
303
; return hval }
0 commit comments