| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
|
| |
| |
| |
| |
| |
| | |
* Make per-argument docs for class methods work again
* Test case
|
| |
| |
| | |
These are unecessary anyway and just blow up interface size
|
| |
| |
| |
| |
| | |
So we agree that reexported declarations which do not have subordinates (for example top-level functions) shouldn't have gotten fixities reexported according to the current logic. I wondered why for example Prelude.($) which is obviously reexported from GHC.Base has fixities attached (c.f. http://hackage.haskell.org/package/base-4.9.1.0/docs/Prelude.html#v:-36-).
The reason is this: In mkMaps we lookup all the subordinates of top-level declarations, of course top-level functions don't have subordinates so for them the resulting list is empty. In #644 I established the invariant that there won't be any empty lists in the subordinate map. Without the patch from #642 top-level functions now started to fail reexporting their fixities.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Use new function getNameToInstancesIndex instead of tcRnGetInfo
There is some significant performance improvement in the ghc testsuite.
haddock.base: -23.3%
haddock.Cabal: -16.7%
haddock.compiler: -19.8%
* Remove unused imports
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Haddock support for bundled pattern synonyms
* Add fixities to bundled pattern synonyms
* Add bundled pattern synonyms to the synopsis
* Store bundled pattern fixities in expItemFixities
* Add test for bundled pattern synonyms
* Stop threading fixities
* Include bundled pattern synonyms for re-exported data types
Sadly, fixity information isn't found for re-exported data types
* Support for pattern synonyms
* Modify tests after #631
* Test some reexport variations
* Also lookup bundled pattern synonyms from `InstalledInterface`s
* Check isExported for bundled pattern synonyms
* Pattern synonym is exported check
* Always look for pattern synonyms in the current module
Another overlooked cornercase
* Account for types named twice in export lists
Also introduce a fast function for nubbing on a `Name` and use it
throughout the code base.
* correct fixities for reexported pattern synonyms
* Fuse concatMap and map
* Remove obsolete import
* Add pattern synonyms to visible exports
* Fix test
* Remove corner case
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Specialize.hs and Ast.hs are modified to have their Syb code not recurse into
Name or Id in HsSyn types.
Specialize.hs is refactored to have fewer calls to Syb functions.
Syb.hs has some foldl calls replaced with foldl' calls.
There is still a lot of performance on the floor of Ast.hs. The RenamedSource
is traversed many times, and lookupBySpan is very inefficient. everywhereBut and
lookupBySpan dominate the runtime whenever --hyperlinked-source is passed.
|
| | |
|
| | |
|
| |
| |
| |
| | |
This also exposes Documentation.Haddock.Utf8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When we merge signatures, we gain exports that don't
necessarily have a source-level declaration corresponding
to them. This meant Haddock dropped them.
There are two big limitations:
* If there's no export list, we won't report inherited
signatures.
* If the type has a subordinate, the current hiDecl
implementation doesn't reconstitute them.
These are probably worth fixing eventually, but this gets
us to minimum viable functionality.
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
(cherry picked from commit 6cc832dfb1de6088a4abcaae62b25a7e944d55c3)
|
| |
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
(cherry picked from commit 94610e9b446324f4231fa6ad4c6ac51e4eba8c0e)
|
| |
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
(cherry picked from commit 3d77b373dd5807d5d956719dd7c849a11534fa6a)
|
| |
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
(cherry picked from commit 0671abfe7e8ceae2269467a30b77ed9d9656e2cc)
|
| |
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
(cherry picked from commit 930cfbe58e2e87f5a4d431d89a3c204934e6e858)
|
| |
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
(cherry picked from commit 26d6c150b31bc4580ab17cfd07b6e7f9afe10737)
|
| | |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There is some performance improvement.
GHC compiler:
| version | bytes allocated | cpu_seconds
---------------------------------
| before | 56057108648 | 41.0
| after | 51592019560 | 35.1
base:
| version | bytes allocated | cpu_seconds
---------------------------------
| before | 25174011784 | 14.6
| after | 23712637272 | 13.1
Cabal:
| version | bytes allocated | cpu_seconds
---------------------------------
| before | 18754966920 | 12.6
| after | 18198208864 | 11.6
|
| | | |
|
| | |
| | |
| | |
| | | |
See https://ghc.haskell.org/trac/ghc/wiki/ImplementingTreesThatGrow
|
|\| | |
|
| |\ \
| | | |
| | | | |
Fix #280. Parsing of module header
|
| | | |
| | | |
| | | |
| | | | |
The initial newlines were counted as indentation spaces, thus disturbing the parsing of next lines
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
When we are looking for an operation within a class we don't care about
`default`-type declarations. This was the cause of #505.
|
| | | |
| | | |
| | | |
| | | | |
For tracking down #505
|
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When we merge signatures, we gain exports that don't
necessarily have a source-level declaration corresponding
to them. This meant Haddock dropped them.
There are two big limitations:
* If there's no export list, we won't report inherited
signatures.
* If the type has a subordinate, the current hiDecl
implementation doesn't reconstitute them.
These are probably worth fixing eventually, but this gets
us to minimum viable functionality.
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
| | | |
|
| |/
|/| |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
See https://ghc.haskell.org/trac/ghc/ticket/10598
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently, one can document top-level instance declarations, but derived
instances (both those in `deriving` clauses and standalone `deriving`
instances) do not enjoy the same privilege. This makes the necessary
changes to the Haddock API to enable rendering Haddock comments for
derived instances.
This is part of a fix for Trac #11768.
|
|\ \ \
| |/ /
|/| /
| |/ |
|