aboutsummaryrefslogtreecommitdiff
path: root/haddock-api/src/Haddock/Interface
Commit message (Collapse)AuthorAgeFilesLines
* Don't include names with empty subordinates in maps (#644)Alex Biehl2017-06-231-1/+9
| | | These are unecessary anyway and just blow up interface size
* Lookup fixities for reexports without subordinates (#642)Alex Biehl2017-06-231-1/+2
| | | | | 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 (#639)Doug Wilson2017-06-221-42/+40
| | | | | | | | | | | | * 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 (#627)Christiaan Baaij2017-06-093-64/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Use NameSet for isExported check (#632)Alex Biehl2017-06-041-3/+3
|
* Allow user defined signatures for pattern synonyms (#631)Alex Biehl2017-06-031-0/+1
|
* Make haddock-library and haddock-api warning free (#626)Alex Biehl2017-05-301-1/+0
|
* Improve Syb code (#621)Doug Wilson2017-05-271-35/+23
| | | | | | | | | | | | 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.
* Expand signatures for class declarationsAlexander Biehl2017-04-251-7/+17
|
* Explicit import list ofr Control.DeepSeq in Haddock.Interface.Createalexbiehl2017-04-111-1/+1
|
* Read files for hyperlinker eagerlyalexbiehl2017-04-111-4/+8
| | | | This also exposes Documentation.Haddock.Utf8
* Better Backpack support with signature merging.Edward Z. Yang2017-03-231-12/+34
| | | | | | | | | | | | | | | | | | | | 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)
* TODO on moduleExports.Edward Z. Yang2017-03-231-1/+5
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 94610e9b446324f4231fa6ad4c6ac51e4eba8c0e)
* More docs.Edward Z. Yang2017-03-231-0/+5
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 3d77b373dd5807d5d956719dd7c849a11534fa6a)
* Documentation.Edward Z. Yang2017-03-231-5/+22
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 0671abfe7e8ceae2269467a30b77ed9d9656e2cc)
* Add a field marking if interface is a signature or not.Edward Z. Yang2017-03-231-0/+1
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 930cfbe58e2e87f5a4d431d89a3c204934e6e858)
* Correctly handle Backpack identity/semantic modules.Edward Z. Yang2017-03-231-21/+54
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> (cherry picked from commit 26d6c150b31bc4580ab17cfd07b6e7f9afe10737)
* Update Haddock w.r.t. new HsImplicitBndrsRichard Eisenberg2017-03-141-1/+2
|
* Merge branch 'ghc-head'Ben Gamari2017-03-104-56/+92
|\
| * Changes to match #13163 in GHCAlan Zimmerman2017-01-261-4/+4
| |
| * Matching changes for GHC wip/T12942Alan Zimmerman2016-12-121-10/+18
| |
| * Match changes in GHC wip/T3384 branchAlan Zimmerman2016-12-073-15/+15
| |
| * Haddock changes for T10598Ryan Scott2016-09-302-3/+7
| | | | | | | | See https://ghc.haskell.org/trac/ghc/ticket/10598
| * Add support for unboxed sumsÖmer Sinan Ağacan2016-07-212-0/+2
| |
| * GhcUtils: Changes for multi-pattern signaturesBen Gamari2016-07-011-3/+3
| |
| * Follow GHC re-adding FunTySimon Peyton Jones2016-06-151-6/+7
| |
| * Follow changes to LHsSigWcTypeSimon Peyton Jones2016-06-132-4/+4
| |
| * Merge remote-tracking branch 'RyanGlScott/ghc-head' into ghc-headBen Gamari2016-05-112-11/+32
| |\
| | * Render Haddocks for derived instancesRyan Scott2016-05-042-11/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | Merge remote-tracking branch 'origin/master' into ghc-headBen Gamari2016-05-111-1/+1
| |\ \ | | |/ | |/|
| * | Track change to HsGroupSimon Peyton Jones2016-04-201-2/+2
| | | | | | | | | | | | This relates to a big GHC patch for Trac #11348
| * | Changes due to fix for GHC#11648.Richard Eisenberg2016-03-141-2/+2
| | |
* | | Merge pull request #504 from Helkafen/issue-280Sebastian Méric de Bellefon2016-05-281-1/+1
|\ \ \ | | | | | | | | Fix #280. Parsing of module header
| * | | Fix #280. Parsing of module headerSebastian Meric de Bellefon2016-05-151-1/+1
| | |/ | |/| | | | | | | The initial newlines were counted as indentation spaces, thus disturbing the parsing of next lines
* | | Remove misplaced haddock commentalexbiehl2016-05-261-1/+1
| | |
* | | Don't consider default class ops when looking for declsBen Gamari2016-05-221-2/+7
| | | | | | | | | | | | | | | When we are looking for an operation within a class we don't care about `default`-type declarations. This was the cause of #505.
* | | Create: Better debug outputBen Gamari2016-05-221-1/+4
| | | | | | | | | | | | For tracking down #505
* | | Create: Remove redundant importsBen Gamari2016-05-221-2/+1
|/ /
* | Create: Mark a comment as TODOBen Gamari2016-05-101-1/+1
| |
* | Changes due to fix for GHC#11648.Richard Eisenberg2016-03-151-2/+2
|/ | | | (cherry picked from commit bb994de1ab0c76d1aaf1e39c54158db2526d31f1)
* Add missing importBen Gamari2015-12-261-0/+1
|
* Merge remote-tracking branch 'idontgetoutmuch/ghc-head' into ghc-headBen Gamari2015-12-251-0/+2
|\
| * Fix the documentation for haddock itself.Dominic Steinitz2015-12-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change notation and add support for inline math. Allow newlines in display math. Add a command line option for the mathjax url (you might want to use a locally installed version). Rebase tests because of extra url and version change. Respond to (some of the) comments. Fix warnings in InterfaceFile.hs
| * Handle inline math with mathjax.Dominic Steinitz2015-12-211-0/+1
| |
* | Merge remote-tracking branch 'origin/ghc-head' into ghc-headBen Gamari2015-12-231-1/+0
|\ \
| * | Follow removal of NamedWildCard from HsTypeSimon Peyton Jones2015-12-221-1/+0
| |/
* | Merge remote-tracking branch 'phadej/orphans' into ghc-headBen Gamari2015-12-203-10/+31
|\ \ | |/ |/|
| * Have source links for orphan instancesOleg Grenrus2015-09-281-12/+8
| |
| * Generate docs for orphan instancesOleg Grenrus2015-09-273-17/+41
| |
* | Fix fallout from wildcards refactoringBen Gamari2015-12-162-3/+7
| | | | | | | | | | | | | | | | | | | | | | The wildcard refactoring was introduced a new type of signature, `ClassOpSig`, which is carried by typeclasses. The original patch adapting Haddock for this change missed a few places where this constructor needed to be handled, resulting in no class methods in documentation produced by Haddock. Additionally, this moves and renames the `isVanillaLSig` helper from GHC's HsBinds module into GhcUtils, since it is only used by Haddock.