diff options
author | Vladislav Zavialov <vlad.z.4096@gmail.com> | 2019-11-12 09:22:39 +0300 |
---|---|---|
committer | Vladislav Zavialov <vlad.z.4096@gmail.com> | 2019-11-28 15:47:53 +0300 |
commit | 6985e0fc4f6fb30c1effd356d87c1a0629aa9cd0 (patch) | |
tree | 00eb27d79c8730339e39215c7306caa3ff5fd14e /compiler/GHC/Hs/Extension.hs | |
parent | 6c59cc71dc20f26d5a6650b16a82faeae72f2065 (diff) | |
download | haskell-wip/hs-prag.tar.gz |
Factor out HsSCC/HsCoreAnn/HsTickPragma into HsPragEwip/hs-prag
This is a refactoring with no user-visible changes (except for GHC API
users). Consider the HsExpr constructors that correspond to user-written
pragmas:
HsSCC representing {-# SCC ... #-}
HsCoreAnn representing {-# CORE ... #-}
HsTickPragma representing {-# GENERATED ... #-}
We can factor them out into a separate datatype, HsPragE. It makes the
code a bit tidier, especially in the parser.
Before this patch:
hpc_annot :: { Located ( (([AddAnn],SourceText),(StringLiteral,(Int,Int),(Int,Int))),
((SourceText,SourceText),(SourceText,SourceText))
) }
After this patch:
prag_hpc :: { Located ([AddAnn], HsPragE GhcPs) }
Diffstat (limited to 'compiler/GHC/Hs/Extension.hs')
-rw-r--r-- | compiler/GHC/Hs/Extension.hs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/compiler/GHC/Hs/Extension.hs b/compiler/GHC/Hs/Extension.hs index 6b1042700a..be0333933a 100644 --- a/compiler/GHC/Hs/Extension.hs +++ b/compiler/GHC/Hs/Extension.hs @@ -606,8 +606,6 @@ type family XRecordCon x type family XRecordUpd x type family XExprWithTySig x type family XArithSeq x -type family XSCC x -type family XCoreAnn x type family XBracket x type family XRnBracketOut x type family XTcBracketOut x @@ -616,10 +614,15 @@ type family XProc x type family XStatic x type family XTick x type family XBinTick x -type family XTickPragma x +type family XPragE x type family XWrap x type family XXExpr x +type family XSCC x +type family XCoreAnn x +type family XTickPragma x +type family XXPragE x + type ForallXExpr (c :: * -> Constraint) (x :: *) = ( c (XVar x) , c (XUnboundVar x) |