aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Waern <david.waern@gmail.com>2009-09-06 18:57:45 +0000
committerDavid Waern <david.waern@gmail.com>2009-09-06 18:57:45 +0000
commitca0fb976d773c8bb1b4710ff1e32bb3363b6c4f0 (patch)
tree27c5e2eab11949785ebf4fcc2ca4a1fb661a7e09 /src
parent6870e6ded2380a9a3749795980631e16e0c1406d (diff)
Move toHsInstHead to Haddock.Convert and call it synifyInstHead
Diffstat (limited to 'src')
-rw-r--r--src/Haddock/Convert.hs9
-rw-r--r--src/Haddock/Interface/AttachInstances.hs11
-rw-r--r--src/Haddock/Interface/Create.hs2
3 files changed, 10 insertions, 12 deletions
diff --git a/src/Haddock/Convert.hs b/src/Haddock/Convert.hs
index e1f9493a..277b42a4 100644
--- a/src/Haddock/Convert.hs
+++ b/src/Haddock/Convert.hs
@@ -20,7 +20,7 @@ import BasicTypes
import TysPrim ( alphaTyVars )
import TysWiredIn ( listTyConName )
import Bag ( emptyBag )
-import SrcLoc ( Located, noLoc )
+import SrcLoc ( Located, noLoc, unLoc )
-- the main function here! yay!
tyThingToLHsDecl :: TyThing -> LHsDecl Name
@@ -275,3 +275,10 @@ synifyType s forallty@(ForAllTy _tv _ty) =
in noLoc $
HsForAllTy forallPlicitness sTvs sCtx sTau
+synifyInstHead :: ([TyVar], [PredType], Class, [Type]) ->
+ ([HsPred Name], Name, [HsType Name])
+synifyInstHead (_, preds, cls, ts) =
+ ( map (unLoc . synifyPred) preds
+ , getName cls
+ , map (unLoc . synifyType WithinType) ts
+ )
diff --git a/src/Haddock/Interface/AttachInstances.hs b/src/Haddock/Interface/AttachInstances.hs
index 9b163fb8..b996f278 100644
--- a/src/Haddock/Interface/AttachInstances.hs
+++ b/src/Haddock/Interface/AttachInstances.hs
@@ -51,7 +51,7 @@ attachInstances = mapM attach
mb_info <- getAllInfo (unLoc (tcdLName d))
return $ export { expItemInstances = case mb_info of
Just (_, _, instances) ->
- map toHsInstHead . sortImage instHead . map instanceHead $ instances
+ map synifyInstHead . sortImage instHead . map instanceHead $ instances
Nothing ->
[]
}
@@ -108,12 +108,3 @@ funTyConName = mkWiredInName gHC_PRIM
funTyConKey
(ATyCon funTyCon) -- Relevant TyCon
BuiltInSyntax
-
-
-toHsInstHead :: ([TyVar], [PredType], Class, [Type]) -> InstHead Name
-toHsInstHead (_, preds, cls, ts) =
- ( map (unLoc . synifyPred) preds
- , getName cls
- , map (unLoc . synifyType WithinType) ts
- )
-
diff --git a/src/Haddock/Interface/Create.hs b/src/Haddock/Interface/Create.hs
index 512c4e9e..298f96ac 100644
--- a/src/Haddock/Interface/Create.hs
+++ b/src/Haddock/Interface/Create.hs
@@ -514,7 +514,7 @@ mkExportItems modMap this_mod gre exported_names decls declMap
-- Aren't the .hi files always present?
return [ ExportNoDecl t [] ]
Just tyThing -> do
- let hsdecl = tyThingToHsSynSig tyThing
+ let hsdecl = tyThingToLHsDecl tyThing
-- This is not the ideal way to implement haddockumentation
-- for functions/values without explicit type signatures.
--