| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Now we just need to render the instances
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|