@@ -18,7 +18,6 @@ module Development.IDE.Import.DependencyInformation
1818 , pathToId
1919 , idToPath
2020 , reachableModules
21− , modLocationToNormalizedFilePath
2221 , processDependencyInformation
2322 , transitiveDeps
2423 ) where
@@ -76,19 +75,12 @@ data PathIdMap = PathIdMap
7675
7776instance NFData PathIdMap
7877
79−modLocationToNormalizedFilePath :: ArtifactsLocation -> NormalizedFilePath
80−modLocationToNormalizedFilePath (ArtifactsLocation loc) =
81− case ml_hs_file loc of
82− Just filePath -> toNormalizedFilePath filePath
83− -- Since we craete all 'ModLocation' values via 'mkHomeModLocation'
84− Nothing -> error "Has something changed in mkHomeModLocation?"
85−
8678emptyPathIdMap :: PathIdMap
8779emptyPathIdMap = PathIdMap IntMap.empty HMS.empty
8880
8981getPathId :: ArtifactsLocation -> PathIdMap -> (FilePathId, PathIdMap)
9082getPathId path m@PathIdMap{..} =
91− case HMS.lookup (modLocationToNormalizedFilePath path) pathToIdMap of
83+ case HMS.lookup (artifactFilePath path) pathToIdMap of
9284 Nothing ->
9385 let !newId = FilePathId $ HMS.size pathToIdMap
9486 in (newId, insertPathId path newId m)
@@ -96,7 +88,7 @@ getPathId path m@PathIdMap{..} =
9688
9789insertPathId :: ArtifactsLocation -> FilePathId -> PathIdMap -> PathIdMap
9890insertPathId path id PathIdMap{..} =
99− PathIdMap (IntMap.insert (getFilePathId id) path idToPathMap) (HMS.insert (modLocationToNormalizedFilePath path) id pathToIdMap)
91+ PathIdMap (IntMap.insert (getFilePathId id) path idToPathMap) (HMS.insert (artifactFilePath path) id pathToIdMap)
10092
10193insertImport :: FilePathId -> Either ModuleParseError ModuleImports -> RawDependencyInformation -> RawDependencyInformation
10294insertImport (FilePathId k) v rawDepInfo = rawDepInfo { rawImports = IntMap.insert k v (rawImports rawDepInfo) }
@@ -105,7 +97,7 @@ pathToId :: PathIdMap -> NormalizedFilePath -> FilePathId
10597pathToId PathIdMap{pathToIdMap} path = pathToIdMap HMS.! path
10698
10799idToPath :: PathIdMap -> FilePathId -> NormalizedFilePath
108−idToPath pathIdMap filePathId = modLocationToNormalizedFilePath $ idToModLocation pathIdMap filePathId
100+idToPath pathIdMap filePathId = artifactFilePath $ idToModLocation pathIdMap filePathId
109101
110102idToModLocation :: PathIdMap -> FilePathId -> ArtifactsLocation
111103idToModLocation PathIdMap{idToPathMap} (FilePathId id) = idToPathMap IntMap.! id
@@ -305,9 +297,9 @@ transitiveDeps DependencyInformation{..} file = do
305297 let transitiveModuleDeps =
306298 map (idToPath depPathIdMap . FilePathId) transitiveModuleDepIds
307299 let transitiveNamedModuleDeps =
308− [ NamedModuleDep (idToPath depPathIdMap (FilePathId fid)) mn ml
300+ [ NamedModuleDep (idToPath depPathIdMap (FilePathId fid)) mn artifactModLocation
309301 | (fid, ShowableModuleName mn) <- IntMap.toList depModuleNames
310− , let ArtifactsLocation ml = idToPathMap depPathIdMap IntMap.! fid
302+ , let ArtifactsLocation{artifactModLocation} = idToPathMap depPathIdMap IntMap.! fid
311303 ]
312304 pure TransitiveDependencies {..}
313305 where