summaryrefslogtreecommitdiff
path: root/compiler/parser
diff options
context:
space:
mode:
authorAlan Zimmerman <alan.zimm@gmail.com>2015-12-23 12:44:23 +0200
committerAlan Zimmerman <alan.zimm@gmail.com>2015-12-23 13:29:16 +0200
commitcb989e2f71bbd31aa6b3729030034167d8f8a1ca (patch)
tree16a22ec426a5f811e56284271792c8d33de9f5cd /compiler/parser
parent380b25ea4754c2aea683538ffdb179f8946219a0 (diff)
downloadhaskell-cb989e2f71bbd31aa6b3729030034167d8f8a1ca.tar.gz
API Annotaions:add name in PatBind Match
A PatBind operates similarly to a FunBind, and so the RdrName and infix/prefix state needs to be captured for use in API Annotations.
Diffstat (limited to 'compiler/parser')
-rw-r--r--compiler/parser/RdrHsSyn.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/parser/RdrHsSyn.hs b/compiler/parser/RdrHsSyn.hs
index e84f8afc22..d8c8b3a818 100644
--- a/compiler/parser/RdrHsSyn.hs
+++ b/compiler/parser/RdrHsSyn.hs
@@ -471,13 +471,13 @@ mkPatSynMatchGroup (L loc patsyn_name) (L _ decls) =
; when (length matches /= 1) (wrongNumberErr loc)
; return $ mkMatchGroup FromSource matches }
where
- fromDecl (L loc decl@(ValD (PatBind pat@(L _ (ConPatIn (L _ name) details)) rhs _ _ _))) =
+ fromDecl (L loc decl@(ValD (PatBind pat@(L _ (ConPatIn ln@(L _ name) details)) rhs _ _ _))) =
do { unless (name == patsyn_name) $
wrongNameBindingErr loc decl
; match <- case details of
- PrefixCon pats -> return $ Match NonFunBindMatch pats Nothing rhs
+ PrefixCon pats -> return $ Match (FunBindMatch ln False) pats Nothing rhs
InfixCon pat1 pat2 ->
- return $ Match NonFunBindMatch [pat1, pat2] Nothing rhs
+ return $ Match (FunBindMatch ln True) [pat1, pat2] Nothing rhs
RecCon{} -> recordPatSynErr loc pat
; return $ L loc match }
fromDecl (L loc decl) = extraDeclErr loc decl