diff options
author | Manuel M T Chakravarty <chak@cse.unsw.edu.au> | 2011-08-24 22:34:40 +1000 |
---|---|---|
committer | Manuel M T Chakravarty <chak@cse.unsw.edu.au> | 2011-08-24 22:44:09 +1000 |
commit | faa4b3f08f2379a14d163d5485b05bf3ab84c530 (patch) | |
tree | a9f2fa4e87e8271c076c4582637ab7cec37138a4 /compiler/basicTypes | |
parent | 82ac7ff381e0eaaf3e6e18c375b32a0d7463344a (diff) | |
download | haskell-faa4b3f08f2379a14d163d5485b05bf3ab84c530.tar.gz |
Fix name generation for vectorised identifiers
Diffstat (limited to 'compiler/basicTypes')
-rw-r--r-- | compiler/basicTypes/Name.lhs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/compiler/basicTypes/Name.lhs b/compiler/basicTypes/Name.lhs index 8bdcb9ebb6..c82a06c2f3 100644 --- a/compiler/basicTypes/Name.lhs +++ b/compiler/basicTypes/Name.lhs @@ -42,13 +42,13 @@ module Name ( mkFCallName, mkIPName, mkTickBoxOpName, mkExternalName, mkWiredInName, - mkLocalisedOccName, -- ** Manipulating and deconstructing 'Name's nameUnique, setNameUnique, nameOccName, nameModule, nameModule_maybe, tidyNameOcc, hashName, localiseName, + mkLocalisedOccName, nameSrcLoc, nameSrcSpan, pprNameLoc, @@ -332,11 +332,12 @@ localiseName n = n { n_sort = Internal } -- -- If the name is external, encode the original's module name to disambiguate. -- -mkLocalisedOccName :: (Maybe String -> OccName -> OccName) -> Name -> OccName -mkLocalisedOccName mk_occ name = mk_occ origin (nameOccName name) +mkLocalisedOccName :: Module -> (Maybe String -> OccName -> OccName) -> Name -> OccName +mkLocalisedOccName this_mod mk_occ name = mk_occ origin (nameOccName name) where - origin | isExternalName name = Just (moduleNameColons . moduleName . nameModule $ name) - | otherwise = Nothing + origin + | nameIsLocalOrFrom this_mod name = Nothing + | otherwise = Just (moduleNameColons . moduleName . nameModule $ name) \end{code} %************************************************************************ |