Skip to content

Commit ec22375

Browse files
committed
Revert "Fix older ghc builds"
This reverts commit 5d111f6.
1 parent fbb3b57 commit ec22375

File tree

3 files changed

+15
-36
lines changed

3 files changed

+15
-36
lines changed

cabal.project

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ packages:
3737
source-repository-package
3838
type:git
3939
location: https://github.com/nlander/HieDb.git
40-
tag: 4eebfcf8fab54f24808e6301227d77ae64d2509c
40+
tag: f10051a6dc1b809d5f40a45beab92205d1829736
4141

4242
-- Standard location for temporary packages needed for particular environments
4343
-- For example it is used in the project gitlab mirror to help in the MAcOS M1 build script

ghcide/src/Development/IDE/Core/Dependencies.hs

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ indexDependencyHieFiles recorder se hscEnv = do
105105
hieDir :: FilePath
106106
hieDir = pkgLibDir </> "extra-compilation-artifacts"
107107
unit :: GHC.Unit
108-
unit = GHC.fromUnitId $ GHC.unitId package
108+
unit = GHC.RealUnit $ GHC.Definite $ GHC.unitId package
109109
-- Check if we have already indexed this package.
110110
moduleRows <- withHieDb se $ \db ->
111111
lookupPackage db unit
@@ -141,14 +141,16 @@ indexDependencyHieFiles recorder se hscEnv = do
141141
packages :: Set Package
142142
packages = Set.fromList
143143
$ map Package
144-
-- Take only the packages that are direct or transitive dependencies.
145-
$ filter (\unitInfo -> GHC.unitId unitInfo `Set.member` dependencyIds) allPackages
144+
$ Map.elems
145+
-- Take only the packages in the unitInfoMap that are direct
146+
-- or transitive dependencies.
147+
$ Map.filterWithKey (\uid _ -> uid `Set.member` dependencyIds) unitInfoMap
146148
where
147-
allPackages :: [GHC.UnitInfo]
148-
allPackages = GHC.getUnitInfo hscEnv
149+
unitInfoMap :: GHC.UnitInfoMap
150+
unitInfoMap = GHC.getUnitInfoMap hscEnv
149151
dependencyIds :: Set GHC.UnitId
150152
dependencyIds =
151-
calculateTransitiveDependencies allPackages directDependencyIds directDependencyIds
153+
calculateTransitiveDependencies unitInfoMap directDependencyIds directDependencyIds
152154
directDependencyIds :: Set GHC.UnitId
153155
directDependencyIds = Set.fromList
154156
$ map GHC.toUnitId
@@ -157,14 +159,14 @@ indexDependencyHieFiles recorder se hscEnv = do
157159

158160
-- calculateTransitiveDependencies finds the UnitId keys in the UnitInfoMap
159161
-- that are dependencies or transitive dependencies.
160-
calculateTransitiveDependencies :: [GHC.UnitInfo] -> Set GHC.UnitId -> Set GHC.UnitId -> Set GHC.UnitId
161-
calculateTransitiveDependencies allPackages allDependencies newDepencencies
162-
-- If there are no new dependencies, then we have found them all,
162+
calculateTransitiveDependencies :: GHC.UnitInfoMap -> Set GHC.UnitId -> Set GHC.UnitId -> Set GHC.UnitId
163+
calculateTransitiveDependencies unitInfoMap allDependencies newDepencencies
164+
-- If there are no new dependencies, we have found them all,
163165
-- so return allDependencies
164166
| Set.null newDepencencies = allDependencies
165167
-- Otherwise recursively add any dependencies of the newDepencencies
166168
-- that are not in allDependencies already.
167-
| otherwise = calculateTransitiveDependencies allPackages nextAll nextNew
169+
| otherwise = calculateTransitiveDependencies unitInfoMap nextAll nextNew
168170
where
169171
nextAll :: Set GHC.UnitId
170172
nextAll = Set.union allDependencies nextNew
@@ -175,7 +177,8 @@ calculateTransitiveDependencies allPackages allDependencies newDepencencies
175177
nextNew = flip Set.difference allDependencies
176178
$ Set.unions
177179
$ map (Set.fromList . GHC.unitDepends)
178-
$ filter (\unitInfo -> GHC.unitId unitInfo `Set.member` newDepencencies) allPackages
180+
$ Map.elems
181+
$ Map.filterWithKey (\uid _ -> uid `Set.member` newDepencencies) unitInfoMap
179182

180183
getModulesForPackage :: Package -> [GHC.Module]
181184
getModulesForPackage (Package package) =

ghcide/src/Development/IDE/GHC/Compat/Units.hs

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ module Development.IDE.GHC.Compat.Units (
1919
-- * UnitInfoMap
2020
UnitInfoMap,
2121
getUnitInfoMap,
22-
getUnitInfo,
2322
lookupUnit,
2423
lookupUnit',
2524
-- * UnitInfo
@@ -43,7 +42,6 @@ module Development.IDE.GHC.Compat.Units (
4342
installedModule,
4443
-- * Module
4544
toUnitId,
46-
fromUnitId,
4745
Development.IDE.GHC.Compat.Units.moduleUnitId,
4846
moduleUnit,
4947
-- * ExternalPackageState
@@ -215,28 +213,14 @@ getUnitInfoMap =
215213
unitInfoMap . unitState
216214
#endif
217215

218-
getUnitInfo :: HscEnv -> [UnitInfo]
219-
getUnitInfo =
220-
#if MIN_VERSION_ghc(9,2,0)
221-
State.listUnitInfo . ue_units . hsc_unit_env
222-
#elif MIN_VERSION_ghc(9,0,0)
223-
State.listUnitInfo . unitState
224-
#else
225-
Packages.listPackageConfigMap . hsc_dflags
226-
#endif
227-
228216
lookupUnit :: HscEnv -> Unit -> Maybe UnitInfo
229217
lookupUnit env pid = State.lookupUnit (unitState env) pid
230218

231219
preloadClosureUs :: HscEnv -> PreloadUnitClosure
232220
preloadClosureUs = State.preloadClosure . unitState
233221

234222
unitHiddenModules :: UnitInfo -> [ModuleName]
235-
#if MIN_VERSION_ghc(9,0,0)
236223
unitHiddenModules = UnitInfo.unitHiddenModules
237-
#else
238-
unitHiddenModules = Packages.hiddenModules
239-
#endif
240224

241225
unitLibraryDirs :: UnitInfo -> [FilePath]
242226
unitLibraryDirs =
@@ -277,14 +261,6 @@ installedModule = Module
277261

278262
#endif
279263

280-
fromUnitId :: UnitId -> Unit
281-
fromUnitId =
282-
#if MIN_VERSION_ghc(9,0,0)
283-
RealUnit . Definite
284-
#else
285-
id
286-
#endif
287-
288264
moduleUnitId :: Module -> UnitId
289265
moduleUnitId =
290266
Unit.toUnitId . Unit.moduleUnit

0 commit comments

Comments
 (0)