[project @ 2000-11-16 11:39:36 by simonmar]
[ghc-hetmet.git] / ghc / compiler / basicTypes / Module.lhs
index 5c2b423..5676bc2 100644 (file)
@@ -21,7 +21,7 @@ in a different DLL, by setting the DLL flag.
 \begin{code}
 module Module 
     (
-      Module, moduleName
+      Module, moduleName, packageOfModule,
                            -- abstract, instance of Eq, Ord, Outputable
     , ModuleName
     , isModuleInThisPackage, mkModuleInThisPackage,
@@ -33,7 +33,6 @@ module Module
 
     , moduleString             -- :: Module -> EncodedString
     , moduleUserString         -- :: Module -> UserString
-    , moduleName               -- :: Module -> ModuleName
 
     , mkVanillaModule          -- :: ModuleName -> Module
     , mkPrelModule             -- :: UserString -> Module
@@ -255,7 +254,7 @@ moduleString :: Module -> EncodedString
 moduleString (Module (ModuleName fs) _) = _UNPK_ fs
 
 moduleName :: Module -> ModuleName
-moduleName (Module mod _) = mod
+moduleName (Module mod pkg_info) = mod
 
 moduleUserString :: Module -> UserString
 moduleUserString (Module mod _) = moduleNameUserString mod
@@ -264,6 +263,10 @@ isModuleInThisPackage :: Module -> Bool
 isModuleInThisPackage (Module nm ThisPackage) = True
 isModuleInThisPackage _                       = False
 
+packageOfModule :: Module -> Maybe PackageName
+packageOfModule (Module nm (AnotherPackage pn)) = Just pn
+packageOfModule _                               = Nothing
+
 printModulePrefix :: Module -> Bool
   -- When printing, say M.x
 printModulePrefix (Module nm ThisPackage) = False