Don't import FastString in HsVersions.h
[ghc-hetmet.git] / compiler / hsSyn / HsSyn.lhs
index fb5162a..20e339f 100644 (file)
@@ -1,4 +1,5 @@
 %
+% (c) The University of Glasgow 2006
 % (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
 %
 \section{Haskell abstract syntax definition}
@@ -45,6 +46,7 @@ import IfaceSyn               ( IfaceBinding )
 import Outputable
 import SrcLoc          ( Located(..) )
 import Module          ( Module, ModuleName )
+import FastString
 \end{code}
 
 All we actually declare here is the top-level structure for a module.
@@ -62,7 +64,6 @@ data HsModule name
                                -- often empty, downstream.
        [LHsDecl name]          -- Type, class, value, and interface signature decls
        (Maybe DeprecTxt)       -- reason/explanation for deprecation of this module
-       (Maybe String)          -- Haddock options, declared with the {-# DOCOPTIONS ... #-} pragma
        (HaddockModInfo name)   -- Haddock module info
        (Maybe (HsDoc name))    -- Haddock module description
 
@@ -97,10 +98,10 @@ instance Outputable Char where
 instance (OutputableBndr name)
        => Outputable (HsModule name) where
 
-    ppr (HsModule Nothing _ imports decls _ _ _ mbDoc)
+    ppr (HsModule Nothing _ imports decls _ _ mbDoc)
       = pp_mb mbDoc $$ pp_nonnull imports $$ pp_nonnull decls
 
-    ppr (HsModule (Just name) exports imports decls deprec opts _ mbDoc)
+    ppr (HsModule (Just name) exports imports decls deprec _ mbDoc)
       = vcat [
            pp_mb mbDoc,
            case exports of
@@ -120,9 +121,11 @@ instance (OutputableBndr name)
 
        pp_modname = ptext SLIT("module") <+> ppr name
 
+pp_mb :: Outputable t => Maybe t -> SDoc
 pp_mb (Just x) = ppr x 
 pp_mb Nothing  = empty
 
+pp_nonnull :: Outputable t => [t] -> SDoc
 pp_nonnull [] = empty
 pp_nonnull xs = vcat (map ppr xs)
 \end{code}