Accumulate Haddock comments in P (#17544, #17561, #8944)
Haddock comments are, first and foremost, comments. It's very annoying to incorporate them into the grammar. We can take advantage of an important property: adding a Haddock comment does not change the parse tree in any way other than wrapping some nodes in HsDocTy and the like (and if it does, that's a bug). This patch implements the following: * Accumulate Haddock comments with their locations in the P monad. This is handled in the lexer. * After parsing, do a pass over the AST to associate Haddock comments with AST nodes using location info. * Report the leftover comments to the user as a warning (-Winvalid-haddock).
Showing
- compiler/GHC/Driver/Backpack.hs 1 addition, 0 deletionscompiler/GHC/Driver/Backpack.hs
- compiler/GHC/Driver/Flags.hs 1 addition, 0 deletionscompiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Session.hs 2 additions, 1 deletioncompiler/GHC/Driver/Session.hs
- compiler/GHC/Hs.hs 5 additions, 2 deletionscompiler/GHC/Hs.hs
- compiler/GHC/Hs/Decls.hs 53 additions, 1 deletioncompiler/GHC/Hs/Decls.hs
- compiler/GHC/Hs/Doc.hs 4 additions, 0 deletionscompiler/GHC/Hs/Doc.hs
- compiler/GHC/Hs/Stats.hs 1 addition, 1 deletioncompiler/GHC/Hs/Stats.hs
- compiler/GHC/Parser.y 130 additions, 337 deletionscompiler/GHC/Parser.y
- compiler/GHC/Parser/Lexer.x 72 additions, 34 deletionscompiler/GHC/Parser/Lexer.x
- compiler/GHC/Parser/PostProcess.hs 64 additions, 150 deletionscompiler/GHC/Parser/PostProcess.hs
- compiler/GHC/Parser/PostProcess/Haddock.hs 1540 additions, 25 deletionscompiler/GHC/Parser/PostProcess/Haddock.hs
- compiler/GHC/Tc/Module.hs 1 addition, 1 deletioncompiler/GHC/Tc/Module.hs
- compiler/GHC/ThToHs.hs 1 addition, 1 deletioncompiler/GHC/ThToHs.hs
- compiler/GHC/Types/SrcLoc.hs 133 additions, 8 deletionscompiler/GHC/Types/SrcLoc.hs
- compiler/GHC/Utils/Misc.hs 60 additions, 0 deletionscompiler/GHC/Utils/Misc.hs
- docs/users_guide/8.12.1-notes.rst 44 additions, 0 deletionsdocs/users_guide/8.12.1-notes.rst
- docs/users_guide/using-warnings.rst 19 additions, 0 deletionsdocs/users_guide/using-warnings.rst
- testsuite/tests/ghc-api/T11579.hs 5 additions, 4 deletionstestsuite/tests/ghc-api/T11579.hs
- testsuite/tests/ghc-api/T11579.stdout 1 addition, 1 deletiontestsuite/tests/ghc-api/T11579.stdout
- testsuite/tests/ghc-api/annotations/comments.stdout 3 additions, 4 deletionstestsuite/tests/ghc-api/annotations/comments.stdout
Loading
Please register or sign in to comment