diff options
author | Vladislav Zavialov <vlad.z.4096@gmail.com> | 2019-12-05 03:06:40 +0300 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2020-07-21 14:50:01 -0400 |
commit | 19e80b9af252eee760dc047765a9930ef00067ec (patch) | |
tree | cb45fce4b1e74e1a82c5bd926fda0e92de1964c1 /testsuite/tests/parser | |
parent | 58235d46bd4e9fbf69bd82969b29cd9c6ab051e1 (diff) | |
download | haskell-19e80b9af252eee760dc047765a9930ef00067ec.tar.gz |
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).
Diffstat (limited to 'testsuite/tests/parser')
-rw-r--r-- | testsuite/tests/parser/should_compile/DumpParsedAst.stderr | 2 | ||||
-rw-r--r-- | testsuite/tests/parser/should_compile/KindSigs.stderr | 2 | ||||
-rw-r--r-- | testsuite/tests/parser/should_compile/T15323.stderr | 2 |
3 files changed, 6 insertions, 0 deletions
diff --git a/testsuite/tests/parser/should_compile/DumpParsedAst.stderr b/testsuite/tests/parser/should_compile/DumpParsedAst.stderr index b14b69dc04..5a6c569ad3 100644 --- a/testsuite/tests/parser/should_compile/DumpParsedAst.stderr +++ b/testsuite/tests/parser/should_compile/DumpParsedAst.stderr @@ -3,6 +3,8 @@ ({ DumpParsedAst.hs:1:1 } (HsModule + (VirtualBraces + (1)) (Just ({ DumpParsedAst.hs:4:8-20 } {ModuleName: DumpParsedAst})) diff --git a/testsuite/tests/parser/should_compile/KindSigs.stderr b/testsuite/tests/parser/should_compile/KindSigs.stderr index 689cc4187f..c5976593d3 100644 --- a/testsuite/tests/parser/should_compile/KindSigs.stderr +++ b/testsuite/tests/parser/should_compile/KindSigs.stderr @@ -3,6 +3,8 @@ ({ KindSigs.hs:1:1 } (HsModule + (VirtualBraces + (1)) (Just ({ KindSigs.hs:6:8-15 } {ModuleName: KindSigs})) diff --git a/testsuite/tests/parser/should_compile/T15323.stderr b/testsuite/tests/parser/should_compile/T15323.stderr index fd48dbf203..7b8436f2cb 100644 --- a/testsuite/tests/parser/should_compile/T15323.stderr +++ b/testsuite/tests/parser/should_compile/T15323.stderr @@ -3,6 +3,8 @@ ({ T15323.hs:1:1 } (HsModule + (VirtualBraces + (1)) (Just ({ T15323.hs:3:8-13 } {ModuleName: T15323})) |