aboutsummaryrefslogtreecommitdiff
path: root/src/Haddock/Interface
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Remove filtering of instancesDavid Waern2008-07-071-2/+2
| | | | | | | We were filtering out all instances for types with unknown names. This was probably an attempt to filter out instances for internal types. I am removing the filtering for the moment, and will try to fix this properly later.
* More support for type families and associated typesDavid Waern2008-07-021-1/+3
| | | | Now we just need to render the instances
* Rename associated typesDavid Waern2008-06-301-5/+7
|
* Rename type patternsDavid Waern2008-06-301-5/+9
|
* Rename TyFamilyDavid Waern2008-06-301-3/+8
|
* Rename ForeignTypeDavid Waern2008-06-301-4/+3
|
* Add LANGUAGE pragmas to source filesDavid Waern2008-05-011-0/+3
|
* Add a flag for turning off all warningsDavid Waern2008-04-111-6/+6
|
* Change the representation of DocNamesDavid Waern2008-02-092-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ross Paterson reported a bug where links would point to the defining module instead of the "best" module for an identifier (e.g Int pointing to GHC.Base instead of Data.Int). This patch fixes this problem by refactoring the way renamed names are represented. Instead of representing them by: > data DocName = Link Name | NoLink Name they are now represented as such: > data DocName = Documented Name Module | Undocumented Name and the the link-env looks like this: > type LinkEnv = Map Name Module There are several reasons for this. First of all, the bug was caused by changing the module part of Names during the renaming process, without changing the Unique field. This caused names to be overwritten during the loading of .haddock files (which caches names using the NameCache of the GHC session). So we might create new Uniques during renaming to fix this (but I'm not sure that would be problem-free). Instead, we just keep the Name and add the Module where the name is best documented, since it can be useful to keep the original Name around (for e.g. source-code location info and for users of the Haddock API). Also, the names Link/NoLink don't really make sense, since wether to use links or not is entirely up to the users of DocName. In the process of following this change into H.Backends.Html I removed the assumption that binder names are Undocumented (which was just an unnecessary assumption, the OccName is the only thing needed to render these). This will probably make it possible to get rid of the renamer and replace it with a traversal from SYB or Uniplate. Since DocName has changed, InterfaceFile has changed so this patch also increments the file-format version. No backwards-compatibility is implemented.
* 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
* Handle infix operators correctly in the Type -> HsType translationDavid Waern2007-12-081-3/+8
|
* addition of type equality support (at least for HTML generation)Wolfgang Jeltsch2007-12-031-0/+4
|
* 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-112-2/+1
|
* Complain if we can't link to wired-in namesDavid Waern2007-11-081-1/+1
|
* Remove OrdName stuffDavid Waern2007-11-081-24/+1
|
* Small bugfix and cleanup in getDeclFromTyClsDavid Waern2007-11-081-5/+6
|
* Remove commented-out codeDavid Waern2007-11-081-14/+1
|
* Filter out all non-vanilla type sigsDavid Waern2007-11-081-10/+13
|
* WibbleDavid Waern2007-11-061-1/+1
|
* Filter out instances with TyCons that are not exportedDavid Waern2007-11-061-6/+16
|
* Don't warn about not being able to link to wired/system/builtin-namesDavid Waern2007-11-051-2/+3
|
* WibbleDavid Waern2007-10-211-0/+6
|
* FIX: Ord for OrdName was not comparing modulesDavid Waern2007-10-211-5/+14
|
* 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-303-37/+37
|
* Add some modules that I forgot to add earlierDavid Waern2007-08-293-0/+1116