summarise{File}: filter out GHC.Prim from import lists
import Name ( Name, NamedThing(..), nameRdrName, nameModule,
isHomePackageName, isExternalName )
import NameEnv
import Name ( Name, NamedThing(..), nameRdrName, nameModule,
isHomePackageName, isExternalName )
import NameEnv
+import PrelNames ( gHC_PRIM_Name )
import Rename ( mkGlobalContext )
import RdrName ( emptyRdrEnv )
import Module
import Rename ( mkGlobalContext )
import RdrName ( emptyRdrEnv )
import Module
(srcimps,imps,mod_name) <- getImportsFromFile hspp_fn
let (path, basename, _ext) = splitFilename3 file
(srcimps,imps,mod_name) <- getImportsFromFile hspp_fn
let (path, basename, _ext) = splitFilename3 file
+ -- GHC.Prim doesn't exist physically, so don't go looking for it.
+ the_imps = filter (/= gHC_PRIM_Name) imps
(mod, location)
<- mkHomeModuleLocn mod_name (path ++ '/':basename) file
(mod, location)
<- mkHomeModuleLocn mod_name (path ++ '/':basename) file
return (ModSummary mod
location{ml_hspp_file=Just hspp_fn}
return (ModSummary mod
location{ml_hspp_file=Just hspp_fn}
- srcimps imps src_timestamp)
+ srcimps the_imps src_timestamp)
-- Summarise a module, and pick up source and timestamp.
summarise :: Module -> ModuleLocation -> Maybe ModSummary
-- Summarise a module, and pick up source and timestamp.
summarise :: Module -> ModuleLocation -> Maybe ModSummary
hspp_fn <- preprocess hs_fn
(srcimps,imps,mod_name) <- getImportsFromFile hspp_fn
hspp_fn <- preprocess hs_fn
(srcimps,imps,mod_name) <- getImportsFromFile hspp_fn
+ let
+ -- GHC.Prim doesn't exist physically, so don't go looking for it.
+ the_imps = filter (/= gHC_PRIM_Name) imps
when (mod_name /= moduleName mod) $
throwDyn (ProgramError
when (mod_name /= moduleName mod) $
throwDyn (ProgramError
<+> quotes (ppr (moduleName mod)))))
return (Just (ModSummary mod location{ml_hspp_file=Just hspp_fn}
<+> quotes (ppr (moduleName mod)))))
return (Just (ModSummary mod location{ml_hspp_file=Just hspp_fn}
- srcimps imps src_timestamp))
+ srcimps the_imps src_timestamp))