@@ -132,10 +132,10 @@ getAllModules mmoduleName = do
132 Just (cachedModulename, ef)
132 Just (cachedModulename, ef)
133 | cachedModulename == moduleName -> do
133 | cachedModulename == moduleName -> do
134 (AstData asts) <- s2AstData <$> getStage2
134 (AstData asts) <- s2AstData <$> getStage2
135− let ast = fromMaybe M.empty (M.lookup moduleName asts)
135+ let ast = fromMaybe (M.empty, M.empty) (M.lookup moduleName asts)
136 pure . M.toList $
136 pure . M.toList $
137 M.insert moduleName
137 M.insert moduleName
138− (snd . annotateLocations ast . fst . convertExterns $ ef) declarations
138+ (snd . annotateModule ast . fst . convertExterns $ ef) declarations
139 _ -> pure (M.toList declarations)
139 _ -> pure (M.toList declarations)
141-- | Adds an ExternsFile into psc-ide's State Stage1. This does not populate the
141-- | Adds an ExternsFile into psc-ide's State Stage1. This does not populate the
@@ -180,8 +180,11 @@ populateStage2 = do
180populateStage2STM :: TVar IdeState -> STM ()
180populateStage2STM :: TVar IdeState -> STM ()
181populateStage2STM ref = do
181populateStage2STM ref = do
182 modules <- s1Modules <$> getStage1STM ref
182 modules <- s1Modules <$> getStage1STM ref
183+ let astData = map (\(P.Module ss _ _ decls _, _) ->
183− let spans = map (\(P.Module ss _ _ decls _, _) -> M.fromList (concatMap (extractSpans ss) decls)) modules
184+ let definitions = M.fromList (concatMap (extractSpans ss) decls)
185+ typeAnnotations = M.fromList (extractTypeAnnotations decls)
186+ in (definitions, typeAnnotations)) modules
184− setStage2STM ref (Stage2 (AstData spans))
187+ setStage2STM ref (Stage2 (AstData astData))
186-- | Resolves reexports and populates Stage3 with data to be used in queries.
189-- | Resolves reexports and populates Stage3 with data to be used in queries.
187populateStage3 :: (Ide m, MonadLogger m) => m ()
190populateStage3 :: (Ide m, MonadLogger m) => m ()
@@ -206,7 +209,7 @@ populateStage3STM ref = do
206 nModules :: Map P.ModuleName (Module, [(P.ModuleName, P.DeclarationRef)])
209 nModules :: Map P.ModuleName (Module, [(P.ModuleName, P.DeclarationRef)])
207 nModules = M.mapWithKey
210 nModules = M.mapWithKey
208 (\moduleName (m, refs) ->
211 (\moduleName (m, refs) ->
209− (fromMaybe m $ annotateLocations <$> M.lookup moduleName asts <*> pure m, refs)) modules
212+ (fromMaybe m $ annotateModule <$> M.lookup moduleName asts <*> pure m, refs)) modules
210 -- resolves reexports and discards load failures for now
213 -- resolves reexports and discards load failures for now
211 result = resolveReexports (M.map (snd . fst) nModules) <$> M.elems nModules
214 result = resolveReexports (M.map (snd . fst) nModules) <$> M.elems nModules
212 setStage3STM ref (Stage3 (M.fromList (map reResolved result)) Nothing)
215 setStage3STM ref (Stage3 (M.fromList (map reResolved result)) Nothing)