summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorAlan Zimmerman <alan.zimm@gmail.com>2020-08-04 23:34:37 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-08-07 23:58:10 -0400
commite4f1b73ad9f292a6bbeb21fee44b0ba1a7f3c33b (patch)
tree5462826aeaa984661a0687e271c196a7d92e9b8d /compiler
parentdd51d53be42114c105b5ab15fcbdb387526b1c17 (diff)
downloadhaskell-e4f1b73ad9f292a6bbeb21fee44b0ba1a7f3c33b.tar.gz
ApiAnnotations; tweaks for ghc-exactprint update
Remove unused ApiAnns, add one for linear arrow. Include API Annotations for trailing comma in export list.
Diffstat (limited to 'compiler')
-rw-r--r--compiler/GHC.hs4
-rw-r--r--compiler/GHC/Parser.y22
-rw-r--r--compiler/GHC/Parser/Annotation.hs5
3 files changed, 16 insertions, 15 deletions
diff --git a/compiler/GHC.hs b/compiler/GHC.hs
index 22ce5fac18..834748a2b0 100644
--- a/compiler/GHC.hs
+++ b/compiler/GHC.hs
@@ -248,7 +248,7 @@ module GHC (
srcSpanStartCol, srcSpanEndCol,
-- ** Located
- GenLocated(..), Located,
+ GenLocated(..), Located, RealLocated,
-- *** Constructing Located
noLoc, mkGeneralLocated,
@@ -274,7 +274,7 @@ module GHC (
parser,
-- * API Annotations
- ApiAnns(..),AnnKeywordId(..),AnnotationComment(..),
+ ApiAnns(..),AnnKeywordId(..),AnnotationComment(..), ApiAnnKey,
getAnnotation, getAndRemoveAnnotation,
getAnnotationComments, getAndRemoveAnnotationComments,
unicodeAnn,
diff --git a/compiler/GHC/Parser.y b/compiler/GHC/Parser.y
index aa26c655b4..94b45489e7 100644
--- a/compiler/GHC/Parser.y
+++ b/compiler/GHC/Parser.y
@@ -863,17 +863,17 @@ header_top_importdecls :: { [LImportDecl GhcPs] }
-- The Export List
maybeexports :: { (Maybe (Located [LIE GhcPs])) }
- : '(' exportlist ')' {% amsL (comb2 $1 $>) [mop $1,mcp $3] >>
- return (Just (sLL $1 $> (fromOL $2))) }
+ : '(' exportlist ')' {% amsL (comb2 $1 $>) ([mop $1,mcp $3] ++ (fst $2)) >>
+ return (Just (sLL $1 $> (fromOL $ snd $2))) }
| {- empty -} { Nothing }
-exportlist :: { OrdList (LIE GhcPs) }
- : exportlist1 { $1 }
- | {- empty -} { nilOL }
+exportlist :: { ([AddAnn], OrdList (LIE GhcPs)) }
+ : exportlist1 { ([], $1) }
+ | {- empty -} { ([], nilOL) }
-- trailing comma:
- | exportlist1 ',' { $1 }
- | ',' { nilOL }
+ | exportlist1 ',' { ([mj AnnComma $2], $1) }
+ | ',' { ([mj AnnComma $1], nilOL) }
exportlist1 :: { OrdList (LIE GhcPs) }
: exportlist1 ',' export
@@ -1019,11 +1019,11 @@ maybeimpspec :: { Located (Maybe (Bool, Located [LIE GhcPs])) }
impspec :: { Located (Bool, Located [LIE GhcPs]) }
: '(' exportlist ')' {% ams (sLL $1 $> (False,
- sLL $1 $> $ fromOL $2))
- [mop $1,mcp $3] }
+ sLL $1 $> $ fromOL (snd $2)))
+ ([mop $1,mcp $3] ++ (fst $2)) }
| 'hiding' '(' exportlist ')' {% ams (sLL $1 $> (True,
- sLL $1 $> $ fromOL $3))
- [mj AnnHiding $1,mop $2,mcp $4] }
+ sLL $1 $> $ fromOL (snd $3)))
+ ([mj AnnHiding $1,mop $2,mcp $4] ++ (fst $3)) }
-----------------------------------------------------------------------------
-- Fixity Declarations
diff --git a/compiler/GHC/Parser/Annotation.hs b/compiler/GHC/Parser/Annotation.hs
index 63cb42845d..0db029ba02 100644
--- a/compiler/GHC/Parser/Annotation.hs
+++ b/compiler/GHC/Parser/Annotation.hs
@@ -259,6 +259,8 @@ data AnnKeywordId
| AnnLarrow -- ^ '<-'
| AnnLarrowU -- ^ '<-', unicode variant
| AnnLet
+ | AnnLolly -- ^ '#->'
+ | AnnLollyU -- ^ '#->', unicode variant
| AnnMdo
| AnnMinus -- ^ '-'
| AnnModule
@@ -291,8 +293,6 @@ data AnnKeywordId
| AnnStatic -- ^ 'static'
| AnnStock
| AnnThen
- | AnnThIdSplice -- ^ '$'
- | AnnThIdTySplice -- ^ '$$'
| AnnThTyQuote -- ^ double '''
| AnnTilde -- ^ '~'
| AnnType
@@ -364,6 +364,7 @@ unicodeAnn AnnOpenB = AnnOpenBU
unicodeAnn AnnCloseB = AnnCloseBU
unicodeAnn AnnOpenEQ = AnnOpenEQU
unicodeAnn AnnCloseQ = AnnCloseQU
+unicodeAnn AnnLolly = AnnLollyU
unicodeAnn ann = ann