@@ -132,10 +132,10 @@ getAllModules mmoduleName = do
132132 Just (cachedModulename, ef)
133133 | cachedModulename == moduleName -> do
134134 (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)
136136 pure . M. toList $
137137 M. insert moduleName
138- (snd . annotateLocations ast . fst . convertExterns $ ef) declarations
138+ (snd . annotateModule ast . fst . convertExterns $ ef) declarations
139139 _ -> pure (M. toList declarations)
140140
141141-- | Adds an ExternsFile into psc-ide's State Stage1. This does not populate the
@@ -180,8 +180,11 @@ populateStage2 = do
180180populateStage2STM :: TVar IdeState -> STM ()
181181populateStage2STM ref = do
182182 modules <- s1Modules <$> getStage1STM ref
183- let spans = map (\ (P. Module ss _ _ decls _, _) -> M. fromList (concatMap (extractSpans ss) decls)) modules
184- setStage2STM ref (Stage2 (AstData spans))
183+ let astData = map (\ (P. Module ss _ _ decls _, _) ->
184+ let definitions = M. fromList (concatMap (extractSpans ss) decls)
185+ typeAnnotations = M. fromList (extractTypeAnnotations decls)
186+ in (definitions, typeAnnotations)) modules
187+ setStage2STM ref (Stage2 (AstData astData))
185188
186189-- | Resolves reexports and populates Stage3 with data to be used in queries.
187190populateStage3 :: (Ide m , MonadLogger m ) => m ()
@@ -206,7 +209,7 @@ populateStage3STM ref = do
206209 nModules :: Map P. ModuleName (Module , [(P. ModuleName , P. DeclarationRef )])
207210 nModules = M. mapWithKey
208211 (\ 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
210213 -- resolves reexports and discards load failures for now
211214 result = resolveReexports (M. map (snd . fst ) nModules) <$> M. elems nModules
212215 setStage3STM ref (Stage3 (M. fromList (map reResolved result)) Nothing )
0 commit comments