diff options
| author | Alan Zimmerman <alan.zimm@gmail.com> | 2015-04-14 01:17:48 -0500 |
|---|---|---|
| committer | Austin Seipp <austin@well-typed.com> | 2015-04-14 01:19:55 -0500 |
| commit | 9eab6feed44ad8beb6703d2e27ce47a8f79d0f49 (patch) | |
| tree | 38e392a5015a051dba69d974b2b5bd0f1374257e /compiler/parser | |
| parent | 8aefc9b746512e91891879ad546e850e8a427d23 (diff) | |
| download | haskell-9eab6feed44ad8beb6703d2e27ce47a8f79d0f49.tar.gz | |
parser: API Annotations : guardquals1 does not annotate commas properly
The `guardquals1` production includes
: guardquals1 ',' qual {% addAnnotation (gl $ last $ unLoc $1) AnnComma
(gl $2) >>
return (sLL $1 $> ($3 : unLoc $1)) }
The AnnComma should be attached to `(gl $ head $ unLoc $1)`, rather than
`last`.
Reviewed By: austin
Differential Revision: https://phabricator.haskell.org/D818
GHC Trac Issues: #10256
Diffstat (limited to 'compiler/parser')
| -rw-r--r-- | compiler/parser/Parser.y | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/parser/Parser.y b/compiler/parser/Parser.y index 8d0b2e2f0c..3a879ba2f6 100644 --- a/compiler/parser/Parser.y +++ b/compiler/parser/Parser.y @@ -2534,7 +2534,7 @@ guardquals :: { Located [LStmt RdrName (LHsExpr RdrName)] } : guardquals1 { L (getLoc $1) (reverse (unLoc $1)) } guardquals1 :: { Located [LStmt RdrName (LHsExpr RdrName)] } - : guardquals1 ',' qual {% addAnnotation (gl $ last $ unLoc $1) AnnComma + : guardquals1 ',' qual {% addAnnotation (gl $ head $ unLoc $1) AnnComma (gl $2) >> return (sLL $1 $> ($3 : unLoc $1)) } | qual { sL1 $1 [$1] } |
