X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FhsSyn%2FHsImpExp.lhs;h=099537f9d0d7bbc6cff9580d245e7c0882809989;hb=3444b48ef7644c235d7f164f8837090dc30c23bb;hp=78e417c6e66fcba4d1ed13d8131c6536244b8075;hpb=06a627d08b7571d1a86d95a603bb036bd44e018d;p=ghc-hetmet.git diff --git a/compiler/hsSyn/HsImpExp.lhs b/compiler/hsSyn/HsImpExp.lhs index 78e417c..099537f 100644 --- a/compiler/hsSyn/HsImpExp.lhs +++ b/compiler/hsSyn/HsImpExp.lhs @@ -21,7 +21,6 @@ import HsDoc ( HsDoc ) import Outputable import FastString import SrcLoc ( Located(..) ) -import Char ( isAlpha ) \end{code} %************************************************************************ @@ -36,6 +35,7 @@ type LImportDecl name = Located (ImportDecl name) data ImportDecl name = ImportDecl (Located ModuleName) -- module name + (Maybe FastString) -- package qualifier Bool -- True <=> {-# SOURCE #-} import Bool -- True => qualified (Maybe ModuleName) -- as Module @@ -44,11 +44,14 @@ data ImportDecl name \begin{code} instance (Outputable name) => Outputable (ImportDecl name) where - ppr (ImportDecl mod from qual as spec) + ppr (ImportDecl mod pkg from qual as spec) = hang (hsep [ptext (sLit "import"), ppr_imp from, - pp_qual qual, ppr mod, pp_as as]) + pp_qual qual, pp_pkg pkg, ppr mod, pp_as as]) 4 (pp_spec spec) where + pp_pkg Nothing = empty + pp_pkg (Just p) = doubleQuotes (ftext p) + pp_qual False = empty pp_qual True = ptext (sLit "qualified") @@ -65,7 +68,7 @@ instance (Outputable name) => Outputable (ImportDecl name) where = ptext (sLit "hiding") <+> parens (interpp'SP spec) ideclName :: ImportDecl name -> Located ModuleName -ideclName (ImportDecl mod_nm _ _ _ _) = mod_nm +ideclName (ImportDecl mod_nm _ _ _ _ _) = mod_nm \end{code} %************************************************************************ @@ -120,25 +123,4 @@ instance (Outputable name) => Outputable (IE name) where ppr (IEDocNamed string) = text ("") \end{code} -\begin{code} -pprHsVar :: Outputable name => name -> SDoc -pprHsVar v | isOperator ppr_v = parens ppr_v - | otherwise = ppr_v - where - ppr_v = ppr v - -isOperator :: SDoc -> Bool -isOperator ppr_v - = case showSDocUnqual ppr_v of - ('(':_) -> False -- (), (,) etc - ('[':_) -> False -- [] - ('$':c:_) -> not (isAlpha c) -- Don't treat $d as an operator - (':':c:_) -> not (isAlpha c) -- Don't treat :T as an operator - ('_':_) -> False -- Not an operator - (c:_) -> not (isAlpha c) -- Starts with non-alpha - _ -> False - -- We use (showSDoc (ppr v)), rather than isSymOcc (getOccName v) simply so - -- that we don't need NamedThing in the context of all these functions. - -- Gruesome, but simple. -\end{code}