diff options
author | davve@dtek.chalmers.se <David Waern> | 2007-03-25 01:23:25 +0000 |
---|---|---|
committer | davve@dtek.chalmers.se <David Waern> | 2007-03-25 01:23:25 +0000 |
commit | 11ebf08d5ef30375ba5585b6079f696d49402c3f (patch) | |
tree | 0287ff78e5f7f0658010c6c18993415693bd9ab9 /src/Haddock/Utils/GHC.hs | |
parent | bc59490468c17bfc181ffe51cf428314195ad8a0 (diff) |
De-flatten the namespace
Diffstat (limited to 'src/Haddock/Utils/GHC.hs')
-rw-r--r-- | src/Haddock/Utils/GHC.hs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/Haddock/Utils/GHC.hs b/src/Haddock/Utils/GHC.hs new file mode 100644 index 00000000..b6fb54d4 --- /dev/null +++ b/src/Haddock/Utils/GHC.hs @@ -0,0 +1,26 @@ +module Haddock.Utils.GHC where + +import Debug.Trace + +import GHC +import HsSyn +import SrcLoc +import HscTypes +import Outputable + +getMainDeclBinder :: HsDecl name -> Maybe name +getMainDeclBinder (TyClD d) = Just (tcdName d) +getMainDeclBinder (ValD d) + = case collectAcc d [] of + [] -> Nothing + (name:_) -> Just (unLoc name) +getMainDeclBinder (SigD d) = sigNameNoLoc d +getMainDeclBinder (ForD (ForeignImport name _ _)) = Just (unLoc name) +getMainDeclBinder (ForD (ForeignExport name _ _)) = Nothing +getMainDeclBinder _ = Nothing + +-- To keep if if minf_iface is re-introduced +--modInfoName = moduleName . mi_module . minf_iface +--modInfoMod = mi_module . minf_iface + +trace_ppr x y = trace (showSDoc (ppr x)) y |