File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -154,6 +154,7 @@ module Glean
154154 , makeFactV
155155 , makeFactV_
156156 , NewFact (.. )
157+ , UnitName
157158
158159 -- ** Lower-level write API
159160 , withSender
Original file line number Diff line number Diff line change @@ -125,6 +125,16 @@ mkModule mod unit = do
125125 Glean. makeFact @ Hs. Module $
126126 Hs. Module_key modname unitname
127127
128+ -- The Glean unit (used for incremental indexing) is
129+ -- <package>:<module>. We use this rather than the source file path,
130+ -- because you might move the source file while keeping the module
131+ -- name unchanged.
132+ gleanUnit :: GHC. Module -> Glean. UnitName
133+ gleanUnit mod = ghcUnit <> " :" <> moduleName
134+ where
135+ ghcUnit = GHC. bytesFS $ GHC. unitFS $ GHC. moduleUnit mod
136+ moduleName = GHC. bytesFS $ GHC. moduleNameFS $ GHC. moduleName mod
137+
128138toUnitName :: UnitName -> GHC. Unit -> Text
129139toUnitName unitName u = case unitName of
130140 UnitKey -> t
@@ -380,7 +390,7 @@ indexHieFile
380390indexHieFile writer srcPaths srcPrefix unit path hie = do
381391 srcFile <- findSourceFile srcPaths (hie_module hie) (hie_hs_file hie)
382392 logInfo $ " Indexing: " <> path <> " (" <> srcFile <> " )"
383- Glean. writeFacts writer $ do
393+ Glean. writeFacts writer $ Glean. withUnit (gleanUnit smod) $ do
384394 modfact <- mkModule smod unit
385395
386396 let offs = getLineOffsets (hie_hs_src hie)
You can’t perform that action at this time.
0 commit comments