import UniqFM
import UniqSet
import Util
+import Maybes ( expectJust )
import Panic
import Outputable
import Distribution.Package
import Distribution.Version
import System.IO ( hPutStrLn, stderr )
-import Data.Maybe ( fromJust, isNothing )
+import Data.Maybe ( isNothing )
import System.Directory ( doesFileExist )
import Control.Monad ( when, foldM )
import Data.List ( nub, partition )
where add pkg_map p = addToUFM pkg_map (packageConfigId p) p
getPackageDetails :: PackageState -> PackageId -> PackageConfig
-getPackageDetails dflags ps = fromJust (lookupPackage (pkgIdMap dflags) ps)
+getPackageDetails dflags ps = expectJust "getPackageDetails" (lookupPackage (pkgIdMap dflags) ps)
-- ----------------------------------------------------------------------------
-- Loading the package config files and building up the package state
let
extend_modmap modmap pkgname = do
let
- pkg = fromJust (lookupPackage pkg_db pkgname)
+ pkg = expectJust "mkPackageState" (lookupPackage pkg_db pkgname)
exposed_mods = map mkModule (exposedModules pkg)
hidden_mods = map mkModule (hiddenModules pkg)
all_mods = exposed_mods ++ hidden_mods