diff options
author | Vladislav Zavialov <vlad.z.4096@gmail.com> | 2019-02-01 20:39:57 +0300 |
---|---|---|
committer | Vladislav Zavialov <vlad.z.4096@gmail.com> | 2019-02-01 22:23:36 +0300 |
commit | 03b1eba80e0eb3146414a4d389b8205aa2f21161 (patch) | |
tree | fe8cc90b5f60c666a13a06d87ac27ba56fdc0a2f /compiler/parser/Lexer.x | |
parent | ef6b28339b18597a2df1ce39116f1d4e4533804c (diff) | |
download | haskell-wip/trac-16270.tar.gz |
Report multiple errorswip/trac-16270
Diffstat (limited to 'compiler/parser/Lexer.x')
-rw-r--r-- | compiler/parser/Lexer.x | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/compiler/parser/Lexer.x b/compiler/parser/Lexer.x index c4d0d4d127..0606c56297 100644 --- a/compiler/parser/Lexer.x +++ b/compiler/parser/Lexer.x @@ -57,7 +57,7 @@ module Lexer ( activeContext, nextIsEOF, getLexState, popLexState, pushLexState, ExtBits(..), getBit, - addWarning, + addWarning, addError, lexTokenStream, addAnnotation,AddAnn,addAnnsAt,mkParensApiAnn, commentToAnnotation @@ -2479,6 +2479,17 @@ mkPStatePure options buf loc = annotations_comments = [] } +addError :: SrcSpan -> SDoc -> P () +addError srcspan msg + = P $ \s@PState{messages=m} -> + let + m' d = + let (ws, es) = m d + errormsg = mkErrMsg d srcspan alwaysQualify msg + es' = es `snocBag` errormsg + in (ws, es') + in POk s{messages=m'} () + addWarning :: WarningFlag -> SrcSpan -> SDoc -> P () addWarning option srcspan warning = P $ \s@PState{messages=m, options=o} -> |