@@ -38,72 +38,77 @@ module Development.IDE.Core.Compile
38
38
, shareUsages
39
39
) where
40
40
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 )
41
+ import Control.Concurrent.STM.Stats hiding ( orElse )
42
+ import Control.DeepSeq ( NFData ( .. ), force ,
43
+ rnf )
44
+ import Control.Exception (evaluate )
45
45
import Control.Exception.Safe
46
- import Control.Lens hiding (List , pre , (<.>) )
46
+ import Control.Lens hiding (List , pre ,
47
+ (<.>) )
47
48
import Control.Monad.Extra
48
49
import Control.Monad.IO.Class
49
50
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 )
51
+ import qualified Control.Monad.Trans.State.Strict as S
52
+ import Data.Aeson (toJSON )
53
+ import Data.Bifunctor (first , second )
53
54
import Data.Binary
54
- import qualified Data.ByteString as BS
55
+ import qualified Data.ByteString as BS
55
56
import Data.Coerce
56
- import qualified Data.DList as DL
57
+ import qualified Data.DList as DL
57
58
import Data.Functor
58
59
import Data.Generics.Aliases
59
60
import Data.Generics.Schemes
60
- import qualified Data.HashMap.Strict as HashMap
61
- import Data.IntMap (IntMap )
61
+ import qualified Data.HashMap.Strict as HashMap
62
+ import Data.IntMap (IntMap )
62
63
import Data.IORef
63
64
import Data.List.Extra
64
- import qualified Data.Map.Strict as Map
65
+ import qualified Data.Map.Strict as Map
65
66
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 )
67
+ import Data.Proxy (Proxy (Proxy ))
68
+ import qualified Data.Text as T
69
+ import Data.Time (UTCTime (.. ))
70
+ import Data.Tuple.Extra (dupe )
70
71
import Debug.Trace
71
- import Development.IDE.Core.FileStore (resetInterfaceStore )
72
+ import Development.IDE.Core.FileStore (resetInterfaceStore )
72
73
import Development.IDE.Core.Preprocessor
74
+ import Development.IDE.Core.ProgressReporting (progressUpdate )
73
75
import Development.IDE.Core.RuleTypes
74
76
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 )
77
+ import Development.IDE.Core.Tracing (withTrace )
78
+ import Development.IDE.GHC.Compat hiding (assert ,
79
+ loadInterface ,
80
+ parseHeader ,
81
+ parseModule ,
82
+ tcRnModule ,
83
+ writeHieFile )
84
+ import qualified Development.IDE.GHC.Compat as Compat
85
+ import qualified Development.IDE.GHC.Compat as GHC
86
+ import qualified Development.IDE.GHC.Compat.Util as Util
84
87
import Development.IDE.GHC.CoreFile
85
88
import Development.IDE.GHC.Error
86
- import Development.IDE.GHC.Orphans ()
89
+ import Development.IDE.GHC.Orphans ()
87
90
import Development.IDE.GHC.Util
88
91
import Development.IDE.GHC.Warnings
89
92
import Development.IDE.Types.Diagnostics
90
93
import Development.IDE.Types.Location
91
94
import Development.IDE.Types.Options
92
- import GHC (ForeignHValue ,
93
- GetDocsFailure (.. ),
94
- parsedSource )
95
- import qualified GHC.LanguageExtensions as LangExt
95
+ import GHC (ForeignHValue ,
96
+ GetDocsFailure (.. ),
97
+ parsedSource )
98
+ import qualified GHC.LanguageExtensions as LangExt
96
99
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 )
100
+ import HieDb hiding (withHieDb )
101
+ import qualified Language.LSP.Protocol.Message as LSP
102
+ import Language.LSP.Protocol.Types (DiagnosticTag (.. ))
103
+ import qualified Language.LSP.Server as LSP
104
+ import Prelude hiding (mod )
102
105
import System.Directory
103
106
import System.FilePath
104
- import System.IO.Extra (fixIO , newTempFileWithin )
107
+ import System.IO.Extra (fixIO ,
108
+ newTempFileWithin )
105
109
106
- import qualified GHC as G
110
+ import qualified Data.Set as Set
111
+ import qualified GHC as G
107
112
import GHC.Tc.Gen.Splice
108
113
import GHC.Types.ForeignStubs
109
114
import GHC.Types.HpcInfo
@@ -112,18 +117,16 @@ import GHC.Types.TypeEnv
112
117
-- See Note [Guidelines For Using CPP In GHCIDE Import Statements]
113
118
114
119
115
- import qualified Data.Set as Set
116
-
117
120
#if MIN_VERSION_ghc(9,5,0)
118
121
import GHC.Core.Lint.Interactive
119
122
import GHC.Driver.Config.CoreToStg.Prep
120
123
#endif
121
124
122
125
#if MIN_VERSION_ghc(9,7,0)
123
- import Data.Foldable (toList )
126
+ import Data.Foldable (toList )
124
127
import GHC.Unit.Module.Warnings
125
128
#else
126
- import Development.IDE.Core.FileStore (shareFilePath )
129
+ import Development.IDE.Core.FileStore (shareFilePath )
127
130
#endif
128
131
129
132
-- Simple constants to make sure the source is consistently named
@@ -292,7 +295,7 @@ captureSplicesAndDeps TypecheckHelpers{..} env k = do
292
295
293
296
{- load it -}
294
297
; (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)
298
+ ; let hval = (expectJust " hscCompileCoreExpr'" $ lookup (idName binding_id) fv_hvs, lbss, pkgs)
296
299
297
300
; modifyIORef' var (flip extendModuleEnvList [(mi_module $ hm_iface hm, linkableHash lb) | lb <- lbs, let hm = linkableHomeMod lb])
298
301
; return hval }
0 commit comments