diff options
Diffstat (limited to 'haddock-api/src/Haddock/Backends/Xhtml')
| -rw-r--r-- | haddock-api/src/Haddock/Backends/Xhtml/Decl.hs | 150 | 
1 files changed, 75 insertions, 75 deletions
diff --git a/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs b/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs index c78bee2d..3b53b1eb 100644 --- a/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs +++ b/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs @@ -40,9 +40,9 @@ import Name  import BooleanFormula  import RdrName ( rdrNameOcc ) -ppDecl :: Bool -> LinksInfo -> LHsDecl DocName -       -> [(HsDecl DocName, DocForDecl DocName)] -       -> DocForDecl DocName ->  [DocInstance DocName] -> [(DocName, Fixity)] +ppDecl :: Bool -> LinksInfo -> LHsDecl DocNameI +       -> [(HsDecl DocNameI, DocForDecl DocName)] +       -> DocForDecl DocName ->  [DocInstance DocNameI] -> [(DocName, Fixity)]         -> [(DocName, DocForDecl DocName)] -> Splice -> Unicode -> Qualification -> Html  ppDecl summ links (L loc decl) pats (mbDoc, fnArgsDoc) instances fixities subdocs splice unicode qual = case decl of    TyClD (FamDecl d)            -> ppTyFam summ False links instances fixities loc mbDoc d splice unicode qual @@ -60,14 +60,14 @@ ppDecl summ links (L loc decl) pats (mbDoc, fnArgsDoc) instances fixities subdoc  ppLFunSig :: Bool -> LinksInfo -> SrcSpan -> DocForDecl DocName -> -             [Located DocName] -> LHsType DocName -> [(DocName, Fixity)] -> +             [Located DocName] -> LHsType DocNameI -> [(DocName, Fixity)] ->               Splice -> Unicode -> Qualification -> Html  ppLFunSig summary links loc doc lnames lty fixities splice unicode qual =    ppFunSig summary links loc doc (map unLoc lnames) lty fixities             splice unicode qual  ppFunSig :: Bool -> LinksInfo -> SrcSpan -> DocForDecl DocName -> -            [DocName] -> LHsType DocName -> [(DocName, Fixity)] -> +            [DocName] -> LHsType DocNameI -> [(DocName, Fixity)] ->              Splice -> Unicode -> Qualification -> Html  ppFunSig summary links loc doc docnames typ fixities splice unicode qual =    ppSigLike summary links loc mempty doc docnames fixities (unLoc typ, pp_typ) @@ -76,7 +76,7 @@ ppFunSig summary links loc doc docnames typ fixities splice unicode qual =      pp_typ = ppLType unicode qual HideEmptyContexts typ  ppLPatSig :: Bool -> LinksInfo -> SrcSpan -> DocForDecl DocName -> -             [Located DocName] -> LHsSigType DocName -> +             [Located DocName] -> LHsSigType DocNameI ->               [(DocName, Fixity)] ->               Splice -> Unicode -> Qualification -> Html  ppLPatSig summary links loc (doc, _argDocs) docnames typ fixities splice unicode qual @@ -91,7 +91,7 @@ ppLPatSig summary links loc (doc, _argDocs) docnames typ fixities splice unicode                   ]  ppSigLike :: Bool -> LinksInfo -> SrcSpan -> Html -> DocForDecl DocName -> -             [DocName] -> [(DocName, Fixity)] -> (HsType DocName, Html) -> +             [DocName] -> [(DocName, Fixity)] -> (HsType DocNameI, Html) ->               Splice -> Unicode -> Qualification -> HideEmptyContexts -> Html  ppSigLike summary links loc leader doc docnames fixities (typ, pp_typ)            splice unicode qual emptyCtxts = @@ -108,7 +108,7 @@ ppSigLike summary links loc leader doc docnames fixities (typ, pp_typ)        | otherwise = html <+> ppFixities fixities qual -ppTypeOrFunSig :: Bool -> LinksInfo -> SrcSpan -> [DocName] -> HsType DocName +ppTypeOrFunSig :: Bool -> LinksInfo -> SrcSpan -> [DocName] -> HsType DocNameI                 -> DocForDecl DocName -> (Html, Html, Html)                 -> Splice -> Unicode -> Qualification -> HideEmptyContexts -> Html  ppTypeOrFunSig summary links loc docnames typ (doc, argDocs) (pref1, pref2, sep) splice unicode qual emptyCtxts @@ -122,7 +122,7 @@ ppTypeOrFunSig summary links loc docnames typ (doc, argDocs) (pref1, pref2, sep)      do_largs n leader (L _ t) = do_args n leader t -    do_args :: Int -> Html -> HsType DocName -> [SubDecl] +    do_args :: Int -> Html -> HsType DocNameI -> [SubDecl]      do_args n leader (HsForAllTy tvs ltype)        = do_largs n leader' ltype        where @@ -141,7 +141,7 @@ ppTypeOrFunSig summary links loc docnames typ (doc, argDocs) (pref1, pref2, sep)      do_args n leader t        = [(leader <+> ppType unicode qual emptyCtxts t, argDoc n, [])] -ppForAll :: [LHsTyVarBndr DocName] -> Unicode -> Qualification -> Html +ppForAll :: [LHsTyVarBndr DocNameI] -> Unicode -> Qualification -> Html  ppForAll tvs unicode qual =    case [ppKTv n k | L _ (KindedTyVar (L _ n) k) <- tvs] of      [] -> noHtml @@ -172,15 +172,15 @@ ppFixities fs qual = foldr1 (+++) (map ppFix uniq_fs) +++ rightEdge  -- | Pretty-print type variables. -ppTyVars :: Unicode -> Qualification -> [LHsTyVarBndr DocName] -> [Html] +ppTyVars :: Unicode -> Qualification -> [LHsTyVarBndr DocNameI] -> [Html]  ppTyVars unicode qual tvs = map (ppHsTyVarBndr unicode qual . unLoc) tvs -tyvarNames :: LHsQTyVars DocName -> [Name] +tyvarNames :: LHsQTyVars DocNameI -> [Name]  tyvarNames = map (getName . hsLTyVarName) . hsQTvExplicit  ppFor :: Bool -> LinksInfo -> SrcSpan -> DocForDecl DocName -      -> ForeignDecl DocName -> [(DocName, Fixity)] +      -> ForeignDecl DocNameI -> [(DocName, Fixity)]        -> Splice -> Unicode -> Qualification -> Html  ppFor summary links loc doc (ForeignImport (L _ name) typ _ _) fixities        splice unicode qual @@ -190,7 +190,7 @@ ppFor _ _ _ _ _ _ _ _ _ = error "ppFor"  -- we skip type patterns for now  ppTySyn :: Bool -> LinksInfo -> [(DocName, Fixity)] -> SrcSpan -        -> DocForDecl DocName -> TyClDecl DocName +        -> DocForDecl DocName -> TyClDecl DocNameI          -> Splice -> Unicode -> Qualification -> Html  ppTySyn summary links fixities loc doc (SynDecl { tcdLName = L _ name, tcdTyVars = ltyvars                                                  , tcdRhs = ltype }) @@ -221,7 +221,7 @@ ppTyName = ppName Prefix  ppSimpleSig :: LinksInfo -> Splice -> Unicode -> Qualification -> HideEmptyContexts -> SrcSpan -            -> [DocName] -> HsType DocName +            -> [DocName] -> HsType DocNameI              -> Html  ppSimpleSig links splice unicode qual emptyCtxts loc names typ =      topDeclElem' names $ ppTypeSig True occNames ppTyp unicode @@ -236,7 +236,7 @@ ppSimpleSig links splice unicode qual emptyCtxts loc names typ =  -------------------------------------------------------------------------------- -ppFamilyInfo :: Bool -> FamilyInfo DocName -> Html +ppFamilyInfo :: Bool -> FamilyInfo DocNameI -> Html  ppFamilyInfo assoc OpenTypeFamily      | assoc = keyword "type"      | otherwise = keyword "type family" @@ -246,7 +246,7 @@ ppFamilyInfo assoc DataFamily  ppFamilyInfo _ (ClosedTypeFamily _) = keyword "type family" -ppTyFamHeader :: Bool -> Bool -> FamilyDecl DocName +ppTyFamHeader :: Bool -> Bool -> FamilyDecl DocNameI                -> Unicode -> Qualification -> Html  ppTyFamHeader summary associated d@(FamilyDecl { fdInfo = info                                                 , fdResultSig = L _ result @@ -276,28 +276,28 @@ ppTyFamHeader summary associated d@(FamilyDecl { fdInfo = info       _                  -> mempty    ) -ppResultSig :: FamilyResultSig DocName -> Unicode -> Qualification -> Html +ppResultSig :: FamilyResultSig DocNameI -> Unicode -> Qualification -> Html  ppResultSig result unicode qual = case result of      NoSig               -> noHtml      KindSig kind        -> dcolon unicode  <+> ppLKind unicode qual kind      TyVarSig (L _ bndr) -> equals <+> ppHsTyVarBndr unicode qual bndr -ppPseudoFamilyHeader :: Unicode -> Qualification -> PseudoFamilyDecl DocName +ppPseudoFamilyHeader :: Unicode -> Qualification -> PseudoFamilyDecl DocNameI                       -> Html  ppPseudoFamilyHeader unicode qual (PseudoFamilyDecl { .. }) =      ppFamilyInfo True pfdInfo <+>      ppAppNameTypes (unLoc pfdLName) [] (map unLoc pfdTyVars) unicode qual <+>      ppResultSig (unLoc pfdKindSig) unicode qual -ppInjectivityAnn :: Bool -> Qualification -> InjectivityAnn DocName -> Html +ppInjectivityAnn :: Bool -> Qualification -> InjectivityAnn DocNameI -> Html  ppInjectivityAnn unicode qual (InjectivityAnn lhs rhs) =      char '|' <+> ppLDocName qual Raw lhs <+> arrow unicode <+>      hsep (map (ppLDocName qual Raw) rhs) -ppTyFam :: Bool -> Bool -> LinksInfo -> [DocInstance DocName] -> +ppTyFam :: Bool -> Bool -> LinksInfo -> [DocInstance DocNameI] ->             [(DocName, Fixity)] -> SrcSpan -> Documentation DocName -> -           FamilyDecl DocName -> Splice -> Unicode -> Qualification -> Html +           FamilyDecl DocNameI -> Splice -> Unicode -> Qualification -> Html  ppTyFam summary associated links instances fixities loc doc decl splice unicode qual    | summary   = ppTyFamHeader True associated decl unicode qual @@ -318,8 +318,9 @@ ppTyFam summary associated links instances fixities loc doc decl splice unicode        = ppInstances links (OriginFamily docname) instances splice unicode qual      -- Individual equation of a closed type family -    ppTyFamEqn TyFamEqn { tfe_tycon = n, tfe_rhs = rhs -                        , tfe_pats = HsIB { hsib_body = ts }} +    ppTyFamEqn :: TyFamInstEqn DocNameI -> SubDecl +    ppTyFamEqn (HsIB { hsib_body = FamEqn { feqn_tycon = n, feqn_rhs = rhs +                                          , feqn_pats = ts } })        = ( ppAppNameTypes (unLoc n) [] (map unLoc ts) unicode qual            <+> equals <+> ppType unicode qual HideEmptyContexts (unLoc rhs)          , Nothing, [] ) @@ -327,7 +328,7 @@ ppTyFam summary associated links instances fixities loc doc decl splice unicode  ppPseudoFamilyDecl :: LinksInfo -> Splice -> Unicode -> Qualification -                   -> PseudoFamilyDecl DocName +                   -> PseudoFamilyDecl DocNameI                     -> Html  ppPseudoFamilyDecl links splice unicode qual                     decl@(PseudoFamilyDecl { pfdLName = L loc name, .. }) = @@ -341,7 +342,7 @@ ppPseudoFamilyDecl links splice unicode qual  -------------------------------------------------------------------------------- -ppAssocType :: Bool -> LinksInfo -> DocForDecl DocName -> LFamilyDecl DocName +ppAssocType :: Bool -> LinksInfo -> DocForDecl DocName -> LFamilyDecl DocNameI              -> [(DocName, Fixity)] -> Splice -> Unicode -> Qualification -> Html  ppAssocType summ links doc (L loc decl) fixities splice unicode qual =     ppTyFam summ True links [] fixities loc (fst doc) decl splice unicode qual @@ -352,12 +353,12 @@ ppAssocType summ links doc (L loc decl) fixities splice unicode qual =  --------------------------------------------------------------------------------  -- | Print a type family and its variables -ppFamDeclBinderWithVars :: Bool -> Unicode -> Qualification -> FamilyDecl DocName -> Html +ppFamDeclBinderWithVars :: Bool -> Unicode -> Qualification -> FamilyDecl DocNameI -> Html  ppFamDeclBinderWithVars summ unicode qual (FamilyDecl { fdLName = lname, fdTyVars = tvs }) =    ppAppDocNameTyVarBndrs summ unicode qual (unLoc lname) (hsq_explicit tvs)  -- | Print a newtype / data binder and its variables -ppDataBinderWithVars :: Bool -> Unicode -> Qualification -> TyClDecl DocName -> Html +ppDataBinderWithVars :: Bool -> Unicode -> Qualification -> TyClDecl DocNameI -> Html  ppDataBinderWithVars summ unicode qual decl =    ppAppDocNameTyVarBndrs summ unicode qual (tcdName decl) (hsQTvExplicit $ tcdTyVars decl) @@ -365,7 +366,7 @@ ppDataBinderWithVars summ unicode qual decl =  -- * Type applications  -------------------------------------------------------------------------------- -ppAppDocNameTyVarBndrs :: Bool -> Unicode -> Qualification -> DocName -> [LHsTyVarBndr DocName] -> Html +ppAppDocNameTyVarBndrs :: Bool -> Unicode -> Qualification -> DocName -> [LHsTyVarBndr DocNameI] -> Html  ppAppDocNameTyVarBndrs summ unicode qual n vs =      ppTypeApp n [] vs ppDN (ppHsTyVarBndr unicode qual . unLoc)    where @@ -374,7 +375,7 @@ ppAppDocNameTyVarBndrs summ unicode qual n vs =      ppBinderFixity _ = ppBinder  -- | Print an application of a 'DocName' and two lists of 'HsTypes' (kinds, types) -ppAppNameTypes :: DocName -> [HsType DocName] -> [HsType DocName] +ppAppNameTypes :: DocName -> [HsType DocNameI] -> [HsType DocNameI]                 -> Unicode -> Qualification -> Html  ppAppNameTypes n ks ts unicode qual =      ppTypeApp n ks ts (\p -> ppDocName qual p True) (ppParendType unicode qual HideEmptyContexts) @@ -397,33 +398,33 @@ ppTypeApp n ks ts ppDN ppT = ppDN Prefix n <+> hsep (map ppT $ ks ++ ts)  ------------------------------------------------------------------------------- -ppLContext, ppLContextNoArrow :: Located (HsContext DocName) -> Unicode +ppLContext, ppLContextNoArrow :: Located (HsContext DocNameI) -> Unicode                                -> Qualification -> HideEmptyContexts -> Html  ppLContext        = ppContext        . unLoc  ppLContextNoArrow = ppContextNoArrow . unLoc -ppContextNoArrow :: HsContext DocName -> Unicode -> Qualification -> HideEmptyContexts -> Html +ppContextNoArrow :: HsContext DocNameI -> Unicode -> Qualification -> HideEmptyContexts -> Html  ppContextNoArrow cxt unicode qual emptyCtxts = fromMaybe noHtml $                                                 ppContextNoLocsMaybe (map unLoc cxt) unicode qual emptyCtxts -ppContextNoLocs :: [HsType DocName] -> Unicode -> Qualification -> HideEmptyContexts -> Html +ppContextNoLocs :: [HsType DocNameI] -> Unicode -> Qualification -> HideEmptyContexts -> Html  ppContextNoLocs cxt unicode qual emptyCtxts = maybe noHtml (<+> darrow unicode) $                                                ppContextNoLocsMaybe cxt unicode qual emptyCtxts -ppContextNoLocsMaybe :: [HsType DocName] -> Unicode -> Qualification -> HideEmptyContexts -> Maybe Html +ppContextNoLocsMaybe :: [HsType DocNameI] -> Unicode -> Qualification -> HideEmptyContexts -> Maybe Html  ppContextNoLocsMaybe [] _ _ emptyCtxts =    case emptyCtxts of      HideEmptyContexts -> Nothing      ShowEmptyToplevelContexts -> Just (toHtml "()")  ppContextNoLocsMaybe cxt unicode qual _ = Just $ ppHsContext cxt unicode qual -ppContext :: HsContext DocName -> Unicode -> Qualification -> HideEmptyContexts -> Html +ppContext :: HsContext DocNameI -> Unicode -> Qualification -> HideEmptyContexts -> Html  ppContext cxt unicode qual emptyCtxts = ppContextNoLocs (map unLoc cxt) unicode qual emptyCtxts -ppHsContext :: [HsType DocName] -> Unicode -> Qualification -> Html +ppHsContext :: [HsType DocNameI] -> Unicode -> Qualification -> Html  ppHsContext []  _       _    = noHtml  ppHsContext [p] unicode qual = ppCtxType unicode qual p  ppHsContext cxt unicode qual = parenList (map (ppType unicode qual HideEmptyContexts) cxt) @@ -434,8 +435,8 @@ ppHsContext cxt unicode qual = parenList (map (ppType unicode qual HideEmptyCont  ------------------------------------------------------------------------------- -ppClassHdr :: Bool -> Located [LHsType DocName] -> DocName -           -> LHsQTyVars DocName -> [Located ([Located DocName], [Located DocName])] +ppClassHdr :: Bool -> Located [LHsType DocNameI] -> DocName +           -> LHsQTyVars DocNameI -> [Located ([Located DocName], [Located DocName])]             -> Unicode -> Qualification -> Html  ppClassHdr summ lctxt n tvs fds unicode qual =    keyword "class" @@ -452,7 +453,7 @@ ppFds fds unicode qual =          fundep (vars1,vars2) = ppVars vars1 <+> arrow unicode <+> ppVars vars2          ppVars = hsep . map ((ppDocName qual Prefix True) . unLoc) -ppShortClassDecl :: Bool -> LinksInfo -> TyClDecl DocName -> SrcSpan +ppShortClassDecl :: Bool -> LinksInfo -> TyClDecl DocNameI -> SrcSpan                   -> [(DocName, DocForDecl DocName)]                   -> Splice -> Unicode -> Qualification -> Html  ppShortClassDecl summary links (ClassDecl { tcdCtxt = lctxt, tcdLName = lname, tcdTyVars = tvs @@ -484,9 +485,9 @@ ppShortClassDecl _ _ _ _ _ _ _ _ = error "declaration type not supported by ppSh -ppClassDecl :: Bool -> LinksInfo -> [DocInstance DocName] -> [(DocName, Fixity)] +ppClassDecl :: Bool -> LinksInfo -> [DocInstance DocNameI] -> [(DocName, Fixity)]              -> SrcSpan -> Documentation DocName -            -> [(DocName, DocForDecl DocName)] -> TyClDecl DocName +            -> [(DocName, DocForDecl DocName)] -> TyClDecl DocNameI              -> Splice -> Unicode -> Qualification -> Html  ppClassDecl summary links instances fixities loc d subdocs          decl@(ClassDecl { tcdCtxt = lctxt, tcdLName = lname, tcdTyVars = ltyvars @@ -557,7 +558,7 @@ ppClassDecl _ _ _ _ _ _ _ _ _ _ _ = error "declaration type not supported by ppS  ppInstances :: LinksInfo -            -> InstOrigin DocName -> [DocInstance DocName] +            -> InstOrigin DocName -> [DocInstance DocNameI]              -> Splice -> Unicode -> Qualification              -> Html  ppInstances links origin instances splice unicode qual @@ -565,22 +566,22 @@ ppInstances links origin instances splice unicode qual    -- force Splice = True to use line URLs    where      instName = getOccString origin -    instDecl :: Int -> DocInstance DocName -> (SubDecl,Located DocName) +    instDecl :: Int -> DocInstance DocNameI -> (SubDecl,Located DocName)      instDecl no (inst, mdoc, loc) =          ((ppInstHead links splice unicode qual mdoc origin False no inst), loc)  ppOrphanInstances :: LinksInfo -                  -> [DocInstance DocName] +                  -> [DocInstance DocNameI]                    -> Splice -> Unicode -> Qualification                    -> Html  ppOrphanInstances links instances splice unicode qual    = subOrphanInstances qual links True (zipWith instDecl [1..] instances)    where -    instOrigin :: InstHead name -> InstOrigin name +    instOrigin :: InstHead name -> InstOrigin (IdP name)      instOrigin inst = OriginClass (ihdClsName inst) -    instDecl :: Int -> DocInstance DocName -> (SubDecl,Located DocName) +    instDecl :: Int -> DocInstance DocNameI -> (SubDecl,Located DocName)      instDecl no (inst, mdoc, loc) =          ((ppInstHead links splice unicode qual mdoc (instOrigin inst) True no inst), loc) @@ -590,7 +591,7 @@ ppInstHead :: LinksInfo -> Splice -> Unicode -> Qualification             -> InstOrigin DocName             -> Bool -- ^ Is instance orphan             -> Int  -- ^ Normal -           -> InstHead DocName +           -> InstHead DocNameI             -> SubDecl  ppInstHead links splice unicode qual mdoc origin orphan no ihd@(InstHead {..}) =      case ihdInstType of @@ -624,7 +625,7 @@ ppInstHead links splice unicode qual mdoc origin orphan no ihd@(InstHead {..}) =  ppInstanceAssocTys :: LinksInfo -> Splice -> Unicode -> Qualification -                   -> [PseudoFamilyDecl DocName] +                   -> [PseudoFamilyDecl DocNameI]                     -> [Html]  ppInstanceAssocTys links splice unicode qual =      map ppFamilyDecl' @@ -633,7 +634,7 @@ ppInstanceAssocTys links splice unicode qual =  ppInstanceSigs :: LinksInfo -> Splice -> Unicode -> Qualification -              -> [Sig DocName] +              -> [Sig DocNameI]                -> [Html]  ppInstanceSigs links splice unicode qual sigs = do      TypeSig lnames typ <- sigs @@ -648,7 +649,7 @@ lookupAnySubdoc :: Eq id1 => id1 -> [(id1, DocForDecl id2)] -> DocForDecl id2  lookupAnySubdoc n = fromMaybe noDocForDecl . lookup n -instanceId :: InstOrigin DocName -> Int -> Bool -> InstHead DocName -> String +instanceId :: InstOrigin DocName -> Int -> Bool -> InstHead DocNameI -> String  instanceId origin no orphan ihd = concat $      [ "o:" | orphan ] ++      [ qual origin @@ -668,8 +669,8 @@ instanceId origin no orphan ihd = concat $  -- TODO: print contexts -ppShortDataDecl :: Bool -> Bool -> TyClDecl DocName -                -> [(HsDecl DocName,DocForDecl DocName)] +ppShortDataDecl :: Bool -> Bool -> TyClDecl DocNameI +                -> [(HsDecl DocNameI, DocForDecl DocName)]                  -> Unicode -> Qualification -> Html  ppShortDataDecl summary dataInst dataDecl pats unicode qual @@ -707,10 +708,10 @@ ppShortDataDecl summary dataInst dataDecl pats unicode qual              ] -ppDataDecl :: Bool -> LinksInfo -> [DocInstance DocName] -> [(DocName, Fixity)] -> +ppDataDecl :: Bool -> LinksInfo -> [DocInstance DocNameI] -> [(DocName, Fixity)] ->                [(DocName, DocForDecl DocName)] -> -              SrcSpan -> Documentation DocName -> TyClDecl DocName -> -              [(HsDecl DocName,DocForDecl DocName)] -> +              SrcSpan -> Documentation DocName -> TyClDecl DocNameI -> +              [(HsDecl DocNameI, DocForDecl DocName)] ->                Splice -> Unicode -> Qualification -> Html  ppDataDecl summary links instances fixities subdocs loc doc dataDecl pats             splice unicode qual @@ -759,7 +760,7 @@ ppDataDecl summary links instances fixities subdocs loc doc dataDecl pats -ppShortConstr :: Bool -> ConDecl DocName -> Unicode -> Qualification -> Html +ppShortConstr :: Bool -> ConDecl DocNameI -> Unicode -> Qualification -> Html  ppShortConstr summary con unicode qual = cHead <+> cBody <+> cFoot    where      (cHead,cBody,cFoot) = ppShortConstrParts summary False con unicode qual @@ -767,7 +768,7 @@ ppShortConstr summary con unicode qual = cHead <+> cBody <+> cFoot  -- returns three pieces: header, body, footer so that header & footer can be  -- incorporated into the declaration -ppShortConstrParts :: Bool -> Bool -> ConDecl DocName -> Unicode -> Qualification -> (Html, Html, Html) +ppShortConstrParts :: Bool -> Bool -> ConDecl DocNameI -> Unicode -> Qualification -> (Html, Html, Html)  ppShortConstrParts summary dataInst con unicode qual = case con of    ConDeclH98{} -> case con_details con of      PrefixCon args -> @@ -808,7 +809,7 @@ ppShortConstrParts summary dataInst con unicode qual = case con of  -- ppConstrHdr is for (non-GADT) existentials constructors' syntax -ppConstrHdr :: Bool -> [Name] -> HsContext DocName -> Unicode +ppConstrHdr :: Bool -> [Name] -> HsContext DocNameI -> Unicode              -> Qualification -> Html  ppConstrHdr forall_ tvs ctxt unicode qual   = (if null tvs then noHtml else ppForall) @@ -822,7 +823,7 @@ ppConstrHdr forall_ tvs ctxt unicode qual               | otherwise = noHtml  ppSideBySideConstr :: [(DocName, DocForDecl DocName)] -> [(DocName, Fixity)] -                   -> Unicode -> Qualification -> LConDecl DocName -> SubDecl +                   -> Unicode -> Qualification -> LConDecl DocNameI -> SubDecl  ppSideBySideConstr subdocs fixities unicode qual (L _ con)   = (decl, mbDoc, fieldPart)   where @@ -852,7 +853,7 @@ ppSideBySideConstr subdocs fixities unicode qual (L _ con)      doRecordFields fields = subFields qual        (map (ppSideBySideField subdocs unicode qual) (map unLoc fields)) -    doGADTCon :: Located (HsType DocName) -> Html +    doGADTCon :: Located (HsType DocNameI) -> Html      doGADTCon ty = ppOcc <+> dcolon unicode          -- ++AZ++ make this prepend "{..}" when it is a record style GADT          <+> ppLType unicode qual HideEmptyContexts ty @@ -880,7 +881,7 @@ ppSideBySideConstr subdocs fixities unicode qual (L _ con)  ppSideBySideField :: [(DocName, DocForDecl DocName)] -> Unicode -> Qualification -                  -> ConDeclField DocName -> SubDecl +                  -> ConDeclField DocNameI -> SubDecl  ppSideBySideField subdocs unicode qual (ConDeclField names ltype _) =    ( hsep (punctuate comma (map ((ppBinder False) . rdrNameOcc . unLoc . rdrNameFieldOcc . unLoc) names))        <+> dcolon unicode @@ -894,7 +895,7 @@ ppSideBySideField subdocs unicode qual (ConDeclField names ltype _) =      mbDoc = lookup (selectorFieldOcc $ unLoc $ head names) subdocs >>= combineDocumentation . fst -ppShortField :: Bool -> Unicode -> Qualification -> ConDeclField DocName -> Html +ppShortField :: Bool -> Unicode -> Qualification -> ConDeclField DocNameI -> Html  ppShortField summary unicode qual (ConDeclField names ltype _)    = hsep (punctuate comma (map ((ppBinder summary) . rdrNameOcc . unLoc . rdrNameFieldOcc . unLoc) names))      <+> dcolon unicode <+> ppLType unicode qual HideEmptyContexts ltype @@ -902,7 +903,7 @@ ppShortField summary unicode qual (ConDeclField names ltype _)  -- | Print the LHS of a data\/newtype declaration.  -- Currently doesn't handle 'data instance' decls or kind signatures -ppDataHeader :: Bool -> TyClDecl DocName -> Unicode -> Qualification -> Html +ppDataHeader :: Bool -> TyClDecl DocNameI -> Unicode -> Qualification -> Html  ppDataHeader summary decl@(DataDecl { tcdDataDefn =                                           HsDataDefn { dd_ND = nd                                                      , dd_ctxt = ctxt @@ -964,33 +965,33 @@ maybeParen ctxt_prec op_prec p | ctxt_prec >= op_prec = parens p                                 | otherwise            = p -ppLType, ppLParendType, ppLFunLhType :: Unicode -> Qualification -> HideEmptyContexts -> Located (HsType DocName) -> Html +ppLType, ppLParendType, ppLFunLhType :: Unicode -> Qualification -> HideEmptyContexts -> Located (HsType DocNameI) -> Html  ppLType       unicode qual emptyCtxts y = ppType unicode qual emptyCtxts (unLoc y)  ppLParendType unicode qual emptyCtxts y = ppParendType unicode qual emptyCtxts (unLoc y)  ppLFunLhType  unicode qual emptyCtxts y = ppFunLhType unicode qual emptyCtxts (unLoc y) -ppCtxType :: Unicode -> Qualification -> HsType DocName -> Html +ppCtxType :: Unicode -> Qualification -> HsType DocNameI -> Html  ppCtxType unicode qual ty = ppr_mono_ty pREC_CTX ty unicode qual HideEmptyContexts -ppType, ppParendType, ppFunLhType :: Unicode -> Qualification -> HideEmptyContexts -> HsType DocName -> Html +ppType, ppParendType, ppFunLhType :: Unicode -> Qualification -> HideEmptyContexts -> HsType DocNameI -> Html  ppType       unicode qual emptyCtxts ty = ppr_mono_ty pREC_TOP ty unicode qual emptyCtxts  ppParendType unicode qual emptyCtxts ty = ppr_mono_ty pREC_CON ty unicode qual emptyCtxts  ppFunLhType  unicode qual emptyCtxts ty = ppr_mono_ty pREC_FUN ty unicode qual emptyCtxts -ppHsTyVarBndr :: Unicode -> Qualification -> HsTyVarBndr DocName -> Html +ppHsTyVarBndr :: Unicode -> Qualification -> HsTyVarBndr DocNameI -> Html  ppHsTyVarBndr _       qual (UserTyVar (L _ name)) =      ppDocName qual Raw False name  ppHsTyVarBndr unicode qual (KindedTyVar name kind) =      parens (ppDocName qual Raw False (unLoc name) <+> dcolon unicode <+>              ppLKind unicode qual kind) -ppLKind :: Unicode -> Qualification -> LHsKind DocName -> Html +ppLKind :: Unicode -> Qualification -> LHsKind DocNameI -> Html  ppLKind unicode qual y = ppKind unicode qual (unLoc y) -ppKind :: Unicode -> Qualification -> HsKind DocName -> Html +ppKind :: Unicode -> Qualification -> HsKind DocNameI -> Html  ppKind unicode qual ki = ppr_mono_ty pREC_TOP ki unicode qual HideEmptyContexts -ppPatSigType :: Unicode -> Qualification -> LHsType DocName -> Html +ppPatSigType :: Unicode -> Qualification -> LHsType DocNameI -> Html  ppPatSigType unicode qual typ =    let emptyCtxts =          if hasNonEmptyContext typ && isFirstContextEmpty typ @@ -1013,14 +1014,14 @@ ppPatSigType unicode qual typ =          HsFunTy _ s -> isFirstContextEmpty s          _ -> False -ppForAllPart :: Unicode -> Qualification -> [LHsTyVarBndr DocName] -> Html +ppForAllPart :: Unicode -> Qualification -> [LHsTyVarBndr DocNameI] -> Html  ppForAllPart unicode qual tvs = hsep (forallSymbol unicode : ppTyVars unicode qual tvs) +++ dot -ppr_mono_lty :: Int -> LHsType DocName -> Unicode -> Qualification -> HideEmptyContexts -> Html +ppr_mono_lty :: Int -> LHsType DocNameI -> Unicode -> Qualification -> HideEmptyContexts -> Html  ppr_mono_lty ctxt_prec ty = ppr_mono_ty ctxt_prec (unLoc ty) -ppr_mono_ty :: Int -> HsType DocName -> Unicode -> Qualification -> HideEmptyContexts -> Html +ppr_mono_ty :: Int -> HsType DocNameI -> Unicode -> Qualification -> HideEmptyContexts -> Html  ppr_mono_ty ctxt_prec (HsForAllTy tvs ty) unicode qual emptyCtxts    = maybeParen ctxt_prec pREC_FUN $      ppForAllPart unicode qual tvs <+> ppr_mono_lty pREC_TOP ty unicode qual emptyCtxts @@ -1089,8 +1090,7 @@ ppr_tylit :: HsTyLit -> Html  ppr_tylit (HsNumTy _ n) = toHtml (show n)  ppr_tylit (HsStrTy _ s) = toHtml (show s) - -ppr_fun_ty :: Int -> LHsType DocName -> LHsType DocName -> Unicode -> Qualification -> HideEmptyContexts -> Html +ppr_fun_ty :: Int -> LHsType DocNameI -> LHsType DocNameI -> Unicode -> Qualification -> HideEmptyContexts -> Html  ppr_fun_ty ctxt_prec ty1 ty2 unicode qual emptyCtxts    = let p1 = ppr_mono_lty pREC_FUN ty1 unicode qual HideEmptyContexts          p2 = ppr_mono_lty pREC_TOP ty2 unicode qual emptyCtxts  | 
