aboutsummaryrefslogtreecommitdiff
path: root/src/Haddock/Interface/Create.hs
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove unused import from H.I.CreateDavid Waern2008-07-131-2/+0
|
* Remove FastString import and FSLIT macro in H.I.Create -- they were unusedDavid Waern2008-07-131-2/+0
|
* Refactoring in H.Interface.CreateDavid Waern2008-07-131-193/+125
| | | | | | | | | | | | | | | | | | | | | | | | We were creating a doc map, a declaration map and a list of entities separately by going through the HsGroup. These structures were all used to build the interface of a module. Instead of doing this, we can start by creating a list of declarations from the HsGroup, then collect the docs directly from this list (instead of using the list of entities), creating a documentation map. We no longer need the Entity data type, and we can store a single map from names to declarations and docs in the interface, instead of the declaration map and the doc map. This way, there is only one place where we filter out the declarations that we don't want, and we can remove a lot of code. Another advantage of this is that we can create the exports directly out of the list of declarations when we export the full module contents. (Previously we did a look up for each name to find the declarations). This is faster and removes another point where we depend on names to identify exported declarations, which is good because it eliminates problems with instances (which don't have names).
* Get the all locally defined names from GHC APIDavid Waern2008-07-121-8/+1
| | | | | | We previously had some code to compute all locally defined names in a module including subordinate names. We don't need it since we can get the names from modInfoTyThings in the GHC API.
* Stop using the map from exported names to declarationsDavid Waern2008-07-121-11/+10
| | | | | | | | | | | | | | | During creation of the interface, we were using two maps: one from exported names to declarations, and one from all defined names in the module to declarations. The first contained subordinate names while the second one didn't. The first map was never used to look up names not defined in the associated module, so if we add subordinate names to the second map, we could use it everywhere. That's that this patch does. This simplifies code because we don't have to pass around two maps everywhere. We now store the map from locally defined things in the interface structure instead of the one from exported names.
* More support for type families and associated typesDavid Waern2008-07-021-1/+3
| | | | Now we just need to render the instances
* Manual merge of a patch to the 0.8 branchDavid Waern2008-01-061-13/+16
| | | | | | | Thu Dec 6 15:00:10 CET 2007 Simon Marlow <simonmar@microsoft.com> * Source links must point to the original module, not the referring module
* Fix a bug that made haddock loopDavid Waern2007-11-111-1/+1
|
* Manual merge of an old patch:David Waern2007-11-111-1/+4
| | | | | | | | | | Thu Apr 19 20:23:40 CEST 2007 Wolfgang Jeltsch <g9ks157k@acme.softbase.org> * bug fix When Haddock was invoked with the --ignore-all-exports flag but the ignore-exports module attribute wasn't used, hyperlinks weren't created for non-exported names. This fix might not be as clean as one would wish (since --ignore-all-exports now results in ignore_all_exports = True *and* an additional OptIgnoreExports option for every module) but at least the bug seems to be resolved now.
* Manual merge of a patch from Duncan Coutts that removes the dependency on mtl David Waern2007-11-111-1/+1
|
* Small bugfix and cleanup in getDeclFromTyClsDavid Waern2007-11-081-5/+6
|
* Filter out all non-vanilla type sigsDavid Waern2007-11-081-10/+13
|
* Improve parsing of doc optionsDavid Waern2007-10-021-21/+6
|
* Go back to using a ModuleMap instead of LookupMod - fixes a bugDavid Waern2007-10-011-19/+15
|
* Rename HaddockModule to InterfaceDavid Waern2007-08-301-24/+24
|
* Add some modules that I forgot to add earlierDavid Waern2007-08-291-0/+578