projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d81f29d
)
Fix Trac #3792: check for qualified names in import items
author
simonpj@microsoft.com
<unknown>
Mon, 4 Jan 2010 21:59:50 +0000
(21:59 +0000)
committer
simonpj@microsoft.com
<unknown>
Mon, 4 Jan 2010 21:59:50 +0000
(21:59 +0000)
compiler/rename/RnNames.lhs
patch
|
blob
|
history
diff --git
a/compiler/rename/RnNames.lhs
b/compiler/rename/RnNames.lhs
index
7ccc7a2
..
7d367c7
100644
(file)
--- a/
compiler/rename/RnNames.lhs
+++ b/
compiler/rename/RnNames.lhs
@@
-580,10
+580,10
@@
filterImports iface decl_spec (Just (want_hiding, import_items)) all_avails
lookup_ie opt_typeFamilies ie
= let bad_ie = Failed (badImportItemErr iface decl_spec ie)
lookup_ie opt_typeFamilies ie
= let bad_ie = Failed (badImportItemErr iface decl_spec ie)
- lookup_name rdrName =
- case lookupOccEnv occ_env (rdrNameOcc rdrName) of
- Nothing -> bad_ie
- Just n -> return n
+ lookup_name rdr
+ | isQual rdr = Failed (qualImportItemErr rdr)
+ | Just nm <- lookupOccEnv occ_env (rdrNameOcc rdr) = return nm
+ | otherwise = bad_ie
in
case ie of
IEVar n -> do
in
case ie of
IEVar n -> do
@@
-1386,6
+1386,11
@@
printMinimalImports imports_w_usage
%************************************************************************
\begin{code}
%************************************************************************
\begin{code}
+qualImportItemErr :: RdrName -> SDoc
+qualImportItemErr rdr
+ = hang (ptext (sLit "Illegal qualified name in import item:"))
+ 2 (ppr rdr)
+
badImportItemErr :: ModIface -> ImpDeclSpec -> IE RdrName -> SDoc
badImportItemErr iface decl_spec ie
= sep [ptext (sLit "Module"), quotes (ppr (is_mod decl_spec)), source_import,
badImportItemErr :: ModIface -> ImpDeclSpec -> IE RdrName -> SDoc
badImportItemErr iface decl_spec ie
= sep [ptext (sLit "Module"), quotes (ppr (is_mod decl_spec)), source_import,