X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fmain%2FMkIface.lhs;h=796d51d0cbb89e7deeed5170d83bacb8236c004d;hb=68afb16743cafd5b7495771d359891c6dfc5a186;hp=489183777ac35c5e44a1209ec736c805b2b6736f;hpb=3990d44447b6c38a2effd68beb50da459dfd19fc;p=ghc-hetmet.git diff --git a/ghc/compiler/main/MkIface.lhs b/ghc/compiler/main/MkIface.lhs index 4891837..796d51d 100644 --- a/ghc/compiler/main/MkIface.lhs +++ b/ghc/compiler/main/MkIface.lhs @@ -24,6 +24,7 @@ import Bag ( emptyBag, snocBag, bagToList ) import Class ( GenClass(..){-instance NamedThing-}, GenClassOp(..) ) import CmdLineOpts ( opt_ProduceHi ) import FieldLabel ( FieldLabel{-instance NamedThing-} ) +import FiniteMap ( fmToList ) import HsSyn import Id ( idType, dataConSig, dataConFieldLabels, dataConStrictMarks, StrictnessMark(..), @@ -128,15 +129,34 @@ endIface (Just if_hdl) = hPutStr if_hdl "\n" >> hClose if_hdl \begin{code} ifaceUsages Nothing{-no iface handle-} _ = return () -ifaceUsages (Just if_hdl) version_info - = hPutStr if_hdl "__usages__\nFoo 1" -- a stub, obviously +ifaceUsages (Just if_hdl) usages + | null usages_list + = return () + | otherwise + = hPutStr if_hdl "__usages__\n" >> + hPutStr if_hdl (ppShow 10000 (ppAboves (map pp_uses usages_list))) + where + usages_list = fmToList usages + + pp_uses (m, (mv, versions)) + = ppBesides [ppPStr m, ppSP, ppInt mv, ppPStr SLIT(" :: "), + pp_versions (fmToList versions), ppSemi] \end{code} \begin{code} ifaceVersions Nothing{-no iface handle-} _ = return () ifaceVersions (Just if_hdl) version_info - = hPutStr if_hdl "\n__versions__\nFoo 1" -- a stub, obviously + | null version_list + = return () + | otherwise + = hPutStr if_hdl "\n__versions__\n" >> + hPutStr if_hdl (ppShow 10000 (pp_versions version_list)) + where + version_list = fmToList version_info + +pp_versions nvs + = ppInterleave ppComma [ ppCat [ppPStr n, ppInt v] | (n,v) <- nvs ] \end{code} \begin{code}