X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FhsSyn%2FHsImpExp.lhs;h=bc76b94296a52eec655ba2db11563d60390bf174;hp=099537f9d0d7bbc6cff9580d245e7c0882809989;hb=9f55c592f7283e5d16dd406c767af352adf30bfc;hpb=1867a7bb8c59ea514b4f47f5434842543933ec9a diff --git a/compiler/hsSyn/HsImpExp.lhs b/compiler/hsSyn/HsImpExp.lhs index 099537f..bc76b94 100644 --- a/compiler/hsSyn/HsImpExp.lhs +++ b/compiler/hsSyn/HsImpExp.lhs @@ -33,13 +33,16 @@ One per \tr{import} declaration in a module. \begin{code} type LImportDecl name = Located (ImportDecl name) +-- | A single Haskell @import@ declaration. data ImportDecl name - = ImportDecl (Located ModuleName) -- module name - (Maybe FastString) -- package qualifier - Bool -- True <=> {-# SOURCE #-} import - Bool -- True => qualified - (Maybe ModuleName) -- as Module - (Maybe (Bool, [LIE name])) -- (True => hiding, names) + = ImportDecl { + ideclName :: Located ModuleName, -- ^ Module name. + ideclPkgQual :: Maybe FastString, -- ^ Package qualifier. + ideclSource :: Bool, -- ^ True <=> {-# SOURCE #-} import + ideclQualified :: Bool, -- ^ True => qualified + ideclAs :: Maybe ModuleName, -- ^ as Module + ideclHiding :: Maybe (Bool, [LIE name]) -- ^ (True => hiding, names) + } \end{code} \begin{code} @@ -66,9 +69,6 @@ instance (Outputable name) => Outputable (ImportDecl name) where = parens (interpp'SP spec) pp_spec (Just (True, spec)) = ptext (sLit "hiding") <+> parens (interpp'SP spec) - -ideclName :: ImportDecl name -> Located ModuleName -ideclName (ImportDecl mod_nm _ _ _ _ _) = mod_nm \end{code} %************************************************************************ @@ -80,15 +80,16 @@ ideclName (ImportDecl mod_nm _ _ _ _ _) = mod_nm \begin{code} type LIE name = Located (IE name) +-- | Imported or exported entity. data IE name = IEVar name - | IEThingAbs name -- Class/Type (can't tell) - | IEThingAll name -- Class/Type plus all methods/constructors - | IEThingWith name [name] -- Class/Type plus some methods/constructors - | IEModuleContents ModuleName -- (Export Only) - | IEGroup Int (HsDoc name) -- Doc section heading - | IEDoc (HsDoc name) -- Some documentation - | IEDocNamed String -- Reference to named doc + | IEThingAbs name -- ^ Class/Type (can't tell) + | IEThingAll name -- ^ Class/Type plus all methods/constructors + | IEThingWith name [name] -- ^ Class/Type plus some methods/constructors + | IEModuleContents ModuleName -- ^ (Export Only) + | IEGroup Int (HsDoc name) -- ^ Doc section heading + | IEDoc (HsDoc name) -- ^ Some documentation + | IEDocNamed String -- ^ Reference to named doc \end{code} \begin{code}