on master help sign in
Fix cross package goto definition (#1834)
bf2cbd2Moritz Kiefer
src/Development/IDE/Core/Rules.hs+1−1
@@ -281,7 +281,7 @@ getHieFileRule =
281 defineNoFile $ \(GetHieFile f) -> do
281 defineNoFile $ \(GetHieFile f) -> do
282 u <- liftIO $ mkSplitUniqSupply 'a'
282 u <- liftIO $ mkSplitUniqSupply 'a'
283 let nameCache = initNameCache u []
283 let nameCache = initNameCache u []
284− liftIO $ fmap fst $ readHieFile nameCache f
284+ liftIO $ fmap (hie_file_result . fst) $ readHieFile nameCache f
285
285
286-- | A rule that wires per-file rules together
286-- | A rule that wires per-file rules together
287mainRule :: Rules ()
287mainRule :: Rules ()
src/Development/IDE/GHC/Compat.hs+10−2
@@ -5,12 +5,18 @@
5
5
6-- | Attempt at hiding the GHC version differences we can.
6-- | Attempt at hiding the GHC version differences we can.
7module Development.IDE.GHC.Compat(
7module Development.IDE.GHC.Compat(
8+ HieFileResult(..),
8 HieFile(..),
9 HieFile(..),
9 mkHieFile,
10 mkHieFile,
10 writeHieFile,
11 writeHieFile,
11 readHieFile
12 readHieFile
12 ) where
13 ) where
13
14
15+#ifndef GHC_STABLE
16+import HieAst
17+import HieBin
18+import HieTypes
19+#else
14import GHC
20import GHC
15import GhcPlugins
21import GhcPlugins
16import NameCache
22import NameCache
@@ -24,7 +30,9 @@ mkHieFile _ _ _ = return (HieFile () [])
24writeHieFile :: FilePath -> HieFile -> IO ()
30writeHieFile :: FilePath -> HieFile -> IO ()
25writeHieFile _ _ = return ()
31writeHieFile _ _ = return ()
26
32
27−readHieFile :: NameCache -> FilePath -> IO (HieFile, ())
33+readHieFile :: NameCache -> FilePath -> IO (HieFileResult, ())
28−readHieFile _ _ = return (HieFile () [], ())
34+readHieFile _ _ = return (HieFileResult (HieFile () []), ())
29
35
30data HieFile = HieFile {hie_module :: (), hie_exports :: [AvailInfo]}
36data HieFile = HieFile {hie_module :: (), hie_exports :: [AvailInfo]}
37+data HieFileResult = HieFileResult { hie_file_result :: HieFile }
38+#endif