summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Zimmerman <alan.zimm@gmail.com>2023-04-26 18:44:24 +0100
committerAlan Zimmerman <alan.zimm@gmail.com>2023-04-26 23:28:24 +0100
commita13e2b7f192edbac6e28074a323b7dd84b3fc9f6 (patch)
tree568c5f558a937668e42f0b8155c440ca0952b60d
parent79bea00eef99495ac19bb59505fd0d701b2de439 (diff)
downloadhaskell-wip/az/locateda-epa-improve-2023-03-27.tar.gz
Put BufSpan into RealSrcSpanwip/az/locateda-epa-improve-2023-03-27
This has been superseded by !9473, which moved BufSpan into EpaSpan in EpaLocation Start on making LocatedN more direct Using EpaLocation instead of Anchor Via a synonym initially, to prove the concept Variants of AnnSortKey For future, just a list of which type comes next. Example for ValBinds EPA: Explicitly capture EOF Location in AnnsModule And also get rid of EpaEofComment.
-rw-r--r--compiler/GHC/Data/BooleanFormula.hs8
-rw-r--r--compiler/GHC/Driver/Main.hs2
-rw-r--r--compiler/GHC/Hs/Binds.hs2
-rw-r--r--compiler/GHC/Hs/Decls.hs8
-rw-r--r--compiler/GHC/Hs/Dump.hs35
-rw-r--r--compiler/GHC/Hs/Expr.hs17
-rw-r--r--compiler/GHC/Hs/Extension.hs2
-rw-r--r--compiler/GHC/Hs/Pat.hs2
-rw-r--r--compiler/GHC/Hs/Type.hs18
-rw-r--r--compiler/GHC/Hs/Utils.hs101
-rw-r--r--compiler/GHC/HsToCore/Arrows.hs2
-rw-r--r--compiler/GHC/HsToCore/Docs.hs36
-rw-r--r--compiler/GHC/HsToCore/Expr.hs6
-rw-r--r--compiler/GHC/HsToCore/Match/Literal.hs2
-rw-r--r--compiler/GHC/HsToCore/Monad.hs7
-rw-r--r--compiler/GHC/HsToCore/Quote.hs4
-rw-r--r--compiler/GHC/HsToCore/Ticks.hs4
-rw-r--r--compiler/GHC/Iface/Ext/Ast.hs86
-rw-r--r--compiler/GHC/Iface/Ext/Utils.hs21
-rw-r--r--compiler/GHC/IfaceToCore.hs2
-rw-r--r--compiler/GHC/Parser.y362
-rw-r--r--compiler/GHC/Parser/Annotation.hs487
-rw-r--r--compiler/GHC/Parser/HaddockLex.x2
-rw-r--r--compiler/GHC/Parser/Lexer.x3
-rw-r--r--compiler/GHC/Parser/PostProcess.hs161
-rw-r--r--compiler/GHC/Parser/PostProcess/Haddock.hs29
-rw-r--r--compiler/GHC/Parser/Types.hs2
-rw-r--r--compiler/GHC/Rename/Bind.hs10
-rw-r--r--compiler/GHC/Rename/Env.hs40
-rw-r--r--compiler/GHC/Rename/Expr.hs20
-rw-r--r--compiler/GHC/Rename/HsType.hs10
-rw-r--r--compiler/GHC/Rename/Module.hs26
-rw-r--r--compiler/GHC/Rename/Names.hs24
-rw-r--r--compiler/GHC/Rename/Pat.hs14
-rw-r--r--compiler/GHC/Rename/Splice.hs12
-rw-r--r--compiler/GHC/Rename/Utils.hs30
-rw-r--r--compiler/GHC/Runtime/Eval.hs2
-rw-r--r--compiler/GHC/Tc/Deriv/Functor.hs20
-rw-r--r--compiler/GHC/Tc/Deriv/Generate.hs28
-rw-r--r--compiler/GHC/Tc/Deriv/Generics.hs2
-rw-r--r--compiler/GHC/Tc/Errors/Ppr.hs6
-rw-r--r--compiler/GHC/Tc/Gen/Bind.hs14
-rw-r--r--compiler/GHC/Tc/Gen/Export.hs6
-rw-r--r--compiler/GHC/Tc/Gen/Expr.hs4
-rw-r--r--compiler/GHC/Tc/Gen/Foreign.hs2
-rw-r--r--compiler/GHC/Tc/Gen/Head.hs8
-rw-r--r--compiler/GHC/Tc/Gen/HsType.hs6
-rw-r--r--compiler/GHC/Tc/Gen/Match.hs4
-rw-r--r--compiler/GHC/Tc/Gen/Pat.hs6
-rw-r--r--compiler/GHC/Tc/Gen/Rule.hs2
-rw-r--r--compiler/GHC/Tc/Gen/Sig.hs2
-rw-r--r--compiler/GHC/Tc/Gen/Splice.hs2
-rw-r--r--compiler/GHC/Tc/Module.hs10
-rw-r--r--compiler/GHC/Tc/TyCl.hs6
-rw-r--r--compiler/GHC/Tc/TyCl/Class.hs14
-rw-r--r--compiler/GHC/Tc/TyCl/Instance.hs9
-rw-r--r--compiler/GHC/Tc/TyCl/PatSyn.hs12
-rw-r--r--compiler/GHC/Tc/TyCl/Utils.hs2
-rw-r--r--compiler/GHC/Tc/Utils/Backpack.hs4
-rw-r--r--compiler/GHC/Tc/Utils/Env.hs10
-rw-r--r--compiler/GHC/Tc/Utils/Instantiate.hs2
-rw-r--r--compiler/GHC/Tc/Utils/Monad.hs38
-rw-r--r--compiler/GHC/Tc/Utils/Zonk.hs8
-rw-r--r--compiler/GHC/ThToHs.hs105
-rw-r--r--compiler/GHC/Unit/Module/Warnings.hs17
-rw-r--r--ghc/GHCi/UI/Info.hs2
-rw-r--r--testsuite/tests/ghc-api/T11579.stdout2
-rw-r--r--testsuite/tests/ghc-api/exactprint/AddDecl2.expected.hs4
-rw-r--r--testsuite/tests/ghc-api/exactprint/AddHiding1.expected.hs1
-rw-r--r--testsuite/tests/ghc-api/exactprint/T22919.stderr77
-rw-r--r--testsuite/tests/ghc-api/exactprint/Test20239.stderr266
-rw-r--r--testsuite/tests/ghc-api/exactprint/ZeroWidthSemi.stderr85
-rw-r--r--testsuite/tests/haddock/should_compile_flag_haddock/T17544.stderr2077
-rw-r--r--testsuite/tests/haddock/should_compile_flag_haddock/T17544_kw.stderr260
-rw-r--r--testsuite/tests/module/mod185.stderr87
-rw-r--r--testsuite/tests/parser/should_compile/DumpParsedAst.stderr1498
-rw-r--r--testsuite/tests/parser/should_compile/DumpParsedAstComments.stderr328
-rw-r--r--testsuite/tests/parser/should_compile/DumpRenamedAst.stderr1565
-rw-r--r--testsuite/tests/parser/should_compile/DumpSemis.stderr1930
-rw-r--r--testsuite/tests/parser/should_compile/DumpTypecheckedAst.stderr1769
-rw-r--r--testsuite/tests/parser/should_compile/KindSigs.stderr1562
-rw-r--r--testsuite/tests/parser/should_compile/T14189.stderr219
-rw-r--r--testsuite/tests/parser/should_compile/T15323.stderr204
-rw-r--r--testsuite/tests/parser/should_compile/T20452.stderr535
-rw-r--r--testsuite/tests/parser/should_compile/T20718.stderr97
-rw-r--r--testsuite/tests/parser/should_compile/T20718b.stderr29
-rw-r--r--testsuite/tests/parser/should_compile/T20846.stderr131
-rw-r--r--testsuite/tests/printer/T18791.stderr106
-rw-r--r--testsuite/tests/printer/Test20297.stdout535
-rw-r--r--testsuite/tests/th/TH_dataD1.hs3
-rw-r--r--utils/check-exact/ExactPrint.hs346
-rw-r--r--utils/check-exact/Main.hs98
-rw-r--r--utils/check-exact/Parsers.hs2
-rw-r--r--utils/check-exact/Preprocess.hs8
-rw-r--r--utils/check-exact/Transform.hs485
-rw-r--r--utils/check-exact/Types.hs13
-rw-r--r--utils/check-exact/Utils.hs135
m---------utils/haddock0
98 files changed, 10857 insertions, 5550 deletions
diff --git a/compiler/GHC/Data/BooleanFormula.hs b/compiler/GHC/Data/BooleanFormula.hs
index f01aa0339d..6b4146bf75 100644
--- a/compiler/GHC/Data/BooleanFormula.hs
+++ b/compiler/GHC/Data/BooleanFormula.hs
@@ -25,7 +25,7 @@ import Data.Data
import GHC.Utils.Monad
import GHC.Utils.Outputable
import GHC.Utils.Binary
-import GHC.Parser.Annotation ( LocatedL, noLocA )
+import GHC.Parser.Annotation ( LocatedL, noLocI )
import GHC.Types.SrcLoc
import GHC.Types.Unique
import GHC.Types.Unique.Set
@@ -259,6 +259,6 @@ instance Binary a => Binary (BooleanFormula a) where
h <- getByte bh
case h of
0 -> Var <$> get bh
- 1 -> And . fmap noLocA <$> get bh
- 2 -> Or . fmap noLocA <$> get bh
- _ -> Parens . noLocA <$> get bh
+ 1 -> And . fmap noLocI <$> get bh
+ 2 -> Or . fmap noLocI <$> get bh
+ _ -> Parens . noLocI <$> get bh
diff --git a/compiler/GHC/Driver/Main.hs b/compiler/GHC/Driver/Main.hs
index 3321d1203f..59986a4027 100644
--- a/compiler/GHC/Driver/Main.hs
+++ b/compiler/GHC/Driver/Main.hs
@@ -689,7 +689,7 @@ hsc_typecheck keep_rn mod_summary mb_rdr_module = do
outer_mod' = mkHomeModule home_unit mod_name
inner_mod = homeModuleNameInstantiation home_unit mod_name
src_filename = ms_hspp_file mod_summary
- real_loc = realSrcLocSpan $ mkRealSrcLoc (mkFastString src_filename) 1 1
+ real_loc = realSrcLocSpan (mkRealSrcLoc (mkFastString src_filename) 1 1)
keep_rn' = gopt Opt_WriteHie dflags || keep_rn
massert (isHomeModule home_unit outer_mod)
tc_result <- if hsc_src == HsigFile && not (isHoleModule inner_mod)
diff --git a/compiler/GHC/Hs/Binds.hs b/compiler/GHC/Hs/Binds.hs
index c7dd8fca0f..4957349408 100644
--- a/compiler/GHC/Hs/Binds.hs
+++ b/compiler/GHC/Hs/Binds.hs
@@ -84,7 +84,7 @@ data NHsValBindsLR idL
[(RecFlag, LHsBinds idL)]
[LSig GhcRn]
-type instance XValBinds (GhcPass pL) (GhcPass pR) = AnnSortKey
+type instance XValBinds (GhcPass pL) (GhcPass pR) = AnnSortKey [DeclTag]
type instance XXValBindsLR (GhcPass pL) pR
= NHsValBindsLR (GhcPass pL)
diff --git a/compiler/GHC/Hs/Decls.hs b/compiler/GHC/Hs/Decls.hs
index 201adc5467..db50fa9ba8 100644
--- a/compiler/GHC/Hs/Decls.hs
+++ b/compiler/GHC/Hs/Decls.hs
@@ -350,7 +350,7 @@ data DataDeclRn = DataDeclRn
, tcdFVs :: NameSet }
deriving Data
-type instance XClassDecl GhcPs = (EpAnn [AddEpAnn], AnnSortKey)
+type instance XClassDecl GhcPs = (EpAnn [AddEpAnn], AnnSortKey [RealSrcSpan])
-- TODO:AZ:tidy up AnnSortKey above
type instance XClassDecl GhcRn = NameSet -- FVs
@@ -797,7 +797,7 @@ type instance Anno (FamEqn (GhcPass p) _) = SrcSpanAnnA
----------------- Class instances -------------
-type instance XCClsInstDecl GhcPs = (EpAnn [AddEpAnn], AnnSortKey) -- TODO:AZ:tidy up
+type instance XCClsInstDecl GhcPs = (EpAnn [AddEpAnn], AnnSortKey [RealSrcSpan]) -- TODO:AZ:tidy up
type instance XCClsInstDecl GhcRn = NoExtField
type instance XCClsInstDecl GhcTc = NoExtField
@@ -1273,8 +1273,6 @@ type instance XCRoleAnnotDecl GhcTc = NoExtField
type instance XXRoleAnnotDecl (GhcPass _) = DataConCantHappen
-type instance Anno (Maybe Role) = SrcAnn NoEpAnns
-
instance OutputableBndr (IdP (GhcPass p))
=> Outputable (RoleAnnotDecl (GhcPass p)) where
ppr (RoleAnnotDecl _ ltycon roles)
@@ -1329,7 +1327,7 @@ type instance Anno (WarnDecls (GhcPass p)) = SrcSpanAnnA
type instance Anno (WarnDecl (GhcPass p)) = SrcSpanAnnA
type instance Anno (AnnDecl (GhcPass p)) = SrcSpanAnnA
type instance Anno (RoleAnnotDecl (GhcPass p)) = SrcSpanAnnA
-type instance Anno (Maybe Role) = SrcAnn NoEpAnns
+type instance Anno (Maybe Role) = EpAnnS NoEpAnns
type instance Anno CCallConv = SrcSpan
type instance Anno Safety = SrcSpan
type instance Anno CExportSpec = SrcSpan
diff --git a/compiler/GHC/Hs/Dump.hs b/compiler/GHC/Hs/Dump.hs
index 794607bd49..97a3b19301 100644
--- a/compiler/GHC/Hs/Dump.hs
+++ b/compiler/GHC/Hs/Dump.hs
@@ -69,6 +69,7 @@ showAstData bs ba a0 = blankLine $$ showAstData' a0
`extQ` annotationTrailingAnn
`extQ` annotationEpaLocation
`extQ` annotationNoEpAnns
+ `extQ` annotationListItem
`extQ` addEpAnn
`extQ` lit `extQ` litr `extQ` litt
`extQ` sourceText
@@ -144,7 +145,7 @@ showAstData bs ba a0 = blankLine $$ showAstData' a0
_ -> parens $ text "SourceText" <+> text "blanked"
epaAnchor :: EpaLocation -> SDoc
- epaAnchor (EpaSpan r _) = parens $ text "EpaSpan" <+> realSrcSpan r
+ epaAnchor (EpaSpan s) = parens $ text "EpaSpan" <+> srcSpan s
epaAnchor (EpaDelta d cs) = case ba of
NoBlankEpAnnotations -> parens $ text "EpaDelta" <+> deltaPos d <+> showAstData' cs
BlankEpAnnotations -> parens $ text "EpaDelta" <+> deltaPos d <+> text "blanked"
@@ -266,6 +267,9 @@ showAstData bs ba a0 = blankLine $$ showAstData' a0
annotationNoEpAnns :: EpAnn NoEpAnns -> SDoc
annotationNoEpAnns = annotation' (text "EpAnn NoEpAnns")
+ annotationListItem:: EpAnnS AnnListItem -> SDoc
+ annotationListItem = annotation'' (text "EpAnnS AnnListItem")
+
annotation' :: forall a .(Data a, Typeable a)
=> SDoc -> EpAnn a -> SDoc
annotation' tag anns = case ba of
@@ -273,10 +277,17 @@ showAstData bs ba a0 = blankLine $$ showAstData' a0
NoBlankEpAnnotations -> parens $ text (showConstr (toConstr anns))
$$ vcat (gmapQ showAstData' anns)
+ annotation'' :: forall a .(Data a, Typeable a)
+ => SDoc -> EpAnnS a -> SDoc
+ annotation'' tag anns = case ba of
+ BlankEpAnnotations -> parens (text "blanked:" <+> tag)
+ NoBlankEpAnnotations -> parens $ text (showConstr (toConstr anns))
+ $$ vcat (gmapQ showAstData' anns)
+
-- -------------------------
- srcSpanAnnA :: SrcSpanAnn' (EpAnn AnnListItem) -> SDoc
- srcSpanAnnA = locatedAnn'' (text "SrcSpanAnnA")
+ srcSpanAnnA :: (EpAnnS AnnListItem) -> SDoc
+ srcSpanAnnA = locatedEpAnn'' (text "SrcSpanAnnA")
srcSpanAnnL :: SrcSpanAnn' (EpAnn AnnList) -> SDoc
srcSpanAnnL = locatedAnn'' (text "SrcSpanAnnL")
@@ -287,8 +298,8 @@ showAstData bs ba a0 = blankLine $$ showAstData' a0
srcSpanAnnC :: SrcSpanAnn' (EpAnn AnnContext) -> SDoc
srcSpanAnnC = locatedAnn'' (text "SrcSpanAnnC")
- srcSpanAnnN :: SrcSpanAnn' (EpAnn NameAnn) -> SDoc
- srcSpanAnnN = locatedAnn'' (text "SrcSpanAnnN")
+ srcSpanAnnN :: EpAnnS NameAnn -> SDoc
+ srcSpanAnnN = locatedEpAnn'' (text "SrcSpanAnnN")
locatedAnn'' :: forall a. (Typeable a, Data a)
=> SDoc -> SrcSpanAnn' a -> SDoc
@@ -304,6 +315,20 @@ showAstData bs ba a0 = blankLine $$ showAstData' a0
Nothing -> text "locatedAnn:unmatched" <+> tag
<+> (parens $ text (showConstr (toConstr ss)))
+ locatedEpAnn'' :: forall a. (Typeable a, Data a)
+ => SDoc -> EpAnnS a -> SDoc
+ locatedEpAnn'' tag ss = parens $
+ case cast ss of
+ Just (anns :: EpAnnS a) ->
+ case ba of
+ BlankEpAnnotations
+ -> parens (text "blanked:" <+> tag)
+ NoBlankEpAnnotations
+ -> parens $ text (showConstr (toConstr anns))
+ $$ vcat (gmapQ showAstData' anns)
+ Nothing -> text "locatedEpAnn:unmatched" <+> tag
+ <+> (parens $ text (showConstr (toConstr ss)))
+
normalize_newlines :: String -> String
normalize_newlines ('\\':'r':'\\':'n':xs) = '\\':'n':normalize_newlines xs
diff --git a/compiler/GHC/Hs/Expr.hs b/compiler/GHC/Hs/Expr.hs
index be7af5002a..b9b0e726a7 100644
--- a/compiler/GHC/Hs/Expr.hs
+++ b/compiler/GHC/Hs/Expr.hs
@@ -150,7 +150,7 @@ mkSyntaxExpr = SyntaxExprRn
-- | Make a 'SyntaxExpr' from a 'Name' (the "rn" is because this is used in the
-- renamer).
mkRnSyntaxExpr :: Name -> SyntaxExprRn
-mkRnSyntaxExpr name = SyntaxExprRn $ HsVar noExtField $ noLocA name
+mkRnSyntaxExpr name = SyntaxExprRn $ HsVar noExtField $ noLocN name
instance Outputable SyntaxExprRn where
ppr (SyntaxExprRn expr) = ppr expr
@@ -2188,13 +2188,13 @@ type instance Anno (HsCmd (GhcPass p)) = SrcSpanAnnA
type instance Anno [LocatedA (StmtLR (GhcPass pl) (GhcPass pr) (LocatedA (HsCmd (GhcPass pr))))]
= SrcSpanAnnL
-type instance Anno (HsCmdTop (GhcPass p)) = SrcAnn NoEpAnns
+type instance Anno (HsCmdTop (GhcPass p)) = EpAnnS NoEpAnns
type instance Anno [LocatedA (Match (GhcPass p) (LocatedA (HsExpr (GhcPass p))))] = SrcSpanAnnL
type instance Anno [LocatedA (Match (GhcPass p) (LocatedA (HsCmd (GhcPass p))))] = SrcSpanAnnL
type instance Anno (Match (GhcPass p) (LocatedA (HsExpr (GhcPass p)))) = SrcSpanAnnA
type instance Anno (Match (GhcPass p) (LocatedA (HsCmd (GhcPass p)))) = SrcSpanAnnA
-type instance Anno (GRHS (GhcPass p) (LocatedA (HsExpr (GhcPass p)))) = SrcAnn NoEpAnns
-type instance Anno (GRHS (GhcPass p) (LocatedA (HsCmd (GhcPass p)))) = SrcAnn NoEpAnns
+type instance Anno (GRHS (GhcPass p) (LocatedA (HsExpr (GhcPass p)))) = EpAnnS NoEpAnns
+type instance Anno (GRHS (GhcPass p) (LocatedA (HsCmd (GhcPass p)))) = EpAnnS NoEpAnns
type instance Anno (StmtLR (GhcPass pl) (GhcPass pr) (LocatedA (body (GhcPass pr)))) = SrcSpanAnnA
type instance Anno (HsUntypedSplice (GhcPass p)) = SrcSpanAnnA
@@ -2209,6 +2209,11 @@ type instance Anno FastString = SrcAnn NoEpAnns
type instance Anno (DotFieldOcc (GhcPass p)) = SrcAnn NoEpAnns
-instance (Anno a ~ SrcSpanAnn' (EpAnn an))
- => WrapXRec (GhcPass p) a where
+instance (Anno
+ [LocatedA (StmtLR (GhcPass idL) (GhcPass idR) body)] ~ SrcAnn an,
+ IsPass idL, IsPass idR)
+ => WrapXRec (GhcPass idL) [LocatedA (StmtLR (GhcPass idL) (GhcPass idR) body)] where
+ wrapXRec = noLocI
+
+instance WrapXRec (GhcPass p) (HsType (GhcPass p)) where
wrapXRec = noLocA
diff --git a/compiler/GHC/Hs/Extension.hs b/compiler/GHC/Hs/Extension.hs
index 8e73f60b85..cfc797335c 100644
--- a/compiler/GHC/Hs/Extension.hs
+++ b/compiler/GHC/Hs/Extension.hs
@@ -107,7 +107,7 @@ type instance Anno RdrName = SrcSpanAnnN
type instance Anno Name = SrcSpanAnnN
type instance Anno Id = SrcSpanAnnN
-type IsSrcSpanAnn p a = ( Anno (IdGhcP p) ~ SrcSpanAnn' (EpAnn a),
+type IsSrcSpanAnn p a = ( Anno (IdGhcP p) ~ EpAnnS NameAnn,
IsPass p)
instance UnXRec (GhcPass p) where
diff --git a/compiler/GHC/Hs/Pat.hs b/compiler/GHC/Hs/Pat.hs
index 3a40d15514..6bcecdced9 100644
--- a/compiler/GHC/Hs/Pat.hs
+++ b/compiler/GHC/Hs/Pat.hs
@@ -420,7 +420,7 @@ mkPrefixConPat :: DataCon ->
[LPat GhcTc] -> [Type] -> LPat GhcTc
-- Make a vanilla Prefix constructor pattern
mkPrefixConPat dc pats tys
- = noLocA $ ConPat { pat_con = noLocA (RealDataCon dc)
+ = noLocA $ ConPat { pat_con = noLocN (RealDataCon dc)
, pat_args = PrefixCon [] pats
, pat_con_ext = ConPatTc
{ cpt_tvs = []
diff --git a/compiler/GHC/Hs/Type.hs b/compiler/GHC/Hs/Type.hs
index eb3a955269..c6bbfbd774 100644
--- a/compiler/GHC/Hs/Type.hs
+++ b/compiler/GHC/Hs/Type.hs
@@ -155,7 +155,7 @@ getBangStrictness _ = (HsSrcBang NoSourceText NoSrcUnpack NoSrcStrict)
-}
fromMaybeContext :: Maybe (LHsContext (GhcPass p)) -> HsContext (GhcPass p)
-fromMaybeContext mctxt = unLoc $ fromMaybe (noLocA []) mctxt
+fromMaybeContext mctxt = unLoc $ fromMaybe (noLocI []) mctxt
type instance XHsForAllVis (GhcPass _) = EpAnnForallTy
-- Location of 'forall' and '->'
@@ -360,10 +360,10 @@ type instance XXTyLit (GhcPass _) = DataConCantHappen
oneDataConHsTy :: HsType GhcRn
-oneDataConHsTy = HsTyVar noAnn NotPromoted (noLocA oneDataConName)
+oneDataConHsTy = HsTyVar noAnn NotPromoted (noLocN oneDataConName)
manyDataConHsTy :: HsType GhcRn
-manyDataConHsTy = HsTyVar noAnn NotPromoted (noLocA manyDataConName)
+manyDataConHsTy = HsTyVar noAnn NotPromoted (noLocN manyDataConName)
hsLinear :: a -> HsScaled (GhcPass p) a
hsLinear = HsScaled (HsLinearArrow (HsPct1 noHsTok noHsUniTok))
@@ -442,7 +442,7 @@ hsAllLTyVarNames (HsQTvs { hsq_ext = kvs
= kvs ++ hsLTyVarNames tvs
hsLTyVarLocName :: LHsTyVarBndr flag (GhcPass p) -> LocatedN (IdP (GhcPass p))
-hsLTyVarLocName (L l a) = L (l2l l) (hsTyVarName a)
+hsLTyVarLocName (L l a) = L (l2ll l) (hsTyVarName a)
hsLTyVarLocNames :: LHsQTyVars (GhcPass p) -> [LocatedN (IdP (GhcPass p))]
hsLTyVarLocNames qtvs = map hsLTyVarLocName (hsQTvExplicit qtvs)
@@ -524,15 +524,15 @@ splitHsFunType ty = go ty
= let
(anns, cs, args, res) = splitHsFunType ty
anns' = anns ++ annParen2AddEpAnn an
- cs' = cs S.<> epAnnComments (ann l) S.<> epAnnComments an
+ cs' = cs S.<> s_comments l S.<> epAnnComments an
in (anns', cs', args, res)
go (L ll (HsFunTy (EpAnn _ _ cs) mult x y))
| (anns, csy, args, res) <- splitHsFunType y
- = (anns, csy S.<> epAnnComments (ann ll), HsScaled mult x':args, res)
+ = (anns, csy S.<> s_comments ll, HsScaled mult x':args, res)
where
L l t = x
- x' = L (addCommentsToSrcAnn l cs) t
+ x' = L (addCommentsToEpAnnS l cs) t
go other = ([], emptyComments, [], other)
@@ -1372,5 +1372,5 @@ type instance Anno (HsOuterTyVarBndrs _ (GhcPass _)) = SrcSpanAnnA
type instance Anno HsIPName = SrcAnn NoEpAnns
type instance Anno (ConDeclField (GhcPass p)) = SrcSpanAnnA
-type instance Anno (FieldOcc (GhcPass p)) = SrcAnn NoEpAnns
-type instance Anno (AmbiguousFieldOcc (GhcPass p)) = SrcAnn NoEpAnns
+type instance Anno (FieldOcc (GhcPass p)) = EpAnnS NoEpAnns
+type instance Anno (AmbiguousFieldOcc (GhcPass p)) = EpAnnS NoEpAnns
diff --git a/compiler/GHC/Hs/Utils.hs b/compiler/GHC/Hs/Utils.hs
index 008469b458..a407c7d16e 100644
--- a/compiler/GHC/Hs/Utils.hs
+++ b/compiler/GHC/Hs/Utils.hs
@@ -181,7 +181,7 @@ mkHsPar e = L (getLoc e) (gHsPar e)
mkSimpleMatch :: (Anno (Match (GhcPass p) (LocatedA (body (GhcPass p))))
~ SrcSpanAnnA,
Anno (GRHS (GhcPass p) (LocatedA (body (GhcPass p))))
- ~ SrcAnn NoEpAnns)
+ ~ EpAnnS NoEpAnns)
=> HsMatchContext (GhcPass p)
-> [LPat (GhcPass p)] -> LocatedA (body (GhcPass p))
-> LMatch (GhcPass p) (LocatedA (body (GhcPass p)))
@@ -195,14 +195,14 @@ mkSimpleMatch ctxt pats rhs
(pat:_) -> combineSrcSpansA (getLoc pat) (getLoc rhs)
unguardedGRHSs :: Anno (GRHS (GhcPass p) (LocatedA (body (GhcPass p))))
- ~ SrcAnn NoEpAnns
+ ~ EpAnnS NoEpAnns
=> SrcSpan -> LocatedA (body (GhcPass p)) -> EpAnn GrhsAnn
-> GRHSs (GhcPass p) (LocatedA (body (GhcPass p)))
unguardedGRHSs loc rhs an
= GRHSs emptyComments (unguardedRHS an loc rhs) emptyLocalBinds
unguardedRHS :: Anno (GRHS (GhcPass p) (LocatedA (body (GhcPass p))))
- ~ SrcAnn NoEpAnns
+ ~ EpAnnS NoEpAnns
=> EpAnn GrhsAnn -> SrcSpan -> LocatedA (body (GhcPass p))
-> [LGRHS (GhcPass p) (LocatedA (body (GhcPass p)))]
unguardedRHS an loc rhs = [L (noAnnSrcSpan loc) (GRHS an [] rhs)]
@@ -218,7 +218,7 @@ mkMatchGroup :: AnnoBody p body
-> LocatedL [LocatedA (Match (GhcPass p) (LocatedA (body (GhcPass p))))]
-> MatchGroup (GhcPass p) (LocatedA (body (GhcPass p)))
mkMatchGroup origin matches = MG { mg_ext = origin
- , mg_alts = matches }
+ , mg_alts = matches }
mkLamCaseMatchGroup :: AnnoBody p body
=> Origin
@@ -230,10 +230,10 @@ mkLamCaseMatchGroup origin lc_variant (L l matches)
where fixCtxt (L a match) = L a match{m_ctxt = LamCaseAlt lc_variant}
mkLocatedList :: Semigroup a
- => [GenLocated (SrcAnn a) e2] -> LocatedAn an [GenLocated (SrcAnn a) e2]
+ => [LocatedAnS a e2] -> LocatedL [LocatedAnS a e2]
mkLocatedList ms = case nonEmpty ms of
- Nothing -> noLocA []
- Just ms1 -> L (noAnnSrcSpan $ locA $ combineLocsA (NE.head ms1) (NE.last ms1)) ms
+ Nothing -> noLocI []
+ Just ms1 -> L (noAnnSrcSpanI $ locA $ combineLocsA (NE.head ms1) (NE.last ms1)) ms
mkHsApp :: LHsExpr (GhcPass id) -> LHsExpr (GhcPass id) -> LHsExpr (GhcPass id)
mkHsApp e1 e2 = addCLocAA e1 e2 (HsApp noComments e1 e2)
@@ -272,7 +272,7 @@ mkHsLam :: (IsPass p, XMG (GhcPass p) (LHsExpr (GhcPass p)) ~ Origin)
mkHsLam pats body = mkHsPar (L (getLoc body) (HsLam noExtField matches))
where
matches = mkMatchGroup Generated
- (noLocA [mkSimpleMatch LambdaExpr pats' body])
+ (noLocI [mkSimpleMatch LambdaExpr pats' body])
pats' = map (parenthesizePat appPrec) pats
mkHsLams :: [TyVar] -> [EvVar] -> LHsExpr GhcTc -> LHsExpr GhcTc
@@ -282,7 +282,7 @@ mkHsLams tyvars dicts expr = mkLHsWrap (mkWpTyLams tyvars
-- |A simple case alternative with a single pattern, no binds, no guards;
-- pre-typechecking
mkHsCaseAlt :: (Anno (GRHS (GhcPass p) (LocatedA (body (GhcPass p))))
- ~ SrcAnn NoEpAnns,
+ ~ EpAnnS NoEpAnns,
Anno (Match (GhcPass p) (LocatedA (body (GhcPass p))))
~ SrcSpanAnnA)
=> LPat (GhcPass p) -> (LocatedA (body (GhcPass p)))
@@ -292,7 +292,7 @@ mkHsCaseAlt pat expr
nlHsTyApp :: Id -> [Type] -> LHsExpr GhcTc
nlHsTyApp fun_id tys
- = noLocA (mkHsWrap (mkWpTyApps tys) (HsVar noExtField (noLocA fun_id)))
+ = noLocA (mkHsWrap (mkWpTyApps tys) (HsVar noExtField (noLocN fun_id)))
nlHsTyApps :: Id -> [Type] -> [LHsExpr GhcTc] -> LHsExpr GhcTc
nlHsTyApps fun_id tys xs = foldl' nlHsApp (nlHsTyApp fun_id tys) xs
@@ -342,23 +342,38 @@ mkRnBindStmt :: LPat GhcRn -> LocatedA (bodyR GhcRn)
mkTcBindStmt :: LPat GhcTc -> LocatedA (bodyR GhcTc)
-> StmtLR GhcTc GhcTc (LocatedA (bodyR GhcTc))
-emptyRecStmt :: (Anno [GenLocated
+emptyRecStmt :: forall idL bodyR .
+ (Anno [GenLocated
(Anno (StmtLR (GhcPass idL) GhcPs bodyR))
- (StmtLR (GhcPass idL) GhcPs bodyR)]
- ~ SrcSpanAnnL)
+ (StmtLR (GhcPass idL) GhcPs bodyR)] ~ SrcSpanAnnL,
+ Anno [LocatedA (StmtLR (GhcPass idL) (GhcPass 'Parsed) bodyR)] ~ SrcSpanAnnL,
+ WrapXRec GhcPs [GenLocated
+ (Anno (StmtLR (GhcPass idL) (GhcPass 'Parsed) bodyR))
+ (StmtLR (GhcPass idL) (GhcPass 'Parsed) bodyR)],
+ IsPass idL)
=> StmtLR (GhcPass idL) GhcPs bodyR
-emptyRecStmtName :: (Anno [GenLocated
+emptyRecStmtName :: forall bodyR .
+ (Anno [GenLocated
(Anno (StmtLR GhcRn GhcRn bodyR))
- (StmtLR GhcRn GhcRn bodyR)]
- ~ SrcSpanAnnL)
+ (StmtLR GhcRn GhcRn bodyR)] ~ SrcSpanAnnL,
+ Anno [LocatedA (StmtLR GhcRn GhcRn bodyR)] ~ SrcSpanAnnL,
+ WrapXRec GhcRn [LStmtLR GhcRn GhcRn bodyR]
+ )
=> StmtLR GhcRn GhcRn bodyR
emptyRecStmtId :: Stmt GhcTc (LocatedA (HsCmd GhcTc))
mkRecStmt :: forall (idL :: Pass) bodyR.
- (Anno [GenLocated
+ (WrapXRec GhcPs [LocatedA (StmtLR (GhcPass idL) GhcPs bodyR)],
+ Anno [LocatedA (StmtLR (GhcPass idL) GhcPs bodyR)] ~ SrcSpanAnnL,
+ WrapXRec GhcPs [GenLocated (Anno (StmtLR (GhcPass idL) GhcPs bodyR))
+ (StmtLR (GhcPass idL) GhcPs bodyR)],
+ IsPass idL,
+
+ Anno [GenLocated
(Anno (StmtLR (GhcPass idL) GhcPs bodyR))
(StmtLR (GhcPass idL) GhcPs bodyR)]
- ~ SrcSpanAnnL)
+ ~ SrcSpanAnnL
+ )
=> EpAnn AnnList
-> LocatedL [LStmtLR (GhcPass idL) GhcPs bodyR]
-> StmtLR (GhcPass idL) GhcPs bodyR
@@ -427,7 +442,11 @@ mkTcBindStmt pat body = BindStmt (XBindStmtTc { xbstc_bindOp = noSyntaxExpr,
xbstc_failOp = Nothing }) pat body
emptyRecStmt' :: forall idL idR body .
- (WrapXRec (GhcPass idR) [LStmtLR (GhcPass idL) (GhcPass idR) body], IsPass idR)
+ (Anno [LocatedA (StmtLR (GhcPass idL) (GhcPass idR) body)] ~ SrcSpanAnnL,
+ WrapXRec (GhcPass idR) [GenLocated (Anno (StmtLR (GhcPass idL) (GhcPass idR) body))
+ (StmtLR (GhcPass idL) (GhcPass idR) body)],
+
+ IsPass idL, IsPass idR)
=> XRecStmt (GhcPass idL) (GhcPass idR) body
-> StmtLR (GhcPass idL) (GhcPass idR) body
emptyRecStmt' tyVal =
@@ -458,7 +477,7 @@ mkLetStmt anns binds = LetStmt anns binds
-- | A useful function for building @OpApps@. The operator is always a
-- variable, and we don't know the fixity yet.
mkHsOpApp :: LHsExpr GhcPs -> IdP GhcPs -> LHsExpr GhcPs -> HsExpr GhcPs
-mkHsOpApp e1 op e2 = OpApp noAnn e1 (noLocA (HsVar noExtField (noLocA op))) e2
+mkHsOpApp e1 op e2 = OpApp noAnn e1 (noLocA (HsVar noExtField (noLocN op))) e2
mkHsString :: String -> HsLit (GhcPass p)
mkHsString s = HsString NoSourceText (mkFastString s)
@@ -485,11 +504,11 @@ mkConLikeTc con = XExpr (ConLikeTc con [] [])
nlHsVar :: IsSrcSpanAnn p a
=> IdP (GhcPass p) -> LHsExpr (GhcPass p)
-nlHsVar n = noLocA (HsVar noExtField (noLocA n))
+nlHsVar n = noLocA (HsVar noExtField (noLocN n))
nl_HsVar :: IsSrcSpanAnn p a
=> IdP (GhcPass p) -> HsExpr (GhcPass p)
-nl_HsVar n = HsVar noExtField (noLocA n)
+nl_HsVar n = HsVar noExtField (noLocN n)
-- | NB: Only for 'LHsExpr' 'Id'.
nlHsDataCon :: DataCon -> LHsExpr GhcTc
@@ -503,7 +522,7 @@ nlHsIntLit n = noLocA (HsLit noComments (HsInt noExtField (mkIntegralLit n)))
nlVarPat :: IsSrcSpanAnn p a
=> IdP (GhcPass p) -> LPat (GhcPass p)
-nlVarPat n = noLocA (VarPat noExtField (noLocA n))
+nlVarPat n = noLocA (VarPat noExtField (noLocN n))
nlLitPat :: HsLit GhcPs -> LPat GhcPs
nlLitPat l = noLocA (LitPat noExtField l)
@@ -528,8 +547,8 @@ nlHsApps f xs = foldl' nlHsApp (nlHsVar f) xs
nlHsVarApps :: IsSrcSpanAnn p a
=> IdP (GhcPass p) -> [IdP (GhcPass p)] -> LHsExpr (GhcPass p)
-nlHsVarApps f xs = noLocA (foldl' mk (HsVar noExtField (noLocA f))
- (map ((HsVar noExtField) . noLocA) xs))
+nlHsVarApps f xs = noLocA (foldl' mk (HsVar noExtField (noLocN f))
+ (map ((HsVar noExtField) . noLocN) xs))
where
mk f a = HsApp noComments (noLocA f) (noLocA a)
@@ -541,7 +560,7 @@ nlConVarPatName con vars = nlConPatName con (map nlVarPat vars)
nlInfixConPat :: RdrName -> LPat GhcPs -> LPat GhcPs -> LPat GhcPs
nlInfixConPat con l r = noLocA $ ConPat
- { pat_con = noLocA con
+ { pat_con = noLocN con
, pat_args = InfixCon (parenthesizePat opPrec l)
(parenthesizePat opPrec r)
, pat_con_ext = noAnn
@@ -550,28 +569,28 @@ nlInfixConPat con l r = noLocA $ ConPat
nlConPat :: RdrName -> [LPat GhcPs] -> LPat GhcPs
nlConPat con pats = noLocA $ ConPat
{ pat_con_ext = noAnn
- , pat_con = noLocA con
+ , pat_con = noLocN con
, pat_args = PrefixCon [] (map (parenthesizePat appPrec) pats)
}
nlConPatName :: Name -> [LPat GhcRn] -> LPat GhcRn
nlConPatName con pats = noLocA $ ConPat
{ pat_con_ext = noExtField
- , pat_con = noLocA con
+ , pat_con = noLocN con
, pat_args = PrefixCon [] (map (parenthesizePat appPrec) pats)
}
nlNullaryConPat :: RdrName -> LPat GhcPs
nlNullaryConPat con = noLocA $ ConPat
{ pat_con_ext = noAnn
- , pat_con = noLocA con
+ , pat_con = noLocN con
, pat_args = PrefixCon [] []
}
nlWildConPat :: DataCon -> LPat GhcPs
nlWildConPat con = noLocA $ ConPat
{ pat_con_ext = noAnn
- , pat_con = noLocA $ getRdrName con
+ , pat_con = noLocN $ getRdrName con
, pat_args = PrefixCon [] $
replicate (dataConSourceArity con)
nlWildPat
@@ -587,7 +606,7 @@ nlWildPatName = noLocA (WildPat noExtField )
nlHsDo :: HsDoFlavour -> [LStmt GhcPs (LHsExpr GhcPs)]
-> LHsExpr GhcPs
-nlHsDo ctxt stmts = noLocA (mkHsDo ctxt (noLocA stmts))
+nlHsDo ctxt stmts = noLocA (mkHsDo ctxt (noLocI stmts))
nlHsOpApp :: LHsExpr GhcPs -> IdP GhcPs -> LHsExpr GhcPs -> LHsExpr GhcPs
nlHsOpApp e1 op e2 = noLocA (mkHsOpApp e1 op e2)
@@ -599,7 +618,7 @@ nlHsCase :: LHsExpr GhcPs -> [LMatch GhcPs (LHsExpr GhcPs)]
nlList :: [LHsExpr GhcPs] -> LHsExpr GhcPs
-- AZ:Is this used?
-nlHsLam match = noLocA (HsLam noExtField (mkMatchGroup Generated (noLocA [match])))
+nlHsLam match = noLocA (HsLam noExtField (mkMatchGroup Generated (noLocI [match])))
nlHsPar e = noLocA (gHsPar e)
-- nlHsIf should generate if-expressions which are NOT subject to
@@ -608,7 +627,7 @@ nlHsIf :: LHsExpr GhcPs -> LHsExpr GhcPs -> LHsExpr GhcPs -> LHsExpr GhcPs
nlHsIf cond true false = noLocA (HsIf noAnn cond true false)
nlHsCase expr matches
- = noLocA (HsCase noAnn expr (mkMatchGroup Generated (noLocA matches)))
+ = noLocA (HsCase noAnn expr (mkMatchGroup Generated (noLocI matches)))
nlList exprs = noLocA (ExplicitList noAnn exprs)
nlHsAppTy :: LHsType (GhcPass p) -> LHsType (GhcPass p) -> LHsType (GhcPass p)
@@ -618,7 +637,7 @@ nlHsFunTy :: LHsType (GhcPass p) -> LHsType (GhcPass p) -> LHsType (GhcPass p)
nlHsParTy :: LHsType (GhcPass p) -> LHsType (GhcPass p)
nlHsAppTy f t = noLocA (HsAppTy noExtField f (parenthesizeHsType appPrec t))
-nlHsTyVar p x = noLocA (HsTyVar noAnn p (noLocA x))
+nlHsTyVar p x = noLocA (HsTyVar noAnn p (noLocN x))
nlHsFunTy a b = noLocA (HsFunTy noAnn (HsUnrestrictedArrow noHsUniTok) (parenthesizeHsType funPrec a) b)
nlHsParTy t = noLocA (HsParTy noAnn t)
@@ -629,7 +648,7 @@ nlHsTyConApp :: IsSrcSpanAnn p a
nlHsTyConApp prom fixity tycon tys
| Infix <- fixity
, HsValArg ty1 : HsValArg ty2 : rest <- tys
- = foldl' mk_app (noLocA $ HsOpTy noAnn prom ty1 (noLocA tycon) ty2) rest
+ = foldl' mk_app (noLocA $ HsOpTy noAnn prom ty1 (noLocN tycon) ty2) rest
| otherwise
= foldl' mk_app (nlHsTyVar prom tycon) tys
where
@@ -803,7 +822,7 @@ mkFunBind :: Origin -> LocatedN RdrName -> [LMatch GhcPs (LHsExpr GhcPs)]
-- ^ Not infix, with place holders for coercion and free vars
mkFunBind origin fn ms
= FunBind { fun_id = fn
- , fun_matches = mkMatchGroup origin (noLocA ms)
+ , fun_matches = mkMatchGroup origin (noLocI ms)
, fun_ext = noExtField
}
@@ -811,7 +830,7 @@ mkTopFunBind :: Origin -> LocatedN Name -> [LMatch GhcRn (LHsExpr GhcRn)]
-> HsBind GhcRn
-- ^ In Name-land, with empty bind_fvs
mkTopFunBind origin fn ms = FunBind { fun_id = fn
- , fun_matches = mkMatchGroup origin (noLocA ms)
+ , fun_matches = mkMatchGroup origin (noLocI ms)
, fun_ext = emptyNameSet -- NB: closed
-- binding
}
@@ -867,8 +886,8 @@ spanHsLocaLBinds (HsIPBinds _ (IPBinds _ bs))
mkSimpleGeneratedFunBind :: SrcSpan -> RdrName -> [LPat GhcPs]
-> LHsExpr GhcPs -> LHsBind GhcPs
mkSimpleGeneratedFunBind loc fun pats expr
- = L (noAnnSrcSpan loc) $ mkFunBind Generated (L (noAnnSrcSpan loc) fun)
- [mkMatch (mkPrefixFunRhs (L (noAnnSrcSpan loc) fun)) pats expr
+ = L (noAnnSrcSpan loc) $ mkFunBind Generated (L (noAnnSrcSpanN loc) fun)
+ [mkMatch (mkPrefixFunRhs (L (noAnnSrcSpanN loc) fun)) pats expr
emptyLocalBinds]
-- | Make a prefix, non-strict function 'HsMatchContext'
@@ -1440,7 +1459,7 @@ hsForeignDeclsBinders :: forall p a. (UnXRec (GhcPass p), IsSrcSpanAnn p a)
=> [LForeignDecl (GhcPass p)] -> [LIdP (GhcPass p)]
-- ^ See Note [SrcSpan for binders]
hsForeignDeclsBinders foreign_decls
- = [ L (noAnnSrcSpan (locA decl_loc)) n
+ = [ L (noAnnSrcSpanN (locA decl_loc)) n
| L decl_loc (ForeignImport { fd_name = L _ n })
<- foreign_decls]
@@ -1740,6 +1759,6 @@ lPatImplicits = hs_lpat
, let pat_explicit =
maybe True ((i<) . unRecFieldsDotDot . unLoc)
(rec_dotdot fs)]
- err_loc = maybe (getLocA n) getLoc (rec_dotdot fs)
+ err_loc = maybe (getLocN n) getLoc (rec_dotdot fs)
details _ (InfixCon p1 p2) = hs_lpat p1 ++ hs_lpat p2
diff --git a/compiler/GHC/HsToCore/Arrows.hs b/compiler/GHC/HsToCore/Arrows.hs
index cc757a94e3..6f4796290e 100644
--- a/compiler/GHC/HsToCore/Arrows.hs
+++ b/compiler/GHC/HsToCore/Arrows.hs
@@ -810,7 +810,7 @@ dsCases ids local_vars stack_id stack_ty res_ty
-- implemented as `arr \case {}`.
Nothing -> ([], void_ty,) . do_arr ids void_ty res_ty <$>
dsExpr (HsLamCase EpAnnNotUsed LamCase
- (MG { mg_alts = noLocA []
+ (MG { mg_alts = noLocI []
, mg_ext = MatchGroupTc [Scaled ManyTy void_ty] res_ty Generated
}))
diff --git a/compiler/GHC/HsToCore/Docs.hs b/compiler/GHC/HsToCore/Docs.hs
index f162dadaf5..f142817730 100644
--- a/compiler/GHC/HsToCore/Docs.hs
+++ b/compiler/GHC/HsToCore/Docs.hs
@@ -249,9 +249,12 @@ mkMaps env instances decls =
-> ( [(Name, [HsDoc GhcRn])]
, [(Name, IntMap (HsDoc GhcRn))]
)
- mappings (L (SrcSpanAnn _ (RealSrcSpan l _)) decl, doc) =
+ mappings (L (EpAnnS anc _ _ ) decl, doc) =
(dm, am)
where
+ l = case anc of
+ EpaSpan (RealSrcSpan s _) -> Just s
+ _ -> Nothing
args = declTypeDocs decl
subs :: [(Name, [HsDoc GhcRn], IntMap (HsDoc GhcRn))]
@@ -263,14 +266,14 @@ mkMaps env instances decls =
ns = names l decl
dm = [(n, d) | (n, d) <- zip ns (repeat doc) ++ zip subNs subDocs, not $ all (isEmptyDocString . hsDocString) d]
am = [(n, args) | n <- ns] ++ zip subNs subArgs
- mappings (L (SrcSpanAnn _ (UnhelpfulSpan _)) _, _) = ([], [])
instanceMap :: Map RealSrcSpan Name
instanceMap = M.fromList [(l, n) | n <- instances, RealSrcSpan l _ <- [getSrcSpan n] ]
- names :: RealSrcSpan -> HsDecl GhcRn -> [Name]
+ names :: Maybe RealSrcSpan -> HsDecl GhcRn -> [Name]
names _ (InstD _ d) = maybeToList $ lookupSrcSpan (getInstLoc d) instanceMap
- names l (DerivD {}) = maybeToList (M.lookup l instanceMap) -- See Note [1].
+ names (Just l) (DerivD {}) = maybeToList (M.lookup l instanceMap) -- See Note [1].
+ names Nothing (DerivD {}) = []
names _ decl = getMainDeclBinder env decl
{-
@@ -327,12 +330,12 @@ getInstLoc = \case
-- type instance Foo Int = Bool
-- ^^^
DataFamInstD _ (DataFamInstDecl
- { dfid_eqn = FamEqn { feqn_tycon = L l _ }}) -> locA l
+ { dfid_eqn = FamEqn { feqn_tycon = L l _ }}) -> locN l
-- Since CoAxioms' Names refer to the whole line for type family instances
-- in particular, we need to dig a bit deeper to pull out the entire
-- equation. This does not happen for data family instances, for some reason.
TyFamInstD _ (TyFamInstDecl
- { tfid_eqn = FamEqn { feqn_tycon = L l _ }}) -> locA l
+ { tfid_eqn = FamEqn { feqn_tycon = L l _ }}) -> locN l
-- | Get all subordinate declarations inside a declaration, and their docs.
-- A subordinate declaration is something like the associate type or data
@@ -347,10 +350,10 @@ subordinates env instMap decl = case decl of
DataFamInstDecl { dfid_eqn =
FamEqn { feqn_tycon = L l _
, feqn_rhs = defn }} <- unLoc <$> cid_datafam_insts d
- [ (n, [], IM.empty) | Just n <- [lookupSrcSpan (locA l) instMap] ] ++ dataSubs defn
+ [ (n, [], IM.empty) | Just n <- [lookupSrcSpan (locN l) instMap] ] ++ dataSubs defn
ty_fams = do
TyFamInstDecl { tfid_eqn = FamEqn { feqn_tycon = L l _ } } <- unLoc <$> cid_tyfam_insts d
- [ (n, [], IM.empty) | Just n <- [lookupSrcSpan (locA l) instMap] ]
+ [ (n, [], IM.empty) | Just n <- [lookupSrcSpan (locN l) instMap] ]
in data_fams ++ ty_fams
InstD _ (DataFamInstD _ (DataFamInstDecl d))
@@ -503,18 +506,19 @@ ungroup group_ =
-- | Collect docs and attach them to the right declarations.
--
-- A declaration may have multiple doc strings attached to it.
-collectDocs :: forall p. UnXRec p => [LHsDecl p] -> [(LHsDecl p, [HsDoc p])]
+-- collectDocs :: forall p. UnXRec p => [LHsDecl p] -> [(LHsDecl p, [HsDoc p])]
+collectDocs :: [LHsDecl GhcRn] -> [(LHsDecl GhcRn, [HsDoc GhcRn])]
-- ^ This is an example.
collectDocs = go [] Nothing
where
go docs mprev decls = case (decls, mprev) of
- ((unXRec @p -> DocD _ (DocCommentNext s)) : ds, Nothing) -> go (unLoc s:docs) Nothing ds
- ((unXRec @p -> DocD _ (DocCommentNext s)) : ds, Just prev) -> finished prev docs $ go [unLoc s] Nothing ds
- ((unXRec @p -> DocD _ (DocCommentPrev s)) : ds, mprev) -> go (unLoc s:docs) mprev ds
- (d : ds, Nothing) -> go docs (Just d) ds
- (d : ds, Just prev) -> finished prev docs $ go [] (Just d) ds
- ([] , Nothing) -> []
- ([] , Just prev) -> finished prev docs []
+ ((L _ (DocD _ (DocCommentNext s))) : ds, Nothing) -> go (unLoc s:docs) Nothing ds
+ ((L _ (DocD _ (DocCommentNext s))) : ds, Just prev) -> finished prev docs $ go [unLoc s] Nothing ds
+ ((L _ (DocD _ (DocCommentPrev s))) : ds, mprev) -> go (unLoc s:docs) mprev ds
+ (d : ds, Nothing) -> go docs (Just d) ds
+ (d : ds, Just prev) -> finished prev docs $ go [] (Just d) ds
+ ([] , Nothing) -> []
+ ([] , Just prev) -> finished prev docs []
finished decl docs rest = (decl, reverse docs) : rest
diff --git a/compiler/GHC/HsToCore/Expr.hs b/compiler/GHC/HsToCore/Expr.hs
index 6a0bee9089..00e4784360 100644
--- a/compiler/GHC/HsToCore/Expr.hs
+++ b/compiler/GHC/HsToCore/Expr.hs
@@ -711,7 +711,7 @@ dsDo ctx stmts
; rhss' <- sequence rhss
- ; body' <- dsLExpr $ noLocA $ HsDo body_ty ctx (noLocA stmts)
+ ; body' <- dsLExpr $ noLocA $ HsDo body_ty ctx (noLocI stmts)
; let match_args (pat, fail_op) (vs,body)
= putSrcSpanDs (getLocA pat) $
@@ -756,14 +756,14 @@ dsDo ctx stmts
rets = map noLocA rec_rets
mfix_app = nlHsSyntaxApps mfix_op [mfix_arg]
mfix_arg = noLocA $ HsLam noExtField
- (MG { mg_alts = noLocA [mkSimpleMatch
+ (MG { mg_alts = noLocI [mkSimpleMatch
LambdaExpr
[mfix_pat] body]
, mg_ext = MatchGroupTc [unrestricted tup_ty] body_ty Generated
})
mfix_pat = noLocA $ LazyPat noExtField $ mkBigLHsPatTupId rec_tup_pats
body = noLocA $ HsDo body_ty
- ctx (noLocA (rec_stmts ++ [ret_stmt]))
+ ctx (noLocI (rec_stmts ++ [ret_stmt]))
ret_app = nlHsSyntaxApps return_op [mkBigLHsTupId rets]
ret_stmt = noLocA $ mkLastStmt ret_app
-- This LastStmt will be desugared with dsDo,
diff --git a/compiler/GHC/HsToCore/Match/Literal.hs b/compiler/GHC/HsToCore/Match/Literal.hs
index 1c21f2a5e6..7d49b35f8d 100644
--- a/compiler/GHC/HsToCore/Match/Literal.hs
+++ b/compiler/GHC/HsToCore/Match/Literal.hs
@@ -575,7 +575,7 @@ tidyNPat (OverLit (OverLitTc False _ ty) val) mb_neg _eq outer_ty
_ -> Nothing
tidyNPat over_lit mb_neg eq outer_ty
- = NPat outer_ty (noLocA over_lit) mb_neg eq
+ = NPat outer_ty (noLocI over_lit) mb_neg eq
{-
************************************************************************
diff --git a/compiler/GHC/HsToCore/Monad.hs b/compiler/GHC/HsToCore/Monad.hs
index 1edcde6924..9f85713798 100644
--- a/compiler/GHC/HsToCore/Monad.hs
+++ b/compiler/GHC/HsToCore/Monad.hs
@@ -22,7 +22,7 @@ module GHC.HsToCore.Monad (
duplicateLocalDs, newSysLocalDs,
newSysLocalsDs, newUniqueId,
newFailLocalDs, newPredVarDs,
- getSrcSpanDs, putSrcSpanDs, putSrcSpanDsA,
+ getSrcSpanDs, putSrcSpanDs, putSrcSpanDsA, putSrcSpanDsI,
mkNamePprCtxDs,
newUnique,
UniqSupply, newUniqueSupply,
@@ -429,9 +429,12 @@ putSrcSpanDs (UnhelpfulSpan {}) thing_inside
putSrcSpanDs (RealSrcSpan real_span _) thing_inside
= updLclEnv (\ env -> env {dsl_loc = real_span}) thing_inside
-putSrcSpanDsA :: SrcSpanAnn' ann -> DsM a -> DsM a
+putSrcSpanDsA :: EpAnnS ann -> DsM a -> DsM a
putSrcSpanDsA loc = putSrcSpanDs (locA loc)
+putSrcSpanDsI :: SrcSpanAnn' ann -> DsM a -> DsM a
+putSrcSpanDsI loc = putSrcSpanDs (locI loc)
+
-- | Emit a diagnostic for the current source location. In case the diagnostic is a warning,
-- the latter will be ignored and discarded if the relevant 'WarningFlag' is not set in the DynFlags.
-- See Note [Discarding Messages] in 'GHC.Types.Error'.
diff --git a/compiler/GHC/HsToCore/Quote.hs b/compiler/GHC/HsToCore/Quote.hs
index 75a7121548..c5420f37cc 100644
--- a/compiler/GHC/HsToCore/Quote.hs
+++ b/compiler/GHC/HsToCore/Quote.hs
@@ -1463,7 +1463,7 @@ repMaybeLTy m = do
k_ty <- wrapName kindTyConName
repMaybeT k_ty repLTy m
-repRole :: LocatedAn NoEpAnns (Maybe Role) -> MetaM (Core TH.Role)
+repRole :: LocatedAnS NoEpAnns (Maybe Role) -> MetaM (Core TH.Role)
repRole (L _ (Just Nominal)) = rep2_nw nominalRName []
repRole (L _ (Just Representational)) = rep2_nw representationalRName []
repRole (L _ (Just Phantom)) = rep2_nw phantomRName []
@@ -1510,7 +1510,7 @@ repE (HsVar _ (L _ x)) =
repE (HsIPVar _ n) = rep_implicit_param_name n >>= repImplicitParamVar
repE (HsOverLabel _ _ s) = repOverLabel s
-repE (HsRecSel _ (FieldOcc x _)) = repE (HsVar noExtField (noLocA x))
+repE (HsRecSel _ (FieldOcc x _)) = repE (HsVar noExtField (noLocN x))
-- Remember, we're desugaring renamer output here, so
-- HsOverlit can definitely occur
diff --git a/compiler/GHC/HsToCore/Ticks.hs b/compiler/GHC/HsToCore/Ticks.hs
index 8c0227df80..2fe1787420 100644
--- a/compiler/GHC/HsToCore/Ticks.hs
+++ b/compiler/GHC/HsToCore/Ticks.hs
@@ -723,7 +723,7 @@ addTickStmt isGuard stmt@(RecStmt {})
; ret' <- addTickSyntaxExpr hpcSrcSpan (recS_ret_fn stmt)
; mfix' <- addTickSyntaxExpr hpcSrcSpan (recS_mfix_fn stmt)
; bind' <- addTickSyntaxExpr hpcSrcSpan (recS_bind_fn stmt)
- ; return (stmt { recS_stmts = noLocA stmts', recS_ret_fn = ret'
+ ; return (stmt { recS_stmts = noLocI stmts', recS_ret_fn = ret'
, recS_mfix_fn = mfix', recS_bind_fn = bind' }) }
addTick :: Maybe (Bool -> BoxLabel) -> LHsExpr GhcTc -> TM (LHsExpr GhcTc)
@@ -937,7 +937,7 @@ addTickCmdStmt stmt@(RecStmt {})
; ret' <- addTickSyntaxExpr hpcSrcSpan (recS_ret_fn stmt)
; mfix' <- addTickSyntaxExpr hpcSrcSpan (recS_mfix_fn stmt)
; bind' <- addTickSyntaxExpr hpcSrcSpan (recS_bind_fn stmt)
- ; return (stmt { recS_stmts = noLocA stmts', recS_ret_fn = ret'
+ ; return (stmt { recS_stmts = noLocI stmts', recS_ret_fn = ret'
, recS_mfix_fn = mfix', recS_bind_fn = bind' }) }
addTickCmdStmt ApplicativeStmt{} =
panic "ToDo: addTickCmdStmt ApplicativeLastStmt"
diff --git a/compiler/GHC/Iface/Ext/Ast.hs b/compiler/GHC/Iface/Ext/Ast.hs
index 24a68e63c4..199f4c9efe 100644
--- a/compiler/GHC/Iface/Ext/Ast.hs
+++ b/compiler/GHC/Iface/Ext/Ast.hs
@@ -398,14 +398,14 @@ processGrp grp = concatM
, toHie $ hs_docs grp
]
-getRealSpanA :: SrcSpanAnn' ann -> Maybe Span
+getRealSpanA :: EpAnnS ann -> Maybe Span
getRealSpanA la = getRealSpan (locA la)
getRealSpan :: SrcSpan -> Maybe Span
getRealSpan (RealSrcSpan sp _) = Just sp
getRealSpan _ = Nothing
-grhss_span :: (Anno (GRHS (GhcPass p) (LocatedA (body (GhcPass p)))) ~ SrcAnn NoEpAnns)
+grhss_span :: (Anno (GRHS (GhcPass p) (LocatedA (body (GhcPass p)))) ~ EpAnnS NoEpAnns)
=> GRHSs (GhcPass p) (LocatedA (body (GhcPass p))) -> SrcSpan
grhss_span (GRHSs _ xs bs) = foldl' combineSrcSpans (spanHsLocaLBinds bs) (map getLocA xs)
@@ -555,7 +555,7 @@ instance HasLoc (LocatedA a) where
loc (L la _) = locA la
instance HasLoc (LocatedN a) where
- loc (L la _) = locA la
+ loc (L la _) = locN la
instance HasLoc a => HasLoc [a] where
loc [] = noSrcSpan
@@ -610,15 +610,15 @@ instance (ToHie a) => ToHie (Maybe a) where
toHie = maybe (pure []) toHie
instance ToHie (IEContext (LocatedA ModuleName)) where
- toHie (IEC c (L (SrcSpanAnn _ (RealSrcSpan span _)) mname)) = do
+ toHie (IEC c (L (EpAnnS (EpaSpan (RealSrcSpan span _)) _ _) mname)) = do
org <- ask
pure $ [Node (mkSourcedNodeInfo org $ NodeInfo S.empty [] idents) span []]
where details = mempty{identInfo = S.singleton (IEThing c)}
idents = M.singleton (Left mname) details
- toHie _ = pure []
+ toHie (IEC _ (L (EpAnnS _ _ _) _)) = pure []
instance ToHie (Context (Located a)) => ToHie (Context (LocatedN a)) where
- toHie (C c (L l a)) = toHie (C c (L (locA l) a))
+ toHie (C c (L l a)) = toHie (C c (L (locN l) a))
instance ToHie (Context (Located a)) => ToHie (Context (LocatedA a)) where
toHie (C c (L l a)) = toHie (C c (L (locA l) a))
@@ -839,7 +839,7 @@ type AnnoBody p body
, Anno [LocatedA (Match (GhcPass p) (LocatedA (body (GhcPass p))))]
~ SrcSpanAnnL
, Anno (GRHS (GhcPass p) (LocatedA (body (GhcPass p))))
- ~ SrcAnn NoEpAnns
+ ~ EpAnnS NoEpAnns
, Anno (StmtLR (GhcPass p) (GhcPass p) (LocatedA (body (GhcPass p)))) ~ SrcSpanAnnA
, Data (body (GhcPass p))
@@ -897,7 +897,7 @@ instance ( HiePass p
toHie mg = case mg of
MG{ mg_alts = (L span alts) } ->
local (setOrigin origin) $ concatM
- [ locOnly (locA span)
+ [ locOnly (locI span)
, toHie alts
]
where origin = case hiePass @p of
@@ -1091,7 +1091,7 @@ instance ( ToHie (LocatedA (body (GhcPass p)))
instance ( ToHie (LocatedA (body (GhcPass p)))
, HiePass p
, AnnoBody p body
- ) => ToHie (LocatedAn NoEpAnns (GRHS (GhcPass p) (LocatedA (body (GhcPass p))))) where
+ ) => ToHie (LocatedAnS NoEpAnns (GRHS (GhcPass p) (LocatedA (body (GhcPass p))))) where
toHie (L span g) = concatM $ makeNodeA g span : case g of
GRHS _ guards body ->
[ toHie $ listScopes (mkLScopeA body) guards
@@ -1106,7 +1106,7 @@ instance HiePass p => ToHie (LocatedA (HsExpr (GhcPass p))) where
]
HsUnboundVar _ _ -> [] -- there is an unbound name here, but that causes trouble
HsRecSel _ fld ->
- [ toHie $ RFC RecFieldOcc Nothing (L (l2l mspan:: SrcAnn NoEpAnns) fld)
+ [ toHie $ RFC RecFieldOcc Nothing (L (l2l mspan:: EpAnnS NoEpAnns) fld)
]
HsOverLabel {} -> []
HsIPVar _ _ -> []
@@ -1168,7 +1168,7 @@ instance HiePass p => ToHie (LocatedA (HsExpr (GhcPass p))) where
, toHie expr
]
HsDo _ _ (L ispan stmts) ->
- [ locOnly (locA ispan)
+ [ locOnly (locI ispan)
, toHie $ listScopes NoScope stmts
]
ExplicitList _ exprs ->
@@ -1374,14 +1374,14 @@ instance ( ToHie (RFContext label)
, toHie expr
]
-instance HiePass p => ToHie (RFContext (LocatedAn NoEpAnns (FieldOcc (GhcPass p)))) where
+instance HiePass p => ToHie (RFContext (LocatedAnS NoEpAnns (FieldOcc (GhcPass p)))) where
toHie (RFC c rhs (L nspan f)) = concatM $ case f of
FieldOcc fld _ ->
case hiePass @p of
HieRn -> [toHie $ C (RecField c rhs) (L (locA nspan) fld)]
HieTc -> [toHie $ C (RecField c rhs) (L (locA nspan) fld)]
-instance HiePass p => ToHie (RFContext (LocatedAn NoEpAnns (AmbiguousFieldOcc (GhcPass p)))) where
+instance HiePass p => ToHie (RFContext (LocatedAnS NoEpAnns (AmbiguousFieldOcc (GhcPass p)))) where
toHie (RFC c rhs (L nspan afo)) = concatM $ case afo of
Unambiguous fld _ ->
case hiePass @p of
@@ -1411,7 +1411,7 @@ instance ToHie (HsConDeclGADTDetails GhcRn) where
toHie (PrefixConGADT args) = toHie args
toHie (RecConGADT rec _) = toHie rec
-instance HiePass p => ToHie (LocatedAn NoEpAnns (HsCmdTop (GhcPass p))) where
+instance HiePass p => ToHie (LocatedAnS NoEpAnns (HsCmdTop (GhcPass p))) where
toHie (L span top) = concatM $ makeNodeA top span : case top of
HsCmdTop _ cmd ->
[ toHie cmd
@@ -1454,7 +1454,7 @@ instance HiePass p => ToHie (LocatedA (HsCmd (GhcPass p))) where
, toHie cmd'
]
HsCmdDo _ (L ispan stmts) ->
- [ locOnly (locA ispan)
+ [ locOnly (locI ispan)
, toHie $ listScopes NoScope stmts
]
XCmd _ -> []
@@ -1487,11 +1487,11 @@ instance ToHie (LocatedA (TyClDecl GhcRn)) where
, toHie defn
]
where
- quant_scope = mkLScopeA $ fromMaybe (noLocA []) $ dd_ctxt defn
+ quant_scope = mkLScopeI $ fromMaybe (noLocI []) $ dd_ctxt defn
rhs_scope = sig_sc `combineScopes` con_sc `combineScopes` deriv_sc
sig_sc = maybe NoScope mkLScopeA $ dd_kindSig defn
con_sc = foldr combineScopes NoScope $ mkLScopeA <$> dd_cons defn
- deriv_sc = foldr combineScopes NoScope $ mkLScopeA <$> dd_derivs defn
+ deriv_sc = foldr combineScopes NoScope $ mkLScopeI <$> dd_derivs defn
ClassDecl { tcdCtxt = context
, tcdLName = name
, tcdTyVars = vars
@@ -1512,7 +1512,7 @@ instance ToHie (LocatedA (TyClDecl GhcRn)) where
, toHie deftyps
]
where
- context_scope = mkLScopeA $ fromMaybe (noLocA []) context
+ context_scope = mkLScopeI $ fromMaybe (noLocI []) context
rhs_scope = foldl1' combineScopes $ map mkScope
[ loc deps, loc sigs, loc (bagToList meths), loc typs, loc deftyps]
@@ -1527,8 +1527,8 @@ instance ToHie (LocatedA (FamilyDecl GhcRn)) where
]
where
rhsSpan = sigSpan `combineScopes` injSpan
- sigSpan = mkScope $ getLocA sig
- injSpan = maybe NoScope (mkScope . getLocA) inj
+ sigSpan = mkScope $ getLocI sig
+ injSpan = maybe NoScope (mkScope . getLocI) inj
instance ToHie (FamilyInfo GhcRn) where
toHie (ClosedTypeFamily (Just eqns)) = concatM $
@@ -1539,8 +1539,8 @@ instance ToHie (FamilyInfo GhcRn) where
go (L l ib) = TS (ResolvedScopes [mkScopeA l]) ib
toHie _ = pure []
-instance ToHie (RScoped (LocatedAn NoEpAnns (FamilyResultSig GhcRn))) where
- toHie (RS sc (L span sig)) = concatM $ makeNodeA sig span : case sig of
+instance ToHie (RScoped (LocatedAn NoEpAnns (FamilyResultSig GhcRn))) where
+ toHie (RS sc (L span sig)) = concatM $ makeNodeI sig span : case sig of
NoSig _ ->
[]
KindSig _ k ->
@@ -1577,7 +1577,7 @@ instance (ToHie rhs, HasLoc rhs)
rhsScope = mkScope (loc rhs)
instance ToHie (LocatedAn NoEpAnns (InjectivityAnn GhcRn)) where
- toHie (L span ann) = concatM $ makeNodeA ann span : case ann of
+ toHie (L span ann) = concatM $ makeNodeI ann span : case ann of
InjectivityAnn _ lhs rhs ->
[ toHie $ C Use lhs
, toHie $ map (C Use) rhs
@@ -1598,26 +1598,26 @@ instance ToHie (Located [LocatedAn NoEpAnns (HsDerivingClause GhcRn)]) where
]
instance ToHie (LocatedAn NoEpAnns (HsDerivingClause GhcRn)) where
- toHie (L span cl) = concatM $ makeNodeA cl span : case cl of
+ toHie (L span cl) = concatM $ makeNodeI cl span : case cl of
HsDerivingClause _ strat dct ->
- [ toHie (RS (mkLScopeA dct) <$> strat)
+ [ toHie (RS (mkLScopeI dct) <$> strat)
, toHie dct
]
instance ToHie (LocatedC (DerivClauseTys GhcRn)) where
- toHie (L span dct) = concatM $ makeNodeA dct span : case dct of
+ toHie (L span dct) = concatM $ makeNodeI dct span : case dct of
DctSingle _ ty -> [ toHie $ TS (ResolvedScopes []) ty ]
DctMulti _ tys -> [ toHie $ map (TS (ResolvedScopes [])) tys ]
instance ToHie (RScoped (LocatedAn NoEpAnns (DerivStrategy GhcRn))) where
- toHie (RS sc (L span strat)) = concatM $ makeNodeA strat span : case strat of
+ toHie (RS sc (L span strat)) = concatM $ makeNodeI strat span : case strat of
StockStrategy _ -> []
AnyclassStrategy _ -> []
NewtypeStrategy _ -> []
ViaStrategy s -> [ toHie (TS (ResolvedScopes [sc]) s) ]
instance ToHie (LocatedP OverlapMode) where
- toHie (L span _) = locOnly (locA span)
+ toHie (L span _) = locOnly (locI span)
instance ToHie a => ToHie (HsScaled GhcRn a) where
toHie (HsScaled w t) = concatM [toHie (arrowToHsType w), toHie t]
@@ -1641,10 +1641,10 @@ instance ToHie (LocatedA (ConDecl GhcRn)) where
]
where
rhsScope = combineScopes argsScope tyScope
- ctxScope = maybe NoScope mkLScopeA ctx
+ ctxScope = maybe NoScope mkLScopeI ctx
argsScope = case args of
PrefixConGADT xs -> scaled_args_scope xs
- RecConGADT x _ -> mkLScopeA x
+ RecConGADT x _ -> mkLScopeI x
tyScope = mkLScopeA typ
resScope = ResolvedScopes [ctxScope, rhsScope]
ConDeclH98 { con_name = name, con_ex_tvs = qvars
@@ -1658,17 +1658,17 @@ instance ToHie (LocatedA (ConDecl GhcRn)) where
]
where
rhsScope = combineScopes ctxScope argsScope
- ctxScope = maybe NoScope mkLScopeA ctx
+ ctxScope = maybe NoScope mkLScopeI ctx
argsScope = case dets of
PrefixCon _ xs -> scaled_args_scope xs
InfixCon a b -> scaled_args_scope [a, b]
- RecCon x -> mkLScopeA x
+ RecCon x -> mkLScopeI x
where scaled_args_scope :: [HsScaled GhcRn (LHsType GhcRn)] -> Scope
scaled_args_scope = foldr combineScopes NoScope . map (mkLScopeA . hsScaledThing)
instance ToHie (LocatedL [LocatedA (ConDeclField GhcRn)]) where
toHie (L span decls) = concatM $
- [ locOnly (locA span)
+ [ locOnly (locI span)
, toHie decls
]
@@ -1733,7 +1733,7 @@ instance HiePass p => ToHie (SigContext (LocatedA (Sig (GhcPass p)))) where
]
SCCFunSig _ name mtxt ->
[ toHie $ (C Use) name
- , maybe (pure []) (locOnly . getLocA) mtxt
+ , maybe (pure []) (locOnly . getLocI) mtxt
]
CompleteMatchSig _ (L ispan names) typ ->
[ locOnly ispan
@@ -1860,7 +1860,7 @@ instance ToHie (TScoped (LHsQTyVars GhcRn)) where
instance ToHie (LocatedC [LocatedA (HsType GhcRn)]) where
toHie (L span tys) = concatM $
- [ locOnly (locA span)
+ [ locOnly (locI span)
, toHie tys
]
@@ -1909,7 +1909,7 @@ instance ToHie PendingTcSplice where
toHie (PendingTcSplice _ e) = toHie e
instance ToHie (LBooleanFormula (LocatedN Name)) where
- toHie (L span form) = concatM $ makeNode form (locA span) : case form of
+ toHie (L span form) = concatM $ makeNode form (locI span) : case form of
Var a ->
[ toHie $ C Use a
]
@@ -1923,8 +1923,8 @@ instance ToHie (LBooleanFormula (LocatedN Name)) where
[ toHie f
]
-instance ToHie (LocatedAn NoEpAnns HsIPName) where
- toHie (L span e) = makeNodeA e span
+instance ToHie (LocatedAn NoEpAnns HsIPName) where
+ toHie (L span e) = makeNodeI e span
instance HiePass p => ToHie (LocatedA (HsUntypedSplice (GhcPass p))) where
toHie (L span sp) = concatM $ makeNodeA sp span : case sp of
@@ -1932,7 +1932,7 @@ instance HiePass p => ToHie (LocatedA (HsUntypedSplice (GhcPass p))) where
[ toHie expr
]
HsQuasiQuote _ _ ispanFs ->
- [ locOnly (getLocA ispanFs)
+ [ locOnly (getLocI ispanFs)
]
instance ToHie (LocatedA (RoleAnnotDecl GhcRn)) where
@@ -2062,19 +2062,19 @@ instance ToHie (LocatedA (RuleDecls GhcRn)) where
instance ToHie (LocatedA (RuleDecl GhcRn)) where
toHie (L span r@(HsRule _ rname _ tybndrs bndrs exprA exprB)) = concatM
[ makeNodeA r span
- , locOnly $ getLocA rname
+ , locOnly $ getLocI rname
, toHie $ fmap (tvScopes (ResolvedScopes []) scope) tybndrs
, toHie $ map (RS $ mkScope (locA span)) bndrs
, toHie exprA
, toHie exprB
]
where scope = bndrs_sc `combineScopes` exprA_sc `combineScopes` exprB_sc
- bndrs_sc = maybe NoScope mkLScopeA (listToMaybe bndrs)
+ bndrs_sc = maybe NoScope mkLScopeI (listToMaybe bndrs)
exprA_sc = mkLScopeA exprA
exprB_sc = mkLScopeA exprB
instance ToHie (RScoped (LocatedAn NoEpAnns (RuleBndr GhcRn))) where
- toHie (RS sc (L span bndr)) = concatM $ makeNodeA bndr span : case bndr of
+ toHie (RS sc (L span bndr)) = concatM $ makeNodeI bndr span : case bndr of
RuleBndr _ var ->
[ toHie $ C (ValBind RegularBind sc Nothing) var
]
@@ -2092,7 +2092,7 @@ instance ToHie (LocatedA (ImportDecl GhcRn)) where
]
where
goIE (hiding, (L sp liens)) = concatM $
- [ locOnly (locA sp)
+ [ locOnly (locI sp)
, toHie $ map (IEC c) liens
]
where
diff --git a/compiler/GHC/Iface/Ext/Utils.hs b/compiler/GHC/Iface/Ext/Utils.hs
index 105e13acd9..a0e5571193 100644
--- a/compiler/GHC/Iface/Ext/Utils.hs
+++ b/compiler/GHC/Iface/Ext/Utils.hs
@@ -527,7 +527,7 @@ locOnly (RealSrcSpan span _) = do
pure [Node e span []]
locOnly _ = pure []
-mkScopeA :: SrcSpanAnn' ann -> Scope
+mkScopeA :: EpAnnS ann -> Scope
mkScopeA l = mkScope (locA l)
mkScope :: SrcSpan -> Scope
@@ -537,11 +537,14 @@ mkScope _ = NoScope
mkLScope :: Located a -> Scope
mkLScope = mkScope . getLoc
-mkLScopeA :: GenLocated (SrcSpanAnn' a) e -> Scope
+mkLScopeA :: LocatedAnS a e -> Scope
mkLScopeA = mkScope . locA . getLoc
+mkLScopeI :: GenLocated (SrcAnn a) e -> Scope
+mkLScopeI = mkScope . locI . getLoc
+
mkLScopeN :: LocatedN a -> Scope
-mkLScopeN = mkScope . getLocA
+mkLScopeN = mkScope . getLocN
combineScopes :: Scope -> Scope -> Scope
combineScopes ModuleScope _ = ModuleScope
@@ -557,11 +560,19 @@ mkSourcedNodeInfo org ni = SourcedNodeInfo $ M.singleton org ni
{-# INLINEABLE makeNodeA #-}
makeNodeA
:: (Monad m, Data a)
- => a -- ^ helps fill in 'nodeAnnotations' (with 'Data')
- -> SrcSpanAnn' ann -- ^ return an empty list if this is unhelpful
+ => a -- ^ helps fill in 'nodeAnnotations' (with 'Data')
+ -> EpAnnS ann -- ^ return an empty list if this is unhelpful
-> ReaderT NodeOrigin m [HieAST b]
makeNodeA x spn = makeNode x (locA spn)
+{-# INLINEABLE makeNodeI #-}
+makeNodeI
+ :: (Monad m, Data a)
+ => a -- ^ helps fill in 'nodeAnnotations' (with 'Data')
+ -> SrcAnn ann -- ^ return an empty list if this is unhelpful
+ -> ReaderT NodeOrigin m [HieAST b]
+makeNodeI x spn = makeNode x (locI spn)
+
{-# INLINEABLE makeNode #-}
makeNode
:: (Monad m, Data a)
diff --git a/compiler/GHC/IfaceToCore.hs b/compiler/GHC/IfaceToCore.hs
index 2a81b9c2a0..47b9246ad1 100644
--- a/compiler/GHC/IfaceToCore.hs
+++ b/compiler/GHC/IfaceToCore.hs
@@ -291,7 +291,7 @@ mergeIfaceDecl d1 d2
(mkNameEnv [ (n, op) | op@(IfaceClassOp n _ _) <- ops2 ])
in d1 { ifBody = (ifBody d1) {
ifSigs = ops,
- ifMinDef = BF.mkOr [noLocA bf1, noLocA bf2]
+ ifMinDef = BF.mkOr [noLocI bf1, noLocI bf2]
}
} `withRolesFrom` d2
-- It doesn't matter; we'll check for consistency later when
diff --git a/compiler/GHC/Parser.y b/compiler/GHC/Parser.y
index d95d9d1512..a7a2880c15 100644
--- a/compiler/GHC/Parser.y
+++ b/compiler/GHC/Parser.y
@@ -886,7 +886,7 @@ unitdecl :: { LHsUnitDecl PackageName }
signature :: { Located (HsModule GhcPs) }
: 'signature' modid maybemodwarning maybeexports 'where' body
{% fileSrcSpan >>= \ loc ->
- acs (\cs-> (L loc (HsModule (XModulePs
+ acs (\cs -> (L loc (HsModule (XModulePs
(EpAnn (spanAsAnchor loc) (AnnsModule [mj AnnSignature $1, mj AnnWhere $5] (fstOf3 $6) Nothing) cs)
(thdOf3 $6) $3 Nothing)
(Just $2) $4 (fst $ sndOf3 $6)
@@ -918,10 +918,10 @@ implicit_top :: { () }
maybemodwarning :: { Maybe (LocatedP (WarningTxt GhcPs)) }
: '{-# DEPRECATED' strings '#-}'
- {% fmap Just $ amsrp (sLL $1 $> $ DeprecatedTxt (sL1 $1 $ getDEPRECATED_PRAGs $1) (map stringLiteralToHsDocWst $ snd $ unLoc $2))
+ {% fmap Just $ amsrp (sLL $1 $> $ DeprecatedTxt (getDEPRECATED_PRAGs $1) (map stringLiteralToHsDocWst $ snd $ unLoc $2))
(AnnPragma (mo $1) (mc $3) (fst $ unLoc $2)) }
| '{-# WARNING' warning_category strings '#-}'
- {% fmap Just $ amsrp (sLL $1 $> $ WarningTxt $2 (sL1 $1 $ getWARNING_PRAGs $1) (map stringLiteralToHsDocWst $ snd $ unLoc $3))
+ {% fmap Just $ amsrp (sLL $1 $> $ WarningTxt $2 (getWARNING_PRAGs $1) (map stringLiteralToHsDocWst $ snd $ unLoc $3))
(AnnPragma (mo $1) (mc $4) (fst $ unLoc $3))}
| {- empty -} { Nothing }
@@ -1362,18 +1362,18 @@ overlap_pragma :: { Maybe (LocatedP OverlapMode) }
| {- empty -} { Nothing }
deriv_strategy_no_via :: { LDerivStrategy GhcPs }
- : 'stock' {% acsA (\cs -> sL1 $1 (StockStrategy (EpAnn (glR $1) [mj AnnStock $1] cs))) }
- | 'anyclass' {% acsA (\cs -> sL1 $1 (AnyclassStrategy (EpAnn (glR $1) [mj AnnAnyclass $1] cs))) }
- | 'newtype' {% acsA (\cs -> sL1 $1 (NewtypeStrategy (EpAnn (glR $1) [mj AnnNewtype $1] cs))) }
+ : 'stock' {% acsI (\cs -> sL1 $1 (StockStrategy (EpAnn (glR $1) [mj AnnStock $1] cs))) }
+ | 'anyclass' {% acsI (\cs -> sL1 $1 (AnyclassStrategy (EpAnn (glR $1) [mj AnnAnyclass $1] cs))) }
+ | 'newtype' {% acsI (\cs -> sL1 $1 (NewtypeStrategy (EpAnn (glR $1) [mj AnnNewtype $1] cs))) }
deriv_strategy_via :: { LDerivStrategy GhcPs }
- : 'via' sigktype {% acsA (\cs -> sLLlA $1 $> (ViaStrategy (XViaStrategyPs (EpAnn (glR $1) [mj AnnVia $1] cs)
+ : 'via' sigktype {% acsI (\cs -> sLLlA $1 $> (ViaStrategy (XViaStrategyPs (EpAnn (glR $1) [mj AnnVia $1] cs)
$2))) }
deriv_standalone_strategy :: { Maybe (LDerivStrategy GhcPs) }
- : 'stock' {% fmap Just $ acsA (\cs -> sL1 $1 (StockStrategy (EpAnn (glR $1) [mj AnnStock $1] cs))) }
- | 'anyclass' {% fmap Just $ acsA (\cs -> sL1 $1 (AnyclassStrategy (EpAnn (glR $1) [mj AnnAnyclass $1] cs))) }
- | 'newtype' {% fmap Just $ acsA (\cs -> sL1 $1 (NewtypeStrategy (EpAnn (glR $1) [mj AnnNewtype $1] cs))) }
+ : 'stock' {% fmap Just $ acsI (\cs -> sL1 $1 (StockStrategy (EpAnn (glR $1) [mj AnnStock $1] cs))) }
+ | 'anyclass' {% fmap Just $ acsI (\cs -> sL1 $1 (AnyclassStrategy (EpAnn (glR $1) [mj AnnAnyclass $1] cs))) }
+ | 'newtype' {% fmap Just $ acsI (\cs -> sL1 $1 (NewtypeStrategy (EpAnn (glR $1) [mj AnnNewtype $1] cs))) }
| deriv_strategy_via { Just $1 }
| {- empty -} { Nothing }
@@ -1381,12 +1381,12 @@ deriv_standalone_strategy :: { Maybe (LDerivStrategy GhcPs) }
opt_injective_info :: { Located ([AddEpAnn], Maybe (LInjectivityAnn GhcPs)) }
: {- empty -} { noLoc ([], Nothing) }
- | '|' injectivity_cond { sLL $1 (reLoc $>) ([mj AnnVbar $1]
+ | '|' injectivity_cond { sLL $1 (reLocI $>) ([mj AnnVbar $1]
, Just ($2)) }
injectivity_cond :: { LInjectivityAnn GhcPs }
: tyvarid '->' inj_varids
- {% acsA (\cs -> sLL (reLocN $1) $> (InjectivityAnn (EpAnn (glNR $1) [mu AnnRarrow $2] cs) $1 (reverse (unLoc $3)))) }
+ {% acsI (\cs -> sLL (reLocN $1) $> (InjectivityAnn (EpAnn (glNR $1) [mu AnnRarrow $2] cs) $1 (reverse (unLoc $3)))) }
inj_varids :: { Located [LocatedN RdrName] }
: inj_varids tyvarid { sLL $1 (reLocN $>) ($2 : unLoc $1) }
@@ -1423,7 +1423,7 @@ ty_fam_inst_eqns :: { Located [LTyFamInstEqn GhcPs] }
(h:t) -> do
h' <- addTrailingSemiA h (gl $2)
return (sLL $1 $> (h':t)) }
- | ty_fam_inst_eqn { sLLAA $1 $> [$1] }
+ | ty_fam_inst_eqn { sL1 (reLoc $1) $ [$1] }
| {- empty -} { noLoc [] }
ty_fam_inst_eqn :: { LTyFamInstEqn GhcPs }
@@ -1527,24 +1527,24 @@ opt_kind_sig :: { Located ([AddEpAnn], Maybe (LHsKind GhcPs)) }
| '::' kind { sLL $1 (reLoc $>) ([mu AnnDcolon $1], Just $2) }
opt_datafam_kind_sig :: { Located ([AddEpAnn], LFamilyResultSig GhcPs) }
- : { noLoc ([] , noLocA (NoSig noExtField) )}
- | '::' kind { sLL $1 (reLoc $>) ([mu AnnDcolon $1], sLLa $1 (reLoc $>) (KindSig noExtField $2))}
+ : { noLoc ([] , noLocI (NoSig noExtField) )}
+ | '::' kind { sLL $1 (reLoc $>) ([mu AnnDcolon $1], sLLi $1 (reLoc $>) (KindSig noExtField $2))}
opt_tyfam_kind_sig :: { Located ([AddEpAnn], LFamilyResultSig GhcPs) }
- : { noLoc ([] , noLocA (NoSig noExtField) )}
- | '::' kind { sLL $1 (reLoc $>) ([mu AnnDcolon $1], sLLa $1 (reLoc $>) (KindSig noExtField $2))}
+ : { noLoc ([] , noLocI (NoSig noExtField) )}
+ | '::' kind { sLL $1 (reLoc $>) ([mu AnnDcolon $1], sLLi $1 (reLoc $>) (KindSig noExtField $2))}
| '=' tv_bndr {% do { tvb <- fromSpecTyVarBndr $2
- ; return $ sLL $1 (reLoc $>) ([mj AnnEqual $1], sLLa $1 (reLoc $>) (TyVarSig noExtField tvb))} }
+ ; return $ sLL $1 (reLoc $>) ([mj AnnEqual $1], sLLi $1 (reLoc $>) (TyVarSig noExtField tvb))} }
opt_at_kind_inj_sig :: { Located ([AddEpAnn], ( LFamilyResultSig GhcPs
, Maybe (LInjectivityAnn GhcPs)))}
- : { noLoc ([], (noLocA (NoSig noExtField), Nothing)) }
+ : { noLoc ([], (noLocI (NoSig noExtField), Nothing)) }
| '::' kind { sLL $1 (reLoc $>) ( [mu AnnDcolon $1]
- , (sL1a (reLoc $>) (KindSig noExtField $2), Nothing)) }
+ , (sL1i (reLoc $>) (KindSig noExtField $2), Nothing)) }
| '=' tv_bndr_no_braces '|' injectivity_cond
{% do { tvb <- fromSpecTyVarBndr $2
- ; return $ sLL $1 (reLoc $>) ([mj AnnEqual $1, mj AnnVbar $3]
- , (sLLa $1 (reLoc $2) (TyVarSig noExtField tvb), Just $4))} }
+ ; return $ sLL $1 (reLocI $>) ([mj AnnEqual $1, mj AnnVbar $3]
+ , (sLLi $1 (reLoc $2) (TyVarSig noExtField tvb), Just $4))} }
-- tycl_hdr parses the header of a class or data type decl,
-- which takes the form
@@ -1554,7 +1554,7 @@ opt_at_kind_inj_sig :: { Located ([AddEpAnn], ( LFamilyResultSig GhcPs
-- T Int [a] -- for associated types
-- Rather a lot of inlining here, else we get reduce/reduce errors
tycl_hdr :: { Located (Maybe (LHsContext GhcPs), LHsType GhcPs) }
- : context '=>' type {% acs (\cs -> (sLLAA $1 $> (Just (addTrailingDarrowC $1 $2 cs), $3))) }
+ : context '=>' type {% acs (\cs -> (sLL (reLocI $1) (reLoc $>) (Just (addTrailingDarrowC $1 $2 cs), $3))) }
| type { sL1A $1 (Nothing, $1) }
datafam_inst_hdr :: { Located (Maybe (LHsContext GhcPs), HsOuterFamEqnTyVarBndrs GhcPs, LHsType GhcPs) }
@@ -1571,7 +1571,7 @@ datafam_inst_hdr :: { Located (Maybe (LHsContext GhcPs), HsOuterFamEqnTyVarBndrs
; cs <- getCommentsFor loc
; return (sL loc (Nothing, mkHsOuterExplicit (EpAnn (glR $1) (mu AnnForall $1, mj AnnDot $3) cs) tvbs, $4))
} }
- | context '=>' type {% acs (\cs -> (sLLAA $1 $>(Just (addTrailingDarrowC $1 $2 cs), mkHsOuterImplicit, $3))) }
+ | context '=>' type {% acs (\cs -> (sLL (reLocI $1) (reLoc $>) (Just (addTrailingDarrowC $1 $2 cs), mkHsOuterImplicit, $3))) }
| type { sL1A $1 (Nothing, mkHsOuterImplicit, $1) }
@@ -1603,7 +1603,7 @@ stand_alone_deriving :: { LDerivDecl GhcPs }
role_annot :: { LRoleAnnotDecl GhcPs }
role_annot : 'type' 'role' oqtycon maybe_roles
- {% mkRoleAnnotDecl (comb3N $1 $4 $3) $3 (reverse (unLoc $4))
+ {% mkRoleAnnotDecl (comb3A $1 $4 $3) $3 (reverse (unLoc $4))
[mj AnnType $1,mj AnnRole $2] }
-- Reversed!
@@ -1638,7 +1638,7 @@ pattern_synonym_decl :: { LHsDecl GhcPs }
| 'pattern' pattern_synonym_lhs '<-' pat where_decls
{% do { let (name, args, as) = $2
; mg <- mkPatSynMatchGroup name $5
- ; acsA (\cs -> sLL $1 (reLoc $>) . ValD noExtField $
+ ; acsA (\cs -> sLL $1 (reLocI $>) . ValD noExtField $
mkPatSynBind name args $4 (ExplicitBidirectional mg)
(EpAnn (glR $1) (as ++ [mj AnnPattern $1,mu AnnLarrow $3]) cs))
}}
@@ -1659,9 +1659,9 @@ cvars1 :: { [RecordPatSynField GhcPs] }
where_decls :: { LocatedL (OrdList (LHsDecl GhcPs)) }
: 'where' '{' decls '}' {% amsrl (sLL $1 $> (snd $ unLoc $3))
- (AnnList (Just $ glR $3) (Just $ moc $2) (Just $ mcc $4) [mj AnnWhere $1] (fst $ unLoc $3)) }
+ (AnnList (glRM $3) (Just $ moc $2) (Just $ mcc $4) [mj AnnWhere $1] (fst $ unLoc $3)) }
| 'where' vocurly decls close {% amsrl (sLL $1 $3 (snd $ unLoc $3))
- (AnnList (Just $ glR $3) Nothing Nothing [mj AnnWhere $1] (fst $ unLoc $3))}
+ (AnnList (glRM $3) Nothing Nothing [mj AnnWhere $1] (fst $ unLoc $3))}
pattern_synonym_sig :: { LSig GhcPs }
: 'pattern' con_list '::' sigtype
@@ -1798,9 +1798,9 @@ decls :: { Located ([TrailingAnn], OrdList (LHsDecl GhcPs)) }
| {- empty -} { noLoc ([],nilOL) }
decllist :: { Located (AnnList,Located (OrdList (LHsDecl GhcPs))) }
- : '{' decls '}' { sLL $1 $> (AnnList (Just $ glR $2) (Just $ moc $1) (Just $ mcc $3) [] (fst $ unLoc $2)
+ : '{' decls '}' { sLL $1 $> (AnnList (glRM $2) (Just $ moc $1) (Just $ mcc $3) [] (fst $ unLoc $2)
,sL1 $2 $ snd $ unLoc $2) }
- | vocurly decls close { L (gl $2) (AnnList (Just $ glR $2) Nothing Nothing [] (fst $ unLoc $2)
+ | vocurly decls close { L (gl $2) (AnnList (glRM $2) Nothing Nothing [] (fst $ unLoc $2)
,sL1 $2 $ snd $ unLoc $2) }
-- Binding groups other than those of class and instance declarations
@@ -1816,7 +1816,7 @@ binds :: { Located (HsLocalBinds GhcPs) }
$ HsIPBinds (EpAnn (glR $1) (AnnList (Just$ glR $2) (Just $ moc $1) (Just $ mcc $3) [] []) cs) (IPBinds noExtField (reverse $ unLoc $2)))) }
| vocurly dbinds close {% acs (\cs -> (L (gl $2)
- $ HsIPBinds (EpAnn (glR $1) (AnnList (Just $ glR $2) Nothing Nothing [] []) cs) (IPBinds noExtField (reverse $ unLoc $2)))) }
+ $ HsIPBinds (EpAnn (glR $1) (AnnList (glRM $2) Nothing Nothing [] []) cs) (IPBinds noExtField (reverse $ unLoc $2)))) }
wherebinds :: { Maybe (Located (HsLocalBinds GhcPs, Maybe EpAnnComments )) }
@@ -1850,7 +1850,7 @@ rule :: { LRuleDecl GhcPs }
runPV (unECP $6) >>= \ $6 ->
acsA (\cs -> (sLLlA $1 $> $ HsRule
{ rd_ext = (EpAnn (glR $1) ((fstOf3 $3) (mj AnnEqual $5 : (fst $2))) cs, getSTRINGs $1)
- , rd_name = L (noAnnSrcSpan $ gl $1) (getSTRING $1)
+ , rd_name = L (noAnnSrcSpanI $ gl $1) (getSTRING $1)
, rd_act = (snd $2) `orElse` AlwaysActive
, rd_tyvs = sndOf3 $3, rd_tmvs = thdOf3 $3
, rd_lhs = $4, rd_rhs = $6 })) }
@@ -1909,8 +1909,8 @@ rule_vars :: { [LRuleTyTmVar] }
| {- empty -} { [] }
rule_var :: { LRuleTyTmVar }
- : varid { sL1l $1 (RuleTyTmVar noAnn $1 Nothing) }
- | '(' varid '::' ctype ')' {% acsA (\cs -> sLL $1 $> (RuleTyTmVar (EpAnn (glR $1) [mop $1,mu AnnDcolon $3,mcp $5] cs) $2 (Just $4))) }
+ : varid { sL1ln $1 (RuleTyTmVar noAnn $1 Nothing) }
+ | '(' varid '::' ctype ')' {% acsI (\cs -> sLL $1 $> (RuleTyTmVar (EpAnn (glR $1) [mop $1,mu AnnDcolon $3,mcp $5] cs) $2 (Just $4))) }
{- Note [Parsing explicit foralls in Rules]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1963,7 +1963,7 @@ warning :: { OrdList (LWarnDecl GhcPs) }
: warning_category namelist strings
{% fmap unitOL $ acsA (\cs -> sLL $2 $>
(Warning (EpAnn (glR $2) (fst $ unLoc $3) cs) (unLoc $2)
- (WarningTxt $1 (noLoc NoSourceText) $ map stringLiteralToHsDocWst $ snd $ unLoc $3))) }
+ (WarningTxt $1 NoSourceText $ map stringLiteralToHsDocWst $ snd $ unLoc $3))) }
deprecations :: { OrdList (LWarnDecl GhcPs) }
: deprecations ';' deprecation
@@ -1986,7 +1986,7 @@ deprecations :: { OrdList (LWarnDecl GhcPs) }
deprecation :: { OrdList (LWarnDecl GhcPs) }
: namelist strings
{% fmap unitOL $ acsA (\cs -> sLL $1 $> $ (Warning (EpAnn (glR $1) (fst $ unLoc $2) cs) (unLoc $1)
- (DeprecatedTxt (noLoc NoSourceText) $ map stringLiteralToHsDocWst $ snd $ unLoc $2))) }
+ (DeprecatedTxt NoSourceText $ map stringLiteralToHsDocWst $ snd $ unLoc $2))) }
strings :: { Located ([AddEpAnn],[Located StringLiteral]) }
: STRING { sL1 $1 ([],[L (gl $1) (getStringLiteral $1)]) }
@@ -2079,7 +2079,7 @@ opt_tyconsig :: { ([AddEpAnn], Maybe (LocatedN RdrName)) }
-- See Note [forall-or-nothing rule] in GHC.Hs.Type.
sigktype :: { LHsSigType GhcPs }
: sigtype { $1 }
- | ctype '::' kind {% acsA (\cs -> sLLAA $1 $> $ mkHsImplicitSigType $
+ | ctype '::' kind {% acsA (\cs -> sLL (reLoc $1) (reLoc $>) $ mkHsImplicitSigType $
sLLa (reLoc $1) (reLoc $>) $ HsKindSig (EpAnn (glAR $1) [mu AnnDcolon $2] cs) $1 $3) }
-- Like ctype, but for types that obey the forall-or-nothing rule.
@@ -2120,7 +2120,7 @@ forall_telescope :: { Located (HsForAllTelescope GhcPs) }
-- A ktype is a ctype, possibly with a kind annotation
ktype :: { LHsType GhcPs }
: ctype { $1 }
- | ctype '::' kind {% acsA (\cs -> sLLAA $1 $> $ HsKindSig (EpAnn (glAR $1) [mu AnnDcolon $2] cs) $1 $3) }
+ | ctype '::' kind {% acsA (\cs -> sLL (reLoc $1) (reLoc $>) $ HsKindSig (EpAnn (glAR $1) [mu AnnDcolon $2] cs) $1 $3) }
-- A ctype is a for-all type
ctype :: { LHsType GhcPs }
@@ -2128,12 +2128,12 @@ ctype :: { LHsType GhcPs }
HsForAllTy { hst_tele = unLoc $1
, hst_xforall = noExtField
, hst_body = $2 } }
- | context '=>' ctype {% acsA (\cs -> (sLL (reLoc $1) (reLoc $>) $
+ | context '=>' ctype {% acsA (\cs -> (sLL (reLocI $1) (reLoc $>) $
HsQualTy { hst_ctxt = addTrailingDarrowC $1 $2 cs
, hst_xqual = NoExtField
, hst_body = $3 })) }
- | ipvar '::' ctype {% acsA (\cs -> sLL $1 (reLoc $>) (HsIParamTy (EpAnn (glR $1) [mu AnnDcolon $2] cs) (reLocA $1) $3)) }
+ | ipvar '::' ctype {% acsA (\cs -> sLL $1 (reLoc $>) (HsIParamTy (EpAnn (glR $1) [mu AnnDcolon $2] cs) (reLocE $1) $3)) }
| type { $1 }
----------------------
@@ -2190,7 +2190,7 @@ infixtype :: { forall b. DisambTD b => PV (LocatedA b) }
| ftype tyop infixtype { $1 >>= \ $1 ->
$3 >>= \ $3 ->
do { let (op, prom) = $2
- ; when (looksLikeMult $1 op $3) $ hintLinear (getLocA op)
+ ; when (looksLikeMult $1 op $3) $ hintLinear (getLocN op)
; mkHsOpTyPV prom $1 op $3 } }
| unpackedness infixtype { $2 >>= \ $2 ->
mkUnpackednessPV $1 $2 }
@@ -2210,10 +2210,10 @@ tyarg :: { LHsType GhcPs }
tyop :: { (LocatedN RdrName, PromotionFlag) }
: qtyconop { ($1, NotPromoted) }
| tyvarop { ($1, NotPromoted) }
- | SIMPLEQUOTE qconop {% do { op <- amsrn (sLL $1 (reLoc $>) (unLoc $2))
+ | SIMPLEQUOTE qconop {% do { op <- amsrn (sLL $1 (reLocN $>) (unLoc $2))
(NameAnnQuote (glAA $1) (gl $2) [])
; return (op, IsPromoted) } }
- | SIMPLEQUOTE varop {% do { op <- amsrn (sLL $1 (reLoc $>) (unLoc $2))
+ | SIMPLEQUOTE varop {% do { op <- amsrn (sLL $1 (reLocN $>) (unLoc $2))
(NameAnnQuote (glAA $1) (gl $2) [])
; return (op, IsPromoted) } }
@@ -2228,7 +2228,7 @@ atype :: { LHsType GhcPs }
| PREFIX_TILDE atype {% acsA (\cs -> sLLlA $1 $> (mkBangTy (EpAnn (glR $1) [mj AnnTilde $1] cs) SrcLazy $2)) }
| PREFIX_BANG atype {% acsA (\cs -> sLLlA $1 $> (mkBangTy (EpAnn (glR $1) [mj AnnBang $1] cs) SrcStrict $2)) }
- | '{' fielddecls '}' {% do { decls <- acsA (\cs -> (sLL $1 $> $ HsRecTy (EpAnn (glR $1) (AnnList (Just $ listAsAnchor $2) (Just $ moc $1) (Just $ mcc $3) [] []) cs) $2))
+ | '{' fielddecls '}' {% do { decls <- acsA (\cs -> (sLL $1 $> $ HsRecTy (EpAnn (glR $1) (AnnList (listAsAnchorM $2) (Just $ moc $1) (Just $ mcc $3) [] []) cs) $2))
; checkRecordSyntax decls }}
-- Constructor sigs only
| '(' ')' {% acsA (\cs -> sLL $1 $> $ HsTupleTy (EpAnn (glR $1) (AnnParen AnnParens (glAA $1) (glAA $2)) cs)
@@ -2422,8 +2422,8 @@ constrs1 :: { Located [LConDecl GhcPs] }
constr :: { LConDecl GhcPs }
: forall context '=>' constr_stuff
{% acsA (\cs -> let (con,details) = unLoc $4 in
- (L (comb4 $1 (reLoc $2) $3 $4) (mkConDeclH98
- (EpAnn (spanAsAnchor (comb4 $1 (reLoc $2) $3 $4))
+ (L (comb4 $1 (reLocI $2) $3 $4) (mkConDeclH98
+ (EpAnn (spanAsAnchor (comb4 $1 (reLocI $2) $3 $4))
(mu AnnDarrow $3:(fst $ unLoc $1)) cs)
con
(snd $ unLoc $1)
@@ -2470,23 +2470,23 @@ maybe_derivings :: { Located (HsDeriving GhcPs) }
-- A list of one or more deriving clauses at the end of a datatype
derivings :: { Located (HsDeriving GhcPs) }
- : derivings deriving { sLL $1 (reLoc $>) ($2 : unLoc $1) } -- AZ: order?
- | deriving { sL1 (reLoc $>) [$1] }
+ : derivings deriving { sLL $1 (reLocI $>) ($2 : unLoc $1) } -- AZ: order?
+ | deriving { sL1 (reLocI $>) [$1] }
-- The outer Located is just to allow the caller to
-- know the rightmost extremity of the 'deriving' clause
deriving :: { LHsDerivingClause GhcPs }
: 'deriving' deriv_clause_types
- {% let { full_loc = comb2A $1 $> }
- in acsA (\cs -> L full_loc $ HsDerivingClause (EpAnn (glR $1) [mj AnnDeriving $1] cs) Nothing $2) }
+ {% let { full_loc = comb2 $1 (reLocI $>) }
+ in acsI (\cs -> L full_loc $ HsDerivingClause (EpAnn (glR $1) [mj AnnDeriving $1] cs) Nothing $2) }
| 'deriving' deriv_strategy_no_via deriv_clause_types
- {% let { full_loc = comb2A $1 $> }
- in acsA (\cs -> L full_loc $ HsDerivingClause (EpAnn (glR $1) [mj AnnDeriving $1] cs) (Just $2) $3) }
+ {% let { full_loc = comb2 $1 (reLocI $>) }
+ in acsI (\cs -> L full_loc $ HsDerivingClause (EpAnn (glR $1) [mj AnnDeriving $1] cs) (Just $2) $3) }
| 'deriving' deriv_clause_types deriv_strategy_via
- {% let { full_loc = comb2 $1 (reLoc $>) }
- in acsA (\cs -> L full_loc $ HsDerivingClause (EpAnn (glR $1) [mj AnnDeriving $1] cs) (Just $3) $2) }
+ {% let { full_loc = comb2 $1 (reLocI $>) }
+ in acsI (\cs -> L full_loc $ HsDerivingClause (EpAnn (glR $1) [mj AnnDeriving $1] cs) (Just $3) $2) }
deriv_clause_types :: { LDerivClauseTys GhcPs }
: qtycon { let { tc = sL1 (reLocL $1) $ mkHsImplicitSigType $
@@ -2526,7 +2526,7 @@ decl_no_th :: { LHsDecl GhcPs }
: sigdecl { $1 }
| infixexp opt_sig rhs {% runPV (unECP $1) >>= \ $1 ->
- do { let { l = comb2Al $1 $> }
+ do { let { l = comb2 (reLoc $1) $> }
; r <- checkValDef l $1 $2 $3;
-- Depending upon what the pattern looks like we might get either
-- a FunBind or PatBind back from checkValDef. See Note
@@ -2568,7 +2568,7 @@ sigdecl :: { LHsDecl GhcPs }
infixexp '::' sigtype
{% do { $1 <- runPV (unECP $1)
; v <- checkValSigLhs $1
- ; acsA (\cs -> (sLLAl $1 (reLoc $>) $ SigD noExtField $
+ ; acsA (\cs -> (sLL (reLoc $1) (reLoc $>) $ SigD noExtField $
TypeSig (EpAnn (glAR $1) (AnnSig (mu AnnDcolon $2) []) cs) [v] (mkHsWildCardBndrs $3)))} }
| var ',' sig_vars '::' sigtype
@@ -2613,7 +2613,7 @@ sigdecl :: { LHsDecl GhcPs }
| '{-# SCC' qvar STRING '#-}'
{% do { scc <- getSCC $3
; let str_lit = StringLiteral (getSTRINGs $3) scc Nothing
- ; acsA (\cs -> sLL $1 $> (SigD noExtField (SCCFunSig ((EpAnn (glR $1) [mo $1, mc $4] cs), (getSCC_PRAGs $1)) $2 (Just ( sL1a $3 str_lit))))) }}
+ ; acsA (\cs -> sLL $1 $> (SigD noExtField (SCCFunSig ((EpAnn (glR $1) [mo $1, mc $4] cs), (getSCC_PRAGs $1)) $2 (Just ( sL1i $3 str_lit))))) }}
| '{-# SPECIALISE' activation qvar '::' sigtypes1 '#-}'
{% acsA (\cs ->
@@ -2653,38 +2653,38 @@ quasiquote :: { Located (HsUntypedSplice GhcPs) }
: TH_QUASIQUOTE { let { loc = getLoc $1
; ITquasiQuote (quoter, quote, quoteSpan) = unLoc $1
; quoterId = mkUnqual varName quoter }
- in sL1 $1 (HsQuasiQuote noExtField quoterId (L (noAnnSrcSpan (mkSrcSpanPs quoteSpan)) quote)) }
+ in sL1 $1 (HsQuasiQuote noExtField quoterId (L (noAnnSrcSpanI (mkSrcSpanPs quoteSpan)) quote)) }
| TH_QQUASIQUOTE { let { loc = getLoc $1
; ITqQuasiQuote (qual, quoter, quote, quoteSpan) = unLoc $1
; quoterId = mkQual varName (qual, quoter) }
- in sL1 $1 (HsQuasiQuote noExtField quoterId (L (noAnnSrcSpan (mkSrcSpanPs quoteSpan)) quote)) }
+ in sL1 $1 (HsQuasiQuote noExtField quoterId (L (noAnnSrcSpanI (mkSrcSpanPs quoteSpan)) quote)) }
exp :: { ECP }
: infixexp '::' ctype
{ ECP $
unECP $1 >>= \ $1 ->
rejectPragmaPV $1 >>
- mkHsTySigPV (noAnnSrcSpan $ comb2Al $1 (reLoc $>)) $1 $3
+ mkHsTySigPV (noAnnSrcSpan $ comb2 (reLoc $1) (reLoc $>)) $1 $3
[(mu AnnDcolon $2)] }
| infixexp '-<' exp {% runPV (unECP $1) >>= \ $1 ->
runPV (unECP $3) >>= \ $3 ->
fmap ecpFromCmd $
- acsA (\cs -> sLLAA $1 $> $ HsCmdArrApp (EpAnn (glAR $1) (mu Annlarrowtail $2) cs) $1 $3
+ acsA (\cs -> sLL (reLoc $1) (reLoc $>) $ HsCmdArrApp (EpAnn (glAR $1) (mu Annlarrowtail $2) cs) $1 $3
HsFirstOrderApp True) }
| infixexp '>-' exp {% runPV (unECP $1) >>= \ $1 ->
runPV (unECP $3) >>= \ $3 ->
fmap ecpFromCmd $
- acsA (\cs -> sLLAA $1 $> $ HsCmdArrApp (EpAnn (glAR $1) (mu Annrarrowtail $2) cs) $3 $1
+ acsA (\cs -> sLL (reLoc $1) (reLoc $>) $ HsCmdArrApp (EpAnn (glAR $1) (mu Annrarrowtail $2) cs) $3 $1
HsFirstOrderApp False) }
| infixexp '-<<' exp {% runPV (unECP $1) >>= \ $1 ->
runPV (unECP $3) >>= \ $3 ->
fmap ecpFromCmd $
- acsA (\cs -> sLLAA $1 $> $ HsCmdArrApp (EpAnn (glAR $1) (mu AnnLarrowtail $2) cs) $1 $3
+ acsA (\cs -> sLL (reLoc $1) (reLoc $>) $ HsCmdArrApp (EpAnn (glAR $1) (mu AnnLarrowtail $2) cs) $1 $3
HsHigherOrderApp True) }
| infixexp '>>-' exp {% runPV (unECP $1) >>= \ $1 ->
runPV (unECP $3) >>= \ $3 ->
fmap ecpFromCmd $
- acsA (\cs -> sLLAA $1 $> $ HsCmdArrApp (EpAnn (glAR $1) (mu AnnRarrowtail $2) cs) $3 $1
+ acsA (\cs -> sLL (reLoc $1) (reLoc $>) $ HsCmdArrApp (EpAnn (glAR $1) (mu AnnRarrowtail $2) cs) $3 $1
HsHigherOrderApp False) }
-- See Note [%shift: exp -> infixexp]
| infixexp %shift { $1 }
@@ -2824,8 +2824,8 @@ aexp :: { ECP }
{ ECP $
unECP $4 >>= \ $4 ->
mkHsLamPV (comb2 $1 (reLoc $>)) (\cs -> mkMatchGroup FromSource
- (reLocA $ sLLlA $1 $>
- [reLocA $ sLLlA $1 $>
+ (reLocE $ sLL $1 (reLoc $>)
+ [reLocA $ sLL $1 (reLoc $>)
$ Match { m_ext = EpAnn (glR $1) [mj AnnLam $1] cs
, m_ctxt = LambdaExpr
, m_pats = $2
@@ -2835,10 +2835,10 @@ aexp :: { ECP }
mkHsLetPV (comb2A $1 $>) (hsTok $1) (unLoc $2) (hsTok $3) $4 }
| '\\' 'lcase' altslist(pats1)
{ ECP $ $3 >>= \ $3 ->
- mkHsLamCasePV (comb2 $1 (reLoc $>)) LamCase $3 [mj AnnLam $1,mj AnnCase $2] }
+ mkHsLamCasePV (comb2 $1 (reLocI $>)) LamCase $3 [mj AnnLam $1,mj AnnCase $2] }
| '\\' 'lcases' altslist(apats)
{ ECP $ $3 >>= \ $3 ->
- mkHsLamCasePV (comb2 $1 (reLoc $>)) LamCases $3 [mj AnnLam $1,mj AnnCases $2] }
+ mkHsLamCasePV (comb2 $1 (reLocI $>)) LamCases $3 [mj AnnLam $1,mj AnnCases $2] }
| 'if' exp optSemi 'then' exp optSemi 'else' exp
{% runPV (unECP $2) >>= \ ($2 :: LHsExpr GhcPs) ->
return $ ECP $
@@ -2859,24 +2859,24 @@ aexp :: { ECP }
| 'case' exp 'of' altslist(pats1) {% runPV (unECP $2) >>= \ ($2 :: LHsExpr GhcPs) ->
return $ ECP $
$4 >>= \ $4 ->
- mkHsCasePV (comb3 $1 $3 (reLoc $4)) $2 $4
+ mkHsCasePV (comb3 $1 $3 (reLocI $4)) $2 $4
(EpAnnHsCase (glAA $1) (glAA $3) []) }
-- QualifiedDo.
| DO stmtlist {% do
hintQualifiedDo $1
return $ ECP $
$2 >>= \ $2 ->
- mkHsDoPV (comb2A $1 $2)
+ mkHsDoPV (comb2 $1 (reLocI $2))
(fmap mkModuleNameFS (getDO $1))
$2
- (AnnList (Just $ glAR $2) Nothing Nothing [mj AnnDo $1] []) }
+ (AnnList (Just $ glIR $2) Nothing Nothing [mj AnnDo $1] []) }
| MDO stmtlist {% hintQualifiedDo $1 >> runPV $2 >>= \ $2 ->
fmap ecpFromExp $
- acsA (\cs -> L (comb2A $1 $2)
+ acsA (\cs -> L (comb2 $1 (reLocI $2))
(mkHsDoAnns (MDoExpr $
fmap mkModuleNameFS (getMDO $1))
$2
- (EpAnn (glR $1) (AnnList (Just $ glAR $2) Nothing Nothing [mj AnnMdo $1] []) cs) )) }
+ (EpAnn (glR $1) (AnnList (Just $ glIR $2) Nothing Nothing [mj AnnMdo $1] []) cs) )) }
| 'proc' aexp '->' exp
{% (checkPattern <=< runPV) (unECP $2) >>= \ p ->
runPV (unECP $4) >>= \ $4@cmd ->
@@ -2898,8 +2898,8 @@ aexp1 :: { ECP }
| aexp1 TIGHT_INFIX_PROJ field
{% runPV (unECP $1) >>= \ $1 ->
fmap ecpFromExp $ acsa (\cs ->
- let fl = sLLa $2 (reLoc $>) (DotFieldOcc ((EpAnn (glR $2) (AnnFieldLabel (Just $ glAA $2)) emptyComments)) $3) in
- mkRdrGetField (noAnnSrcSpan $ comb2 (reLoc $1) (reLoc $>)) $1 fl (EpAnn (glAR $1) NoEpAnns cs)) }
+ let fl = sLLi $2 (reLocN $>) (DotFieldOcc ((EpAnn (glR $2) (AnnFieldLabel (Just $ glAA $2)) emptyComments)) $3) in
+ mkRdrGetField (noAnnSrcSpan $ comb2 (reLoc $1) (reLocN $>)) $1 fl (EpAnn (glAR $1) NoEpAnns cs)) }
| aexp2 { $1 }
@@ -2977,15 +2977,15 @@ aexp2 :: { ECP }
-- arrow notation extension
| '(|' aexp cmdargs '|)' {% runPV (unECP $2) >>= \ $2 ->
fmap ecpFromCmd $
- acsA (\cs -> sLL $1 $> $ HsCmdArrForm (EpAnn (glR $1) (AnnList (Just $ glR $1) (Just $ mu AnnOpenB $1) (Just $ mu AnnCloseB $4) [] []) cs) $2 Prefix
+ acsA (\cs -> sLL $1 $> $ HsCmdArrForm (EpAnn (glR $1) (AnnList (glRM $1) (Just $ mu AnnOpenB $1) (Just $ mu AnnCloseB $4) [] []) cs) $2 Prefix
Nothing (reverse $3)) }
projection :: { Located (NonEmpty (LocatedAn NoEpAnns (DotFieldOcc GhcPs))) }
projection
-- See Note [Whitespace-sensitive operator parsing] in GHC.Parsing.Lexer
: projection TIGHT_INFIX_PROJ field
- {% acs (\cs -> sLL $1 (reLoc $>) ((sLLa $2 (reLoc $>) $ DotFieldOcc (EpAnn (glR $1) (AnnFieldLabel (Just $ glAA $2)) cs) $3) `NE.cons` unLoc $1)) }
- | PREFIX_PROJ field {% acs (\cs -> sLL $1 (reLoc $>) ((sLLa $1 (reLoc $>) $ DotFieldOcc (EpAnn (glR $1) (AnnFieldLabel (Just $ glAA $1)) cs) $2) :| [])) }
+ {% acs (\cs -> sLL $1 (reLocN $>) ((sLLi $2 (reLocN $>) $ DotFieldOcc (EpAnn (glR $1) (AnnFieldLabel (Just $ glAA $2)) cs) $3) `NE.cons` unLoc $1)) }
+ | PREFIX_PROJ field {% acs (\cs -> sLL $1 (reLocN $>) ((sLLi $1 (reLocN $>) $ DotFieldOcc (EpAnn (glR $1) (AnnFieldLabel (Just $ glAA $1)) cs) $2) :| [])) }
splice_exp :: { LHsExpr GhcPs }
: splice_untyped { fmap (HsUntypedSplice noAnn) (reLocA $1) }
@@ -3045,12 +3045,12 @@ texp :: { ECP }
runPV (rejectPragmaPV $1) >>
runPV $2 >>= \ $2 ->
return $ ecpFromExp $
- reLocA $ sLL (reLoc $1) (reLocN $>) $ SectionL noAnn $1 (n2l $2) }
+ reLocA $ sLL (reLoc $1) (reLocN $>) $ SectionL noAnn $1 (la2la $2) }
| qopm infixexp { ECP $
superInfixOp $
unECP $2 >>= \ $2 ->
$1 >>= \ $1 ->
- pvA $ mkHsSectionR_PV (comb2 (reLocN $1) (reLoc $>)) (n2l $1) $2 }
+ pvA $ mkHsSectionR_PV (comb2 (reLocN $1) (reLoc $>)) (la2la $1) $2 }
-- View patterns get parenthesized above
| exp '->' texp { ECP $
@@ -3243,12 +3243,12 @@ guardquals1 :: { Located [LStmt GhcPs (LHsExpr GhcPs)] }
altslist(PATS) :: { forall b. DisambECP b => PV (LocatedL [LMatch GhcPs (LocatedA b)]) }
: '{' alts(PATS) '}' { $2 >>= \ $2 -> amsrl
(sLL $1 $> (reverse (snd $ unLoc $2)))
- (AnnList (Just $ glR $2) (Just $ moc $1) (Just $ mcc $3) (fst $ unLoc $2) []) }
+ (AnnList (glRM $2) (Just $ moc $1) (Just $ mcc $3) (fst $ unLoc $2) []) }
| vocurly alts(PATS) close { $2 >>= \ $2 -> amsrl
(L (getLoc $2) (reverse (snd $ unLoc $2)))
- (AnnList (Just $ glR $2) Nothing Nothing (fst $ unLoc $2) []) }
+ (AnnList (glRM $2) Nothing Nothing (fst $ unLoc $2) []) }
| '{' '}' { amsrl (sLL $1 $> []) (AnnList Nothing (Just $ moc $1) (Just $ mcc $2) [] []) }
- | vocurly close { return $ noLocA [] }
+ | vocurly close { return $ noLocI [] }
alts(PATS) :: { forall b. DisambECP b => PV (Located ([AddEpAnn],[LMatch GhcPs (LocatedA b)])) }
: alts1(PATS) { $1 >>= \ $1 -> return $
@@ -3343,9 +3343,9 @@ apats :: { [LPat GhcPs] }
stmtlist :: { forall b. DisambECP b => PV (LocatedL [LocatedA (Stmt GhcPs (LocatedA b))]) }
: '{' stmts '}' { $2 >>= \ $2 ->
- amsrl (sLL $1 $> (reverse $ snd $ unLoc $2)) (AnnList (Just $ stmtsAnchor $2) (Just $ moc $1) (Just $ mcc $3) (fromOL $ fst $ unLoc $2) []) }
+ amsrl (sLL $1 $> (reverse $ snd $ unLoc $2)) (AnnList (stmtsAnchor $2) (Just $ moc $1) (Just $ mcc $3) (fromOL $ fst $ unLoc $2) []) }
| vocurly stmts close { $2 >>= \ $2 -> amsrl
- (L (stmtsLoc $2) (reverse $ snd $ unLoc $2)) (AnnList (Just $ stmtsAnchor $2) Nothing Nothing (fromOL $ fst $ unLoc $2) []) }
+ (L (stmtsLoc $2) (reverse $ snd $ unLoc $2)) (AnnList (stmtsAnchor $2) Nothing Nothing (fromOL $ fst $ unLoc $2) []) }
-- do { ;; s ; s ; ; s ;; }
-- The last Stmt should be an expression, but that's hard to enforce
@@ -3387,7 +3387,7 @@ e_stmt :: { LStmt GhcPs (LHsExpr GhcPs) }
stmt :: { forall b. DisambECP b => PV (LStmt GhcPs (LocatedA b)) }
: qual { $1 }
| 'rec' stmtlist { $2 >>= \ $2 ->
- acsA (\cs -> (sLL $1 (reLoc $>) $ mkRecStmt
+ acsA (\cs -> (sLL $1 (reLocI $>) $ mkRecStmt
(EpAnn (glR $1) (hsDoAnn $1 $2 AnnRec) cs)
$2)) }
@@ -3419,13 +3419,13 @@ fbinds1 :: { forall b. DisambECP b => PV ([Fbind b], Maybe SrcSpan) }
fbind :: { forall b. DisambECP b => PV (Fbind b) }
: qvar '=' texp { unECP $3 >>= \ $3 ->
- fmap Left $ acsA (\cs -> sLL (reLocN $1) (reLoc $>) $ HsFieldBind (EpAnn (glNR $1) [mj AnnEqual $2] cs) (sL1l $1 $ mkFieldOcc $1) $3 False) }
+ fmap Left $ acsA (\cs -> sLL (reLocN $1) (reLoc $>) $ HsFieldBind (EpAnn (glNR $1) [mj AnnEqual $2] cs) (reLocA $ sL1 (reLoc $1) $ mkFieldOcc $1) $3 False) }
-- RHS is a 'texp', allowing view patterns (#6038)
-- and, incidentally, sections. Eg
-- f (R { x = show -> s }) = ...
| qvar { placeHolderPunRhs >>= \rhs ->
- fmap Left $ acsa (\cs -> sL1a (reLocN $1) $ HsFieldBind (EpAnn (glNR $1) [] cs) (sL1l $1 $ mkFieldOcc $1) rhs True) }
+ fmap Left $ acsa (\cs -> sL1a (reLocN $1) $ HsFieldBind (EpAnn (glNR $1) [] cs) (reLocA $ sL1 (reLoc $1) $ mkFieldOcc $1) rhs True) }
-- In the punning case, use a place-holder
-- The renamer fills in the final value
@@ -3433,15 +3433,15 @@ fbind :: { forall b. DisambECP b => PV (Fbind b) }
-- AZ: need to pull out the let block into a helper
| field TIGHT_INFIX_PROJ fieldToUpdate '=' texp
{ do
- let top = sL1 (la2la $1) $ DotFieldOcc noAnn $1
+ let top = sL1 (n2l $1) $ DotFieldOcc noAnn $1
((L lf (DotFieldOcc _ f)):t) = reverse (unLoc $3)
- lf' = comb2 $2 (reLoc $ L lf ())
- fields = top : L (noAnnSrcSpan lf') (DotFieldOcc (EpAnn (spanAsAnchor lf') (AnnFieldLabel (Just $ glAA $2)) emptyComments) f) : t
+ lf' = comb2 $2 (reLocI $ L lf ())
+ fields = top : L (noAnnSrcSpanI lf') (DotFieldOcc (EpAnn (spanAsAnchor lf') (AnnFieldLabel (Just $ glAA $2)) emptyComments) f) : t
final = last fields
- l = comb2 (reLoc $1) $3
+ l = comb2 (reLocN $1) $3
isPun = False
$5 <- unECP $5
- fmap Right $ mkHsProjUpdatePV (comb2 (reLoc $1) (reLoc $5)) (L l fields) $5 isPun
+ fmap Right $ mkHsProjUpdatePV (comb2 (reLocN $1) (reLoc $5)) (L l fields) $5 isPun
[mj AnnEqual $4]
}
@@ -3449,24 +3449,24 @@ fbind :: { forall b. DisambECP b => PV (Fbind b) }
-- AZ: need to pull out the let block into a helper
| field TIGHT_INFIX_PROJ fieldToUpdate
{ do
- let top = sL1 (la2la $1) $ DotFieldOcc noAnn $1
+ let top = sL1 (n2l $1) $ DotFieldOcc noAnn $1
((L lf (DotFieldOcc _ f)):t) = reverse (unLoc $3)
- lf' = comb2 $2 (reLoc $ L lf ())
- fields = top : L (noAnnSrcSpan lf') (DotFieldOcc (EpAnn (spanAsAnchor lf') (AnnFieldLabel (Just $ glAA $2)) emptyComments) f) : t
+ lf' = comb2 $2 (reLocI $ L lf ())
+ fields = top : L (noAnnSrcSpanI lf') (DotFieldOcc (EpAnn (spanAsAnchor lf') (AnnFieldLabel (Just $ glAA $2)) emptyComments) f) : t
final = last fields
- l = comb2 (reLoc $1) $3
+ l = comb2 (reLocN $1) $3
isPun = True
- var <- mkHsVarPV (L (noAnnSrcSpan $ getLocA final) (mkRdrUnqual . mkVarOccFS . field_label . unLoc . dfoLabel . unLoc $ final))
+ var <- mkHsVarPV (L (noAnnSrcSpanN $ getLocI final) (mkRdrUnqual . mkVarOccFS . field_label . unLoc . dfoLabel . unLoc $ final))
fmap Right $ mkHsProjUpdatePV l (L l fields) var isPun []
}
fieldToUpdate :: { Located [LocatedAn NoEpAnns (DotFieldOcc GhcPs)] }
fieldToUpdate
-- See Note [Whitespace-sensitive operator parsing] in Lexer.x
- : fieldToUpdate TIGHT_INFIX_PROJ field {% getCommentsFor (getLocA $3) >>= \cs ->
- return (sLL $1 (reLoc $>) ((sLLa $2 (reLoc $>) (DotFieldOcc (EpAnn (glR $2) (AnnFieldLabel $ Just $ glAA $2) cs) $3)) : unLoc $1)) }
- | field {% getCommentsFor (getLocA $1) >>= \cs ->
- return (sL1 (reLoc $1) [sL1a (reLoc $1) (DotFieldOcc (EpAnn (glNR $1) (AnnFieldLabel Nothing) cs) $1)]) }
+ : fieldToUpdate TIGHT_INFIX_PROJ field {% getCommentsFor (getLocN $3) >>= \cs ->
+ return (sLL $1 (reLocN $>) ((sLLi $2 (reLocN $>) (DotFieldOcc (EpAnn (glR $2) (AnnFieldLabel $ Just $ glAA $2) cs) $3)) : unLoc $1)) }
+ | field {% getCommentsFor (getLocN $1) >>= \cs ->
+ return (sL1 (reLocN $1) [sL1i (reLocN $1) (DotFieldOcc (EpAnn (glNR $1) (AnnFieldLabel Nothing) cs) $1)]) }
-----------------------------------------------------------------------------
-- Implicit Parameter Bindings
@@ -3487,7 +3487,7 @@ dbinds :: { Located [LIPBind GhcPs] } -- reversed
dbind :: { LIPBind GhcPs }
dbind : ipvar '=' exp {% runPV (unECP $3) >>= \ $3 ->
- acsA (\cs -> sLLlA $1 $> (IPBind (EpAnn (glR $1) [mj AnnEqual $2] cs) (reLocA $1) $3)) }
+ acsA (\cs -> sLLlA $1 $> (IPBind (EpAnn (glR $1) [mj AnnEqual $2] cs) (reLocE $1) $3)) }
ipvar :: { Located HsIPName }
: IPDUPVARID { sL1 $1 (HsIPName (getIPDUPVARID $1)) }
@@ -3503,17 +3503,17 @@ overloaded_label :: { Located (SourceText, FastString) }
name_boolformula_opt :: { LBooleanFormula (LocatedN RdrName) }
: name_boolformula { $1 }
- | {- empty -} { noLocA mkTrue }
+ | {- empty -} { noLocI mkTrue }
name_boolformula :: { LBooleanFormula (LocatedN RdrName) }
: name_boolformula_and { $1 }
| name_boolformula_and '|' name_boolformula
{% do { h <- addTrailingVbarL $1 (gl $2)
- ; return (reLocA $ sLLAA $1 $> (Or [h,$3])) } }
+ ; return (reLocE $ sLLAA $1 $> (Or [h,$3])) } }
name_boolformula_and :: { LBooleanFormula (LocatedN RdrName) }
: name_boolformula_and_list
- { reLocA $ sLLAA (head $1) (last $1) (And ($1)) }
+ { reLocE $ sLLAA (head $1) (last $1) (And ($1)) }
name_boolformula_and_list :: { [LBooleanFormula (LocatedN RdrName)] }
: name_boolformula_atom { [$1] }
@@ -3524,7 +3524,7 @@ name_boolformula_and_list :: { [LBooleanFormula (LocatedN RdrName)] }
name_boolformula_atom :: { LBooleanFormula (LocatedN RdrName) }
: '(' name_boolformula ')' {% amsrl (sLL $1 $> (Parens $2))
(AnnList Nothing (Just (mop $1)) (Just (mcp $3)) [] []) }
- | name_var { reLocA $ sL1N $1 (Var $1) }
+ | name_var { reLocE $ sL1N $1 (Var $1) }
namelist :: { Located [LocatedN RdrName] }
namelist : name_var { sL1N $1 [$1] }
@@ -4011,26 +4011,22 @@ comb2 :: Located a -> Located b -> SrcSpan
comb2 a b = a `seq` b `seq` combineLocs a b
-- Utilities for combining source spans
-comb2A :: Located a -> LocatedAn t b -> SrcSpan
+comb2A :: (Monoid t) => Located a -> LocatedAnS t b -> SrcSpan
comb2A a b = a `seq` b `seq` combineLocs a (reLoc b)
comb2N :: Located a -> LocatedN b -> SrcSpan
comb2N a b = a `seq` b `seq` combineLocs a (reLocN b)
comb2Al :: LocatedAn t a -> Located b -> SrcSpan
-comb2Al a b = a `seq` b `seq` combineLocs (reLoc a) b
+comb2Al a b = a `seq` b `seq` combineLocs (reLocI a) b
comb3 :: Located a -> Located b -> Located c -> SrcSpan
comb3 a b c = a `seq` b `seq` c `seq`
combineSrcSpans (getLoc a) (combineSrcSpans (getLoc b) (getLoc c))
-comb3A :: Located a -> Located b -> LocatedAn t c -> SrcSpan
+comb3A :: Located a -> Located b -> LocatedN c -> SrcSpan
comb3A a b c = a `seq` b `seq` c `seq`
- combineSrcSpans (getLoc a) (combineSrcSpans (getLoc b) (getLocA c))
-
-comb3N :: Located a -> Located b -> LocatedN c -> SrcSpan
-comb3N a b c = a `seq` b `seq` c `seq`
- combineSrcSpans (getLoc a) (combineSrcSpans (getLoc b) (getLocA c))
+ combineSrcSpans (getLoc a) (combineSrcSpans (getLoc b) (getLocN c))
comb4 :: Located a -> Located b -> Located c -> Located d -> SrcSpan
comb4 a b c d = a `seq` b `seq` c `seq` d `seq`
@@ -4059,49 +4055,75 @@ sL1 :: GenLocated l a -> b -> GenLocated l b
sL1 x = sL (getLoc x) -- #define sL1 sL (getLoc $1)
{-# INLINE sL1A #-}
-sL1A :: LocatedAn t a -> b -> Located b
+-- sL1A :: LocatedAn t a -> b -> Located b
+sL1A :: LocatedAnS t a -> b -> Located b
sL1A x = sL (getLocA x) -- #define sL1 sL (getLoc $1)
{-# INLINE sL1N #-}
sL1N :: LocatedN a -> b -> Located b
-sL1N x = sL (getLocA x) -- #define sL1 sL (getLoc $1)
+sL1N x = sL (getLocN x) -- #define sL1 sL (getLoc $1)
{-# INLINE sL1a #-}
-sL1a :: Located a -> b -> LocatedAn t b
+-- sL1a :: Located a -> b -> LocatedAn t b
+sL1a :: (Monoid t) => Located a -> b -> LocatedAnS t b
sL1a x = sL (noAnnSrcSpan $ getLoc x) -- #define sL1 sL (getLoc $1)
+{-# INLINE sL1i #-}
+sL1i :: Located a -> b -> LocatedAn t b
+sL1i x = sL (noAnnSrcSpanI $ getLoc x) -- #define sL1 sL (getLoc $1)
+
+
{-# INLINE sL1l #-}
sL1l :: LocatedAn t a -> b -> LocatedAn u b
-sL1l x = sL (l2l $ getLoc x) -- #define sL1 sL (getLoc $1)
+sL1l x = sL (l2li $ getLoc x) -- #define sL1 sL (getLoc $1)
+
+{-# INLINE sL1ln #-}
+sL1ln :: LocatedN a -> b -> LocatedAn u b
+sL1ln x = sL (noAnnSrcSpanI $ getLocN x) -- #define sL1 sL (getLoc $1)
{-# INLINE sL1n #-}
sL1n :: Located a -> b -> LocatedN b
-sL1n x = L (noAnnSrcSpan $ getLoc x) -- #define sL1 sL (getLoc $1)
+sL1n x = L (noAnnSrcSpanN $ getLoc x) -- #define sL1 sL (getLoc $1)
{-# INLINE sLL #-}
sLL :: Located a -> Located b -> c -> Located c
sLL x y = sL (comb2 x y) -- #define LL sL (comb2 $1 $>)
{-# INLINE sLLa #-}
-sLLa :: Located a -> Located b -> c -> LocatedAn t c
+-- sLLa :: Located a -> Located b -> c -> LocatedAn t c
+sLLa :: (Monoid t) => Located a -> Located b -> c -> LocatedAnS t c
sLLa x y = sL (noAnnSrcSpan $ comb2 x y) -- #define LL sL (comb2 $1 $>)
+{-# INLINE sLLi #-}
+sLLi :: Located a -> Located b -> c -> LocatedAn t c
+sLLi x y = sL (noAnnSrcSpanI $ comb2 x y) -- #define LL sL (comb2 $1 $>)
+
{-# INLINE sLLlA #-}
-sLLlA :: Located a -> LocatedAn t b -> c -> Located c
+-- sLLlA :: Located a -> LocatedAn t b -> c -> Located c
+sLLlA :: (Monoid t) => Located a -> LocatedAnS t b -> c -> Located c
sLLlA x y = sL (comb2A x y) -- #define LL sL (comb2 $1 $>)
{-# INLINE sLLAl #-}
-sLLAl :: LocatedAn t a -> Located b -> c -> Located c
-sLLAl x y = sL (comb2A y x) -- #define LL sL (comb2 $1 $>)
+sLLAl :: (Monoid t) => LocatedAnS t a -> Located b -> c -> Located c
+sLLAl x y = sL (comb2 y (reLoc x)) -- #define LL sL (comb2 $1 $>)
+
+{-# INLINE sLLIl #-}
+sLLIl :: LocatedAn t a -> Located b -> c -> Located c
+sLLIl x y = sL (comb2 y (reLocI x)) -- #define LL sL (comb2 $1 $>)
{-# INLINE sLLAsl #-}
-sLLAsl :: [LocatedAn t a] -> Located b -> c -> Located c
+sLLAsl :: (Monoid t) => [LocatedAnS t a] -> Located b -> c -> Located c
sLLAsl [] = sL1
sLLAsl (x:_) = sLLAl x
+{-# INLINE sLLIsl #-}
+sLLIsl :: [LocatedAn t a] -> Located b -> c -> Located c
+sLLIsl [] = sL1
+sLLIsl (x:_) = sLLIl x
+
{-# INLINE sLLAA #-}
sLLAA :: LocatedAn t a -> LocatedAn u b -> c -> Located c
-sLLAA x y = sL (comb2 (reLoc y) (reLoc x)) -- #define LL sL (comb2 $1 $>)
+sLLAA x y = sL (comb2 (reLocI y) (reLocI x)) -- #define LL sL (comb2 $1 $>)
{- Note [Adding location info]
@@ -4161,7 +4183,7 @@ looksLikeMult ty1 l_op ty2
| Unqual op_name <- unLoc l_op
, occNameFS op_name == fsLit "%"
, Strict.Just ty1_pos <- getBufSpan (getLocA ty1)
- , Strict.Just pct_pos <- getBufSpan (getLocA l_op)
+ , Strict.Just pct_pos <- getBufSpan (getLocN l_op)
, Strict.Just ty2_pos <- getBufSpan (getLocA ty2)
, bufSpanEnd ty1_pos /= bufSpanStart pct_pos
, bufSpanEnd pct_pos == bufSpanStart ty2_pos
@@ -4253,32 +4275,42 @@ toUnicode t = if isUnicode t then UnicodeSyntax else NormalSyntax
gl :: GenLocated l a -> l
gl = getLoc
-glA :: LocatedAn t a -> SrcSpan
+glA :: LocatedAnS t a -> SrcSpan
glA = getLocA
+glI :: LocatedAn t a -> SrcSpan
+glI = getLocI
+
glN :: LocatedN a -> SrcSpan
-glN = getLocA
+glN = getLocN
glR :: Located a -> Anchor
-glR la = Anchor (realSrcSpan $ getLoc la) UnchangedAnchor
+glR la = spanAsAnchor$ getLoc la
+
+glRM :: Located a -> Maybe Anchor
+glRM (L (RealSrcSpan la mb) _) = Just $ EpaSpan (RealSrcSpan la mb)
+glRM _ = Nothing
glAA :: Located a -> EpaLocation
glAA = srcSpan2e . getLoc
glRR :: Located a -> RealSrcSpan
-glRR = realSrcSpan . getLoc
+glRR = realSrcSpan "glRR" . getLoc
-glAR :: LocatedAn t a -> Anchor
-glAR la = Anchor (realSrcSpan $ getLocA la) UnchangedAnchor
+glAR :: LocatedAnS t a -> Anchor
+glAR la = spanAsAnchor $ getLocA la
+
+glIR :: LocatedAn t a -> Anchor
+glIR la = spanAsAnchor $ getLocI la
glNR :: LocatedN a -> Anchor
-glNR ln = Anchor (realSrcSpan $ getLocA ln) UnchangedAnchor
+glNR ln = spanAsAnchor $ getLocN ln
glNRR :: LocatedN a -> EpaLocation
-glNRR = srcSpan2e . getLocA
+glNRR = srcSpan2e . getLocN
anc :: RealSrcSpan -> Anchor
-anc r = Anchor r UnchangedAnchor
+anc r = EpaSpan (RealSrcSpan r Strict.Nothing)
acs :: MonadP m => (EpAnnComments -> Located a) -> m (Located a)
acs a = do
@@ -4298,16 +4330,20 @@ acsFinal a = do
Strict.Just (pos `Strict.And` gap) -> Just (pos,gap)
return (a (cs Semi.<> csf) ce)
-
-acsa :: MonadP m => (EpAnnComments -> LocatedAn t a) -> m (LocatedAn t a)
+-- acsa :: MonadP m => (EpAnnComments -> LocatedAn t a) -> m (LocatedAn t a)
+acsa :: (Monoid t, MonadP m) => (EpAnnComments -> LocatedAnS t a) -> m (LocatedAnS t a)
acsa a = do
let (L l _) = a emptyComments
cs <- getCommentsFor (locA l)
return (a cs)
-acsA :: MonadP m => (EpAnnComments -> Located a) -> m (LocatedAn t a)
+-- acsA :: MonadP m => (EpAnnComments -> Located a) -> m (LocatedAn t a)
+acsA :: (Monoid t, MonadP m) => (EpAnnComments -> Located a) -> m (LocatedAnS t a)
acsA a = reLocA <$> acs a
+acsI :: MonadP m => (EpAnnComments -> Located a) -> m (LocatedAn t a)
+acsI a = reLocE <$> acs a
+
acsExpr :: (EpAnnComments -> LHsExpr GhcPs) -> P ECP
acsExpr a = do { expr :: (LHsExpr GhcPs) <- runPV $ acsa a
; return (ecpFromExp $ expr) }
@@ -4340,8 +4376,7 @@ amsrp a@(L l _) bs = do
amsrn :: MonadP m => Located a -> NameAnn -> m (LocatedN a)
amsrn (L l a) an = do
cs <- getCommentsFor l
- let ann = (EpAnn (spanAsAnchor l) an cs)
- return (L (SrcSpanAnn ann l) a)
+ return (L (EpAnnS (spanAsAnchor l) an cs) a)
-- |Synonyms for AddEpAnn versions of AnnOpen and AnnClose
mo,mc :: Located Token -> AddEpAnn
@@ -4364,17 +4399,21 @@ mos,mcs :: Located Token -> AddEpAnn
mos ll = mj AnnOpenS ll
mcs ll = mj AnnCloseS ll
-pvA :: MonadP m => m (Located a) -> m (LocatedAn t a)
+pvA :: (Monoid t) => MonadP m => m (Located a) -> m (LocatedAnS t a)
pvA a = do { av <- a
; return (reLocA av) }
+pvI :: MonadP m => m (Located a) -> m (LocatedAn t a)
+pvI a = do { av <- a
+ ; return (reLocE av) }
+
pvN :: MonadP m => m (Located a) -> m (LocatedN a)
pvN a = do { (L l av) <- a
- ; return (L (noAnnSrcSpan l) av) }
+ ; return (L (noAnnSrcSpanN l) av) }
pvL :: MonadP m => m (LocatedAn t a) -> m (Located a)
pvL a = do { av <- a
- ; return (reLoc av) }
+ ; return (reLocI av) }
-- | Parse a Haskell module with Haddock comments.
-- This is done in two steps:
@@ -4388,16 +4427,19 @@ pvL a = do { av <- a
parseModule :: P (Located (HsModule GhcPs))
parseModule = parseModuleNoHaddock >>= addHaddockToModule
-commentsA :: (Monoid ann) => SrcSpan -> EpAnnComments -> SrcSpanAnn' (EpAnn ann)
-commentsA loc cs = SrcSpanAnn (EpAnn (Anchor (rs loc) UnchangedAnchor) mempty cs) loc
+commentsA :: (Monoid ann) => SrcSpan -> EpAnnComments -> (EpAnnS ann)
+commentsA loc cs = (EpAnnS (spanAsAnchor loc) mempty cs)
+
+commentsI :: (Monoid ann) => SrcSpan -> EpAnnComments -> SrcSpanAnn' (EpAnn ann)
+commentsI loc cs = SrcSpanAnn (EpAnn (spanAsAnchor loc) mempty cs) loc
-- | Instead of getting the *enclosed* comments, this includes the
-- *preceding* ones. It is used at the top level to get comments
-- between top level declarations.
-commentsPA :: (Monoid ann) => LocatedAn ann a -> P (LocatedAn ann a)
+commentsPA :: (Monoid ann) => LocatedAnS ann a -> P (LocatedAnS ann a)
commentsPA la@(L l a) = do
cs <- getPriorCommentsFor (getLocA la)
- return (L (addCommentsToSrcAnn l cs) a)
+ return (L (addCommentsToEpAnnS l cs) a)
rs :: SrcSpan -> RealSrcSpan
rs (RealSrcSpan l _) = l
@@ -4405,12 +4447,21 @@ rs _ = panic "Parser should only have RealSrcSpan"
hsDoAnn :: Located a -> LocatedAn t b -> AnnKeywordId -> AnnList
hsDoAnn (L l _) (L ll _) kw
- = AnnList (Just $ spanAsAnchor (locA ll)) Nothing Nothing [AddEpAnn kw (srcSpan2e l)] []
+ = case locI ll of
+ RealSrcSpan lll _ -> AnnList (Just$ realSpanAsAnchor lll) Nothing Nothing [AddEpAnn kw (srcSpan2e l)] []
+ _ -> AnnList Nothing Nothing Nothing [AddEpAnn kw (srcSpan2e l)] []
-listAsAnchor :: [LocatedAn t a] -> Anchor
+listAsAnchor :: [LocatedAnS t a] -> Anchor
listAsAnchor [] = spanAsAnchor noSrcSpan
listAsAnchor (L l _:_) = spanAsAnchor (locA l)
+listAsAnchorM :: [LocatedAnS t a] -> Maybe Anchor
+listAsAnchorM [] = Nothing
+listAsAnchorM (L l _:_) =
+ case locA l of
+ RealSrcSpan ll _ -> Just $ realSpanAsAnchor ll
+ _ -> Nothing
+
hsTok :: Located Token -> LHsToken tok GhcPs
hsTok (L l _) = L (mkTokenLocation l) HsTok
@@ -4438,15 +4489,15 @@ addTrailingCommaA :: MonadP m => LocatedA a -> SrcSpan -> m (LocatedA a)
addTrailingCommaA la span = addTrailingAnnA la span AddCommaAnn
addTrailingAnnA :: MonadP m => LocatedA a -> SrcSpan -> (EpaLocation -> TrailingAnn) -> m (LocatedA a)
-addTrailingAnnA (L (SrcSpanAnn anns l) a) ss ta = do
+addTrailingAnnA (L anns a) ss ta = do
-- cs <- getCommentsFor l
let cs = emptyComments
-- AZ:TODO: generalise updating comments into an annotation
let
anns' = if isZeroWidthSpan ss
then anns
- else addTrailingAnnToA l (ta (srcSpan2e ss)) cs anns
- return (L (SrcSpanAnn anns' l) a)
+ else addTrailingAnnToA (ta (srcSpan2e ss)) cs anns
+ return (L anns' a)
-- -------------------------------------
@@ -4466,14 +4517,15 @@ addTrailingAnnL (L (SrcSpanAnn anns l) a) ta = do
-- Mostly use to add AnnComma, special case it to NOP if adding a zero-width annotation
addTrailingCommaN :: MonadP m => LocatedN a -> SrcSpan -> m (LocatedN a)
-addTrailingCommaN (L (SrcSpanAnn anns l) a) span = do
+addTrailingCommaN (L anns a) span = do
+ let l = locN anns
-- cs <- getCommentsFor l
let cs = emptyComments
-- AZ:TODO: generalise updating comments into an annotation
let anns' = if isZeroWidthSpan span
then anns
else addTrailingCommaToN l anns (srcSpan2e span)
- return (L (SrcSpanAnn anns' l) a)
+ return (L anns' a)
addTrailingCommaS :: Located StringLiteral -> EpaLocation -> Located StringLiteral
addTrailingCommaS (L l sl) span = L l (sl { sl_tc = Just (epaLocationRealSrcSpan span) })
diff --git a/compiler/GHC/Parser/Annotation.hs b/compiler/GHC/Parser/Annotation.hs
index f4e1a06198..51cf2deac7 100644
--- a/compiler/GHC/Parser/Annotation.hs
+++ b/compiler/GHC/Parser/Annotation.hs
@@ -14,12 +14,17 @@ module GHC.Parser.Annotation (
-- * In-tree Exact Print Annotations
AddEpAnn(..),
EpaLocation(..), epaLocationRealSrcSpan, epaLocationFromSrcAnn,
+ epaLocationFromEpAnnS,
TokenLocation(..),
getTokenSrcSpan,
DeltaPos(..), deltaPos, getDeltaLine,
- EpAnn(..), Anchor(..), AnchorOperation(..),
+ EpAnn(..), Anchor, AnchorOperation(..),
+ anchor, anchor_op,
+ EpAnnS(..),
spanAsAnchor, realSpanAsAnchor,
+ spanFromAnchor,
+ noSpanAnchor,
noAnn,
-- ** Comments in Annotations
@@ -32,6 +37,7 @@ module GHC.Parser.Annotation (
LocatedA, LocatedL, LocatedC, LocatedN, LocatedAn, LocatedP,
SrcSpanAnnA, SrcSpanAnnL, SrcSpanAnnP, SrcSpanAnnC, SrcSpanAnnN,
SrcSpanAnn'(..), SrcAnn,
+ LocatedAnS,
-- ** Annotation data types used in 'GenLocated'
@@ -41,7 +47,7 @@ module GHC.Parser.Annotation (
AnnContext(..),
NameAnn(..), NameAdornment(..),
NoEpAnns(..),
- AnnSortKey(..),
+ AnnSortKey(..), DeclTag(..),
-- ** Trailing annotations in lists
TrailingAnn(..), trailingAnnToAddEpAnn,
@@ -49,15 +55,18 @@ module GHC.Parser.Annotation (
-- ** Utilities for converting between different 'GenLocated' when
-- ** we do not care about the annotations.
- la2na, na2la, n2l, l2n, l2l, la2la,
- reLoc, reLocA, reLocL, reLocC, reLocN,
+ la2na, l2l, l2li, l2ll, nn2la, nn2li, l2ln,
+ n2l, l2n, la2la, la2li,
+ reLoc, reLocI, reLocA, reLocE, reLocL, reLocC, reLocN,
+ locN, locA,
srcSpan2e, la2e, realSrcSpan,
-- ** Building up annotations
extraToAnnList, reAnn,
reAnnL, reAnnC,
- addAnns, addAnnsA, widenSpan, widenAnchor, widenAnchorR, widenLocatedAn,
+ addAnns, addAnnsA, widenSpan, widenAnchor, widenAnchorS, widenLocatedAn,
+ widenEpAnnS,
-- ** Querying annotations
getLocAnn,
@@ -66,22 +75,27 @@ module GHC.Parser.Annotation (
epAnnComments,
-- ** Working with locations of annotations
- sortLocatedA,
- mapLocA,
- combineLocsA,
- combineSrcSpansA,
- addCLocA, addCLocAA,
+ sortLocatedA, sortLocatedI,
+ mapLocA, mapLocI,
+ combineLocsA, combineLocsI,
+ combineSrcSpansA, combineSrcSpansI,
+ addCLocA, addCLocAA, addCLocI, addCLocII,
-- ** Constructing 'GenLocated' annotation types when we do not care
-- about annotations.
noLocA, getLocA,
- noSrcSpanA,
- noAnnSrcSpan,
+ noLocN, getLocN,
+ noLocI, getLocI,
+ noSrcSpanA, noSrcSpanN, noSrcSpanI,
+ noAnnSrcSpan, noAnnSrcSpanN, noAnnSrcSpanI,
-- ** Working with comments in annotations
- noComments, comment, addCommentsToSrcAnn, setCommentsSrcAnn,
+ noComments, comment, addCommentsToSrcAnn,
+ setCommentsSrcAnn, setCommentsEpAnnS,
+ addCommentsToEpAnnS,
addCommentsToEpAnn, setCommentsEpAnn,
- transferAnnsA, commentsOnlyA, removeCommentsA,
+ transferAnnsA, commentsOnlyA, commentsOnlyI,
+ removeCommentsA, removeCommentsI,
placeholderRealSpan,
) where
@@ -368,12 +382,6 @@ data EpaCommentTok =
| EpaDocOptions String -- ^ doc options (prune, ignore-exports, etc)
| EpaLineComment String -- ^ comment starting by "--"
| EpaBlockComment String -- ^ comment in {- -}
- | EpaEofComment -- ^ empty comment, capturing
- -- location of EOF
-
- -- See #19697 for a discussion of EpaEofComment's use and how it
- -- should be removed in favour of capturing it in the location for
- -- 'Located HsModule' in the parser.
deriving (Eq, Data, Show)
-- Note: these are based on the Token versions, but the Token type is
@@ -404,9 +412,9 @@ data AddEpAnn = AddEpAnn AnnKeywordId EpaLocation deriving (Data,Eq)
-- in the @'EpaDelta'@ variant captures any comments between the prior
-- output and the thing being marked here, since we cannot otherwise
-- sort the relative order.
-data EpaLocation = EpaSpan !RealSrcSpan !(Strict.Maybe BufSpan)
+data EpaLocation = EpaSpan !SrcSpan
| EpaDelta !DeltaPos ![LEpaComment]
- deriving (Data,Eq)
+ deriving (Data,Eq,Show)
-- | Tokens embedded in the AST have an EpaLocation, unless they come from
-- generated code (e.g. by TH).
@@ -416,7 +424,7 @@ data TokenLocation = NoTokenLoc | TokenLoc !EpaLocation
getTokenSrcSpan :: TokenLocation -> SrcSpan
getTokenSrcSpan NoTokenLoc = noSrcSpan
getTokenSrcSpan (TokenLoc EpaDelta{}) = noSrcSpan
-getTokenSrcSpan (TokenLoc (EpaSpan rspan mbufpos)) = RealSrcSpan rspan mbufpos
+getTokenSrcSpan (TokenLoc (EpaSpan span)) = span
instance Outputable a => Outputable (GenLocated TokenLocation a) where
ppr (L _ x) = ppr x
@@ -453,15 +461,19 @@ getDeltaLine (DifferentLine r _) = r
-- 'EpaLocation'. The parser will never insert a 'DeltaPos', so the
-- partial function is safe.
epaLocationRealSrcSpan :: EpaLocation -> RealSrcSpan
-epaLocationRealSrcSpan (EpaSpan r _) = r
-epaLocationRealSrcSpan (EpaDelta _ _) = panic "epaLocationRealSrcSpan"
+epaLocationRealSrcSpan (EpaSpan (RealSrcSpan r _)) = r
+epaLocationRealSrcSpan _ = panic "epaLocationRealSrcSpan"
epaLocationFromSrcAnn :: SrcAnn ann -> EpaLocation
-epaLocationFromSrcAnn (SrcSpanAnn EpAnnNotUsed l) = EpaSpan (realSrcSpan l) Strict.Nothing
-epaLocationFromSrcAnn (SrcSpanAnn (EpAnn anc _ _) _) = EpaSpan (anchor anc) Strict.Nothing
+epaLocationFromSrcAnn (SrcSpanAnn EpAnnNotUsed l) = spanAsAnchor l
+epaLocationFromSrcAnn (SrcSpanAnn (EpAnn anc _ _) _) = anc
+
+epaLocationFromEpAnnS :: EpAnnS ann -> EpaLocation
+epaLocationFromEpAnnS (EpAnnS anc _ _) = anc
+
instance Outputable EpaLocation where
- ppr (EpaSpan r _) = text "EpaSpan" <+> ppr r
+ ppr (EpaSpan ss) = text "EpaSpan" <+> ppr ss
ppr (EpaDelta d cs) = text "EpaDelta" <+> ppr d <+> ppr cs
instance Outputable AddEpAnn where
@@ -523,12 +535,35 @@ data EpAnn ann
-- the element relative to its container. If it is moved, that
-- relationship is tracked in the 'anchor_op' instead.
-data Anchor = Anchor { anchor :: RealSrcSpan
- -- ^ Base location for the start of
- -- the syntactic element holding
- -- the annotations.
- , anchor_op :: AnchorOperation }
- deriving (Data, Eq, Show)
+-- AZ: This is a temporary type until we get rid of EpAnnNotUsed, at
+-- which time it replaces EpAnn
+data EpAnnS ann
+ = EpAnnS { s_entry :: !Anchor
+ -- ^ Base location for the start of the syntactic element
+ -- holding the annotations.
+ , s_anns :: !ann -- ^ Annotations added by the Parser
+ , s_comments :: !EpAnnComments
+ -- ^ Comments enclosed in the SrcSpan of the element
+ -- this `EpAnn` is attached to
+ } deriving (Data, Eq, Functor)
+
+-- data Anchor = Anchor { anchor :: !RealSrcSpan
+-- -- ^ Base location for the start of
+-- -- the syntactic element holding
+-- -- the annotations.
+-- , anchor_op :: !AnchorOperation }
+-- deriving (Data, Eq, Show)
+
+type Anchor = EpaLocation -- Transitional
+
+anchor :: Anchor -> RealSrcSpan
+anchor (EpaSpan (RealSrcSpan r _)) = r
+anchor _ = panic "anchor"
+-- anchor (EpaDelta _ _) = placeholderRealSpan
+
+anchor_op :: Anchor -> AnchorOperation
+anchor_op (EpaSpan _) = UnchangedAnchor
+anchor_op (EpaDelta dp _) = MovedAnchor dp
-- | If tools modify the parsed source, the 'MovedAnchor' variant can
-- directly provide the spacing for this item relative to the previous
@@ -541,10 +576,17 @@ data AnchorOperation = UnchangedAnchor
spanAsAnchor :: SrcSpan -> Anchor
-spanAsAnchor s = Anchor (realSrcSpan s) UnchangedAnchor
+spanAsAnchor ss = EpaSpan ss
realSpanAsAnchor :: RealSrcSpan -> Anchor
-realSpanAsAnchor s = Anchor s UnchangedAnchor
+realSpanAsAnchor s = EpaSpan (RealSrcSpan s Strict.Nothing)
+
+spanFromAnchor :: Anchor -> SrcSpan
+spanFromAnchor (EpaSpan ss) = ss
+spanFromAnchor (EpaDelta _ _) = UnhelpfulSpan (UnhelpfulOther (fsLit "spanFromAnchor"))
+
+noSpanAnchor :: Anchor
+noSpanAnchor = EpaDelta (SameLine 0) []
-- ---------------------------------------------------------------------
@@ -577,7 +619,7 @@ emptyComments = EpaComments []
-- Important that the fields are strict as these live inside L nodes which
-- are live for a long time.
-data SrcSpanAnn' a = SrcSpanAnn { ann :: !a, locA :: !SrcSpan }
+data SrcSpanAnn' a = SrcSpanAnn { ann :: !a, locI :: !SrcSpan }
deriving (Data, Eq)
-- See Note [XRec and Anno in the AST]
@@ -591,8 +633,8 @@ type LocatedL = GenLocated SrcSpanAnnL
type LocatedP = GenLocated SrcSpanAnnP
type LocatedC = GenLocated SrcSpanAnnC
-type SrcSpanAnnA = SrcAnn AnnListItem
-type SrcSpanAnnN = SrcAnn NameAnn
+type SrcSpanAnnA = EpAnnS AnnListItem
+type SrcSpanAnnN = EpAnnS NameAnn
type SrcSpanAnnL = SrcAnn AnnList
type SrcSpanAnnP = SrcAnn AnnPragma
@@ -602,6 +644,8 @@ type SrcSpanAnnC = SrcAnn AnnContext
-- parameterised annotation type.
type LocatedAn an = GenLocated (SrcAnn an)
+type LocatedAnS an = GenLocated (EpAnnS an)
+
{-
Note [XRec and Anno in the AST]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -803,11 +847,28 @@ data AnnPragma
-- SrcSpan is used purely as an index into the annotations, allowing
-- transformations of the AST including the introduction of new Located
-- items or re-arranging existing ones.
-data AnnSortKey
+data AnnSortKey a
= NoAnnSortKey
- | AnnSortKey [RealSrcSpan]
+ | AnnSortKey a
deriving (Data, Eq)
+data DeclTag
+ = TyClDTag
+ | InstDTag
+ | DerivDTag
+ | ValDTag
+ | SigDTag
+ | KindSigDTag
+ | DefDTag
+ | ForDTag
+ | WarningDTag
+ | AnnDTag
+ | RuleDTag
+ | SpliceDTag
+ | DocDTag
+ | RoleAnnotDTag
+ deriving (Eq,Data,Ord,Show)
+
-- ---------------------------------------------------------------------
-- | Convert a 'TrailingAnn' to an 'AddEpAnn'
@@ -830,22 +891,16 @@ addTrailingAnnToL _ t cs n = n { anns = addTrailing (anns n)
-- | Helper function used in the parser to add a 'TrailingAnn' items
-- to an existing annotation.
-addTrailingAnnToA :: SrcSpan -> TrailingAnn -> EpAnnComments
- -> EpAnn AnnListItem -> EpAnn AnnListItem
-addTrailingAnnToA s t cs EpAnnNotUsed
- = EpAnn (spanAsAnchor s) (AnnListItem [t]) cs
-addTrailingAnnToA _ t cs n = n { anns = addTrailing (anns n)
- , comments = comments n <> cs }
- where
+addTrailingAnnToA :: TrailingAnn -> EpAnnComments
+ -> EpAnnS AnnListItem -> EpAnnS AnnListItem
+addTrailingAnnToA t cs (EpAnnS anc (AnnListItem ts) csa) =
+ EpAnnS anc (AnnListItem (ts ++ [t])) (csa <> cs)
-- See Note [list append in addTrailing*]
- addTrailing n = n { lann_trailing = lann_trailing n ++ [t] }
-- | Helper function used in the parser to add a comma location to an
-- existing annotation.
-addTrailingCommaToN :: SrcSpan -> EpAnn NameAnn -> EpaLocation -> EpAnn NameAnn
-addTrailingCommaToN s EpAnnNotUsed l
- = EpAnn (spanAsAnchor s) (NameAnnTrailing [AddCommaAnn l]) emptyComments
-addTrailingCommaToN _ n l = n { anns = addTrailing (anns n) l }
+addTrailingCommaToN :: SrcSpan -> EpAnnS NameAnn -> EpaLocation -> EpAnnS NameAnn
+addTrailingCommaToN _ n l = n { s_anns = addTrailing (s_anns n) l }
where
-- See Note [list append in addTrailing*]
addTrailing :: NameAnn -> EpaLocation -> NameAnn
@@ -876,64 +931,103 @@ knowing that in most cases the original list is empty.
-- |Helper function (temporary) during transition of names
-- Discards any annotations
l2n :: LocatedAn a1 a2 -> LocatedN a2
-l2n (L la a) = L (noAnnSrcSpan (locA la)) a
+l2n (L la a) = L (noAnnSrcSpanN (locI la)) a
-n2l :: LocatedN a -> LocatedA a
-n2l (L la a) = L (na2la la) a
+n2l :: LocatedAnS ann1 a -> LocatedAn ann a
+n2l (L la a) = L (nn2la la) a
+
+la2la :: (Monoid ann) => LocatedAnS ann1 a -> LocatedAnS ann a
+la2la (L (EpAnnS anc _ cs) a) = L (EpAnnS anc mempty cs) a
-- |Helper function (temporary) during transition of names
-- Discards any annotations
la2na :: SrcSpanAnn' a -> SrcSpanAnnN
-la2na l = noAnnSrcSpan (locA l)
+la2na l = noAnnSrcSpanN (locI l)
-- |Helper function (temporary) during transition of names
-- Discards any annotations
-la2la :: LocatedAn ann1 a2 -> LocatedAn ann2 a2
-la2la (L la a) = L (noAnnSrcSpan (locA la)) a
+la2li :: LocatedAn ann1 a2 -> LocatedAn ann2 a2
+la2li (L la a) = L (noAnnSrcSpanI (locI la)) a
-l2l :: SrcSpanAnn' a -> SrcAnn ann
+-- |Helper function (temporary) during transition of names
+-- Discards any annotations
+l2l :: (Monoid ann) => EpAnnS a -> EpAnnS ann
l2l l = noAnnSrcSpan (locA l)
-- |Helper function (temporary) during transition of names
-- Discards any annotations
-na2la :: SrcSpanAnn' a -> SrcAnn ann
-na2la l = noAnnSrcSpan (locA l)
+l2li :: SrcSpanAnn' a -> SrcAnn ann
+l2li l = noAnnSrcSpanI (locI l)
+
+-- |Helper function (temporary) during transition of names
+-- Discards any annotations
+l2ln :: (Monoid ann) => SrcSpanAnn' a -> EpAnnS ann
+l2ln l = noAnnSrcSpan (locI l)
-reLoc :: LocatedAn a e -> Located e
-reLoc (L (SrcSpanAnn _ l) a) = L l a
+l2ll :: (Monoid b) => EpAnnS a -> EpAnnS b
+l2ll l = noAnnSrcSpan (locA l)
-reLocA :: Located e -> LocatedAn ann e
-reLocA (L l a) = (L (SrcSpanAnn EpAnnNotUsed l) a)
+-- |Helper function (temporary) during transition of names
+-- Discards any annotations
+nn2la :: EpAnnS a -> SrcAnn ann
+nn2la l = noAnnSrcSpanI (locN l)
+
+-- |Helper function (temporary) during transition of names
+-- Discards any annotations
+nn2li :: EpAnnS NameAnn -> EpAnnS AnnListItem
+nn2li (EpAnnS anc _ cs) = EpAnnS anc (AnnListItem []) cs
+
+-- TODO:AZ merge locN into locA
+locN :: EpAnnS ann -> SrcSpan
+locN a = spanFromAnchor $ s_entry a
+
+locA :: EpAnnS ann -> SrcSpan
+locA a = spanFromAnchor $ s_entry a
+
+reLoc :: LocatedAnS ann e -> Located e
+reLoc (L la a) = L (spanFromAnchor $ s_entry la ) a
+
+reLocI :: LocatedAn a e -> Located e
+reLocI (L (SrcSpanAnn _ l) a) = L l a
+
+reLocE :: Located e -> LocatedAn ann e
+reLocE (L l a) = (L (SrcSpanAnn EpAnnNotUsed l) a)
+
+reLocA :: (Monoid ann) => Located e -> LocatedAnS ann e
+reLocA (L l a) = (L (noAnnSrcSpan l) a)
reLocL :: LocatedN e -> LocatedA e
-reLocL (L l a) = (L (na2la l) a)
+reLocL (L l a) = (L (nn2li l) a)
reLocC :: LocatedN e -> LocatedC e
-reLocC (L l a) = (L (na2la l) a)
+reLocC (L l a) = (L (nn2la l) a)
reLocN :: LocatedN a -> Located a
-reLocN (L (SrcSpanAnn _ l) a) = L l a
+reLocN (L ln a) = L (locN ln) a
-- ---------------------------------------------------------------------
-realSrcSpan :: SrcSpan -> RealSrcSpan
-realSrcSpan (RealSrcSpan s _) = s
-realSrcSpan _ = mkRealSrcSpan l l -- AZ temporary
+realSrcSpan :: String -> SrcSpan -> RealSrcSpan
+realSrcSpan _ (RealSrcSpan s _mb) = s
+realSrcSpan src s = mkRealSrcSpan l l
where
- l = mkRealSrcLoc (fsLit "foo") (-1) (-1)
+ l = seq s $ error $ ("realSrcSpan:from:" ++ show src)
+
+la2r :: EpAnnS a -> RealSrcSpan
+la2r l = realSrcSpan "la2r" (locA l)
srcSpan2e :: SrcSpan -> EpaLocation
-srcSpan2e (RealSrcSpan s mb) = EpaSpan s mb
-srcSpan2e span = EpaSpan (realSrcSpan span) Strict.Nothing
+srcSpan2e ss@(RealSrcSpan _ _) = EpaSpan ss
+srcSpan2e span = EpaSpan (RealSrcSpan (realSrcSpan "srcSpan2e" span) Strict.Nothing)
la2e :: SrcSpanAnn' a -> EpaLocation
-la2e = srcSpan2e . locA
+la2e = srcSpan2e . locI
extraToAnnList :: AnnList -> [AddEpAnn] -> AnnList
extraToAnnList (AnnList a o c e t) as = AnnList a o c (e++as) t
reAnn :: [TrailingAnn] -> EpAnnComments -> Located a -> LocatedA a
-reAnn anns cs (L l a) = L (SrcSpanAnn (EpAnn (spanAsAnchor l) (AnnListItem anns) cs) l) a
+reAnn anns cs (L l a) = L (EpAnnS (spanAsAnchor l) (AnnListItem anns) cs) a
reAnnC :: AnnContext -> EpAnnComments -> Located a -> LocatedC a
reAnnC anns cs (L l a) = L (SrcSpanAnn (EpAnn (spanAsAnchor l) anns cs) l) a
@@ -942,21 +1036,46 @@ reAnnL :: ann -> EpAnnComments -> Located e -> GenLocated (SrcAnn ann) e
reAnnL anns cs (L l a) = L (SrcSpanAnn (EpAnn (spanAsAnchor l) anns cs) l) a
getLocAnn :: Located a -> SrcSpanAnnA
-getLocAnn (L l _) = SrcSpanAnn EpAnnNotUsed l
+getLocAnn (L l _) = EpAnnS (spanAsAnchor l) (AnnListItem []) emptyComments
+
+getLocI :: GenLocated (SrcSpanAnn' a) e -> SrcSpan
+getLocI (L (SrcSpanAnn _ l) _) = l
+
+noLocI :: a -> LocatedAn an a
+noLocI = L (SrcSpanAnn EpAnnNotUsed noSrcSpan)
+
+-- noLocA :: a -> LocatedA a
+noLocA :: (Monoid ann) => a -> LocatedAnS ann a
+noLocA = L (EpAnnS (spanAsAnchor noSrcSpan) mempty emptyComments)
+
+-- AZ:TODO merge getLocN and getLocA
+getLocA :: LocatedAnS a e -> SrcSpan
+getLocA (L (EpAnnS anc _ _) _) = spanFromAnchor anc
+getLocN :: LocatedAnS an a -> SrcSpan
+getLocN (L l _) = locN l
-getLocA :: GenLocated (SrcSpanAnn' a) e -> SrcSpan
-getLocA (L (SrcSpanAnn _ l) _) = l
+noLocN :: a -> LocatedN a
+noLocN = L (noAnnSrcSpanN noSrcSpan)
-noLocA :: a -> LocatedAn an a
-noLocA = L (SrcSpanAnn EpAnnNotUsed noSrcSpan)
+noAnnSrcSpanI :: SrcSpan -> SrcAnn ann
+noAnnSrcSpanI l = SrcSpanAnn EpAnnNotUsed l
-noAnnSrcSpan :: SrcSpan -> SrcAnn ann
-noAnnSrcSpan l = SrcSpanAnn EpAnnNotUsed l
+noAnnSrcSpanN :: SrcSpan -> EpAnnS NameAnn
+noAnnSrcSpanN l = EpAnnS (spanAsAnchor l) mempty emptyComments
-noSrcSpanA :: SrcAnn ann
+noAnnSrcSpan :: (Monoid ann) => SrcSpan -> EpAnnS ann
+noAnnSrcSpan l = EpAnnS (spanAsAnchor l) mempty emptyComments
+
+noSrcSpanA :: (Monoid ann) => EpAnnS ann
noSrcSpanA = noAnnSrcSpan noSrcSpan
+noSrcSpanI :: SrcAnn ann
+noSrcSpanI = noAnnSrcSpanI noSrcSpan
+
+noSrcSpanN :: EpAnnS NameAnn
+noSrcSpanN = noAnnSrcSpanN noSrcSpan
+
-- | Short form for 'EpAnnNotUsed'
noAnn :: EpAnn a
noAnn = EpAnnNotUsed
@@ -967,18 +1086,12 @@ addAnns (EpAnn l as1 cs) as2 cs2
= EpAnn (widenAnchor l (as1 ++ as2)) (as1 ++ as2) (cs <> cs2)
addAnns EpAnnNotUsed [] (EpaComments []) = EpAnnNotUsed
addAnns EpAnnNotUsed [] (EpaCommentsBalanced [] []) = EpAnnNotUsed
-addAnns EpAnnNotUsed as cs = EpAnn (Anchor placeholderRealSpan UnchangedAnchor) as cs
+addAnns EpAnnNotUsed as cs = EpAnn (widenAnchor noSpanAnchor as) as cs
-- AZ:TODO use widenSpan here too
addAnnsA :: SrcSpanAnnA -> [TrailingAnn] -> EpAnnComments -> SrcSpanAnnA
-addAnnsA (SrcSpanAnn (EpAnn l as1 cs) loc) as2 cs2
- = SrcSpanAnn (EpAnn l (AnnListItem (lann_trailing as1 ++ as2)) (cs <> cs2)) loc
-addAnnsA (SrcSpanAnn EpAnnNotUsed loc) [] (EpaComments [])
- = SrcSpanAnn EpAnnNotUsed loc
-addAnnsA (SrcSpanAnn EpAnnNotUsed loc) [] (EpaCommentsBalanced [] [])
- = SrcSpanAnn EpAnnNotUsed loc
-addAnnsA (SrcSpanAnn EpAnnNotUsed loc) as cs
- = SrcSpanAnn (EpAnn (spanAsAnchor loc) (AnnListItem as) cs) loc
+addAnnsA (EpAnnS l as1 cs) as2 cs2
+ = (EpAnnS l (AnnListItem (lann_trailing as1 ++ as2)) (cs <> cs2))
-- | The annotations need to all come after the anchor. Make sure
-- this is the case.
@@ -986,7 +1099,7 @@ widenSpan :: SrcSpan -> [AddEpAnn] -> SrcSpan
widenSpan s as = foldl combineSrcSpans s (go as)
where
go [] = []
- go (AddEpAnn _ (EpaSpan s mb):rest) = RealSrcSpan s mb : go rest
+ go (AddEpAnn _ (EpaSpan ss):rest) = ss : go rest
go (AddEpAnn _ (EpaDelta _ _):rest) = go rest
-- | The annotations need to all come after the anchor. Make sure
@@ -995,18 +1108,51 @@ widenRealSpan :: RealSrcSpan -> [AddEpAnn] -> RealSrcSpan
widenRealSpan s as = foldl combineRealSrcSpans s (go as)
where
go [] = []
- go (AddEpAnn _ (EpaSpan s _):rest) = s : go rest
- go (AddEpAnn _ (EpaDelta _ _):rest) = go rest
+ go (AddEpAnn _ (EpaSpan (RealSrcSpan s _)):rest) = s : go rest
+ go (AddEpAnn _ _ :rest) = go rest
-widenAnchor :: Anchor -> [AddEpAnn] -> Anchor
-widenAnchor (Anchor s op) as = Anchor (widenRealSpan s as) op
+realSpanFromAnns :: [AddEpAnn] -> Strict.Maybe RealSrcSpan
+realSpanFromAnns as = go Strict.Nothing as
+ where
+ combine Strict.Nothing r = Strict.Just r
+ combine (Strict.Just l) r = Strict.Just $ combineRealSrcSpans l r
-widenAnchorR :: Anchor -> RealSrcSpan -> Anchor
-widenAnchorR (Anchor s op) r = Anchor (combineRealSrcSpans s r) op
+ go acc [] = acc
+ go acc (AddEpAnn _ (EpaSpan (RealSrcSpan s _b)):rest) = go (combine acc s) rest
+ go acc (AddEpAnn _ _ :rest) = go acc rest
+
+bufSpanFromAnns :: [AddEpAnn] -> Strict.Maybe BufSpan
+bufSpanFromAnns as = go Strict.Nothing as
+ where
+ combine Strict.Nothing r = Strict.Just r
+ combine (Strict.Just l) r = Strict.Just $ combineBufSpans l r
+
+ go acc [] = acc
+ go acc (AddEpAnn _ (EpaSpan (RealSrcSpan _ (Strict.Just mb))):rest) = go (combine acc mb) rest
+ go acc (AddEpAnn _ _:rest) = go acc rest
+
+
+widenAnchor :: Anchor -> [AddEpAnn] -> Anchor
+widenAnchor (EpaSpan (RealSrcSpan s mb)) as
+ = EpaSpan (RealSrcSpan (widenRealSpan s as) (liftA2 combineBufSpans mb (bufSpanFromAnns as)))
+widenAnchor (EpaSpan us) _ = EpaSpan us
+widenAnchor a@(EpaDelta _ _) as = case (realSpanFromAnns as) of
+ Strict.Nothing -> a
+ Strict.Just r -> EpaSpan (RealSrcSpan r Strict.Nothing)
+
+widenAnchorS :: Anchor -> SrcSpan -> Anchor
+widenAnchorS (EpaSpan (RealSrcSpan s mbe)) (RealSrcSpan r mbr)
+ = EpaSpan (RealSrcSpan (combineRealSrcSpans s r) (liftA2 combineBufSpans mbe mbr))
+widenAnchorS (EpaSpan us) _ = EpaSpan us
+widenAnchorS (EpaDelta _ _) (RealSrcSpan r mb) = EpaSpan (RealSrcSpan r mb)
+widenAnchorS anc _ = anc
widenLocatedAn :: SrcSpanAnn' an -> [AddEpAnn] -> SrcSpanAnn' an
widenLocatedAn (SrcSpanAnn a l) as = SrcSpanAnn a (widenSpan l as)
+widenEpAnnS :: EpAnnS an -> [AddEpAnn] -> EpAnnS an
+widenEpAnnS (EpAnnS anc an cs) as = EpAnnS (widenAnchor anc as) an cs
+
epAnnAnnsL :: EpAnn a -> [a]
epAnnAnnsL EpAnnNotUsed = []
epAnnAnnsL (EpAnn _ anns _) = [anns]
@@ -1027,32 +1173,53 @@ epAnnComments EpAnnNotUsed = EpaComments []
epAnnComments (EpAnn _ _ cs) = cs
-- ---------------------------------------------------------------------
--- sortLocatedA :: [LocatedA a] -> [LocatedA a]
-sortLocatedA :: [GenLocated (SrcSpanAnn' a) e] -> [GenLocated (SrcSpanAnn' a) e]
+sortLocatedA :: [LocatedAnS a e] -> [LocatedAnS a e]
sortLocatedA = sortBy (leftmost_smallest `on` getLocA)
-mapLocA :: (a -> b) -> GenLocated SrcSpan a -> GenLocated (SrcAnn ann) b
+sortLocatedI :: [GenLocated (SrcSpanAnn' a) e] -> [GenLocated (SrcSpanAnn' a) e]
+sortLocatedI = sortBy (leftmost_smallest `on` getLocI)
+
+mapLocA :: (Monoid ann) => (a -> b) -> GenLocated SrcSpan a -> LocatedAnS ann b
mapLocA f (L l a) = L (noAnnSrcSpan l) (f a)
+mapLocI :: (a -> b) -> GenLocated SrcSpan a -> GenLocated (SrcAnn ann) b
+mapLocI f (L l a) = L (noAnnSrcSpanI l) (f a)
+
-- AZ:TODO: move this somewhere sane
-combineLocsA :: Semigroup a => GenLocated (SrcAnn a) e1 -> GenLocated (SrcAnn a) e2 -> SrcAnn a
+combineLocsA :: Semigroup a => LocatedAnS a e1 -> LocatedAnS a e2 -> EpAnnS a
combineLocsA (L a _) (L b _) = combineSrcSpansA a b
-combineSrcSpansA :: Semigroup a => SrcAnn a -> SrcAnn a -> SrcAnn a
-combineSrcSpansA (SrcSpanAnn aa la) (SrcSpanAnn ab lb)
+combineLocsI :: Semigroup a => GenLocated (SrcAnn a) e1 -> GenLocated (SrcAnn a) e2 -> SrcAnn a
+combineLocsI (L a _) (L b _) = combineSrcSpansI a b
+
+
+combineSrcSpansA :: Semigroup a => EpAnnS a -> EpAnnS a -> EpAnnS a
+combineSrcSpansA aa ab = aa <> ab
+
+combineSrcSpansI :: Semigroup a => SrcAnn a -> SrcAnn a -> SrcAnn a
+combineSrcSpansI (SrcSpanAnn aa la) (SrcSpanAnn ab lb)
= case SrcSpanAnn (aa <> ab) (combineSrcSpans la lb) of
SrcSpanAnn EpAnnNotUsed l -> SrcSpanAnn EpAnnNotUsed l
SrcSpanAnn (EpAnn anc an cs) l ->
- SrcSpanAnn (EpAnn (widenAnchorR anc (realSrcSpan l)) an cs) l
+ SrcSpanAnn (EpAnn (widenAnchorS anc l) an cs) l
+
-- | Combine locations from two 'Located' things and add them to a third thing
-addCLocA :: GenLocated (SrcSpanAnn' a) e1 -> GenLocated SrcSpan e2 -> e3 -> GenLocated (SrcAnn ann) e3
+addCLocA :: (Monoid ann)
+ => LocatedAnS a e1 -> GenLocated SrcSpan e2 -> e3 -> LocatedAnS ann e3
addCLocA a b c = L (noAnnSrcSpan $ combineSrcSpans (locA $ getLoc a) (getLoc b)) c
-addCLocAA :: GenLocated (SrcSpanAnn' a1) e1 -> GenLocated (SrcSpanAnn' a2) e2 -> e3 -> GenLocated (SrcAnn ann) e3
+-- | Combine locations from two 'Located' things and add them to a third thing
+addCLocI :: GenLocated (SrcSpanAnn' a) e1 -> GenLocated SrcSpan e2 -> e3 -> GenLocated (SrcAnn ann) e3
+addCLocI a b c = L (noAnnSrcSpanI $ combineSrcSpans (locI $ getLoc a) (getLoc b)) c
+
+addCLocAA :: LocatedAnS a1 e1 -> LocatedAnS a2 e2 -> e3 -> LocatedAnS AnnListItem e3
addCLocAA a b c = L (noAnnSrcSpan $ combineSrcSpans (locA $ getLoc a) (locA $ getLoc b)) c
+addCLocII :: GenLocated (SrcSpanAnn' a1) e1 -> GenLocated (SrcSpanAnn' a2) e2 -> e3 -> GenLocated (SrcAnn ann) e3
+addCLocII a b c = L (noAnnSrcSpanI $ combineSrcSpans (locI $ getLoc a) (locI $ getLoc b)) c
+
-- ---------------------------------------------------------------------
-- Utilities for manipulating EpAnnComments
-- ---------------------------------------------------------------------
@@ -1079,14 +1246,14 @@ data NoEpAnns = NoEpAnns
deriving (Data,Eq,Ord)
noComments ::EpAnnCO
-noComments = EpAnn (Anchor placeholderRealSpan UnchangedAnchor) NoEpAnns emptyComments
+noComments = EpAnn noSpanAnchor NoEpAnns emptyComments
-- TODO:AZ get rid of this
placeholderRealSpan :: RealSrcSpan
placeholderRealSpan = realSrcLocSpan (mkRealSrcLoc (mkFastString "placeholder") (-1) (-1))
comment :: RealSrcSpan -> EpAnnComments -> EpAnnCO
-comment loc cs = EpAnn (Anchor loc UnchangedAnchor) NoEpAnns cs
+comment loc cs = EpAnn (EpaSpan (RealSrcSpan loc Strict.Nothing)) NoEpAnns cs
-- ---------------------------------------------------------------------
-- Utilities for managing comments in an `EpAnn a` structure.
@@ -1096,24 +1263,35 @@ comment loc cs = EpAnn (Anchor loc UnchangedAnchor) NoEpAnns cs
-- AST prior to exact printing the changed one.
addCommentsToSrcAnn :: (Monoid ann) => SrcAnn ann -> EpAnnComments -> SrcAnn ann
addCommentsToSrcAnn (SrcSpanAnn EpAnnNotUsed loc) cs
- = SrcSpanAnn (EpAnn (Anchor (realSrcSpan loc) UnchangedAnchor) mempty cs) loc
+ = SrcSpanAnn (EpAnn (spanAsAnchor loc) mempty cs) loc
addCommentsToSrcAnn (SrcSpanAnn (EpAnn a an cs) loc) cs'
= SrcSpanAnn (EpAnn a an (cs <> cs')) loc
+-- | Add additional comments to a 'SrcAnn', used for manipulating the
+-- AST prior to exact printing the changed one.
+addCommentsToEpAnnS :: (Monoid ann) => EpAnnS ann -> EpAnnComments -> EpAnnS ann
+addCommentsToEpAnnS (EpAnnS a an cs) cs' = (EpAnnS a an (cs <> cs'))
+
-- | Replace any existing comments on a 'SrcAnn', used for manipulating the
-- AST prior to exact printing the changed one.
setCommentsSrcAnn :: (Monoid ann) => SrcAnn ann -> EpAnnComments -> SrcAnn ann
setCommentsSrcAnn (SrcSpanAnn EpAnnNotUsed loc) cs
- = SrcSpanAnn (EpAnn (Anchor (realSrcSpan loc) UnchangedAnchor) mempty cs) loc
+ = SrcSpanAnn (EpAnn (spanAsAnchor loc) mempty cs) loc
setCommentsSrcAnn (SrcSpanAnn (EpAnn a an _) loc) cs
= SrcSpanAnn (EpAnn a an cs) loc
+-- | Replace any existing comments on a 'SrcAnn', used for manipulating the
+-- AST prior to exact printing the changed one.
+setCommentsEpAnnS :: EpAnnS ann -> EpAnnComments -> EpAnnS ann
+setCommentsEpAnnS (EpAnnS a an _) cs = (EpAnnS a an cs)
+
+
-- | Add additional comments, used for manipulating the
-- AST prior to exact printing the changed one.
addCommentsToEpAnn :: (Monoid a)
=> SrcSpan -> EpAnn a -> EpAnnComments -> EpAnn a
addCommentsToEpAnn loc EpAnnNotUsed cs
- = EpAnn (Anchor (realSrcSpan loc) UnchangedAnchor) mempty cs
+ = EpAnn (spanAsAnchor loc) mempty cs
addCommentsToEpAnn _ (EpAnn a an ocs) ncs = EpAnn a an (ocs <> ncs)
-- | Replace any existing comments, used for manipulating the
@@ -1121,32 +1299,34 @@ addCommentsToEpAnn _ (EpAnn a an ocs) ncs = EpAnn a an (ocs <> ncs)
setCommentsEpAnn :: (Monoid a)
=> SrcSpan -> EpAnn a -> EpAnnComments -> EpAnn a
setCommentsEpAnn loc EpAnnNotUsed cs
- = EpAnn (Anchor (realSrcSpan loc) UnchangedAnchor) mempty cs
+ = EpAnn (spanAsAnchor loc) mempty cs
setCommentsEpAnn _ (EpAnn a an _) cs = EpAnn a an cs
-- | Transfer comments and trailing items from the annotations in the
-- first 'SrcSpanAnnA' argument to those in the second.
transferAnnsA :: SrcSpanAnnA -> SrcSpanAnnA -> (SrcSpanAnnA, SrcSpanAnnA)
-transferAnnsA from@(SrcSpanAnn EpAnnNotUsed _) to = (from, to)
-transferAnnsA (SrcSpanAnn (EpAnn a an cs) l) to
- = ((SrcSpanAnn (EpAnn a mempty emptyComments) l), to')
- where
- to' = case to of
- (SrcSpanAnn EpAnnNotUsed loc)
- -> SrcSpanAnn (EpAnn (Anchor (realSrcSpan loc) UnchangedAnchor) an cs) loc
- (SrcSpanAnn (EpAnn a an' cs') loc)
- -> SrcSpanAnn (EpAnn a (an' <> an) (cs' <> cs)) loc
+transferAnnsA (EpAnnS a an cs) (EpAnnS a' an' cs')
+ = (EpAnnS a mempty emptyComments, EpAnnS a' (an' <> an) (cs' <> cs))
+
+-- | Remove the exact print annotations payload, leaving only the
+-- anchor and comments.
+commentsOnlyA :: Monoid ann => EpAnnS ann -> EpAnnS ann
+commentsOnlyA (EpAnnS a _ cs) = (EpAnnS a mempty cs)
-- | Remove the exact print annotations payload, leaving only the
-- anchor and comments.
-commentsOnlyA :: Monoid ann => SrcAnn ann -> SrcAnn ann
-commentsOnlyA (SrcSpanAnn EpAnnNotUsed loc) = SrcSpanAnn EpAnnNotUsed loc
-commentsOnlyA (SrcSpanAnn (EpAnn a _ cs) loc) = (SrcSpanAnn (EpAnn a mempty cs) loc)
+commentsOnlyI :: Monoid ann => SrcAnn ann -> SrcAnn ann
+commentsOnlyI (SrcSpanAnn EpAnnNotUsed loc) = SrcSpanAnn EpAnnNotUsed loc
+commentsOnlyI (SrcSpanAnn (EpAnn a _ cs) loc) = (SrcSpanAnn (EpAnn a mempty cs) loc)
+
+-- | Remove the comments, leaving the exact print annotations payload
+removeCommentsA :: EpAnnS ann -> EpAnnS ann
+removeCommentsA (EpAnnS a an _) = (EpAnnS a an emptyComments)
-- | Remove the comments, leaving the exact print annotations payload
-removeCommentsA :: SrcAnn ann -> SrcAnn ann
-removeCommentsA (SrcSpanAnn EpAnnNotUsed loc) = SrcSpanAnn EpAnnNotUsed loc
-removeCommentsA (SrcSpanAnn (EpAnn a an _) loc)
+removeCommentsI :: SrcAnn ann -> SrcAnn ann
+removeCommentsI (SrcSpanAnn EpAnnNotUsed loc) = SrcSpanAnn EpAnnNotUsed loc
+removeCommentsI (SrcSpanAnn (EpAnn a an _) loc)
= (SrcSpanAnn (EpAnn a an emptyComments) loc)
-- ---------------------------------------------------------------------
@@ -1167,11 +1347,22 @@ instance (Semigroup a) => Semigroup (EpAnn a) where
-- annotations must follow it. So we combine them which yields the
-- largest span
-instance Ord Anchor where
- compare (Anchor s1 _) (Anchor s2 _) = compare s1 s2
+instance (Semigroup a) => Semigroup (EpAnnS a) where
+ (EpAnnS l1 a1 b1) <> (EpAnnS l2 a2 b2) = EpAnnS (l1 <> l2) (a1 <> a2) (b1 <> b2)
+ -- The critical part about the anchor is its left edge, and all
+ -- annotations must follow it. So we combine them which yields the
+ -- largest span
+
+
+-- instance Ord Anchor where
+-- compare (Anchor s1 _) (Anchor s2 _) = compare s1 s2
instance Semigroup Anchor where
- Anchor r1 o1 <> Anchor r2 _ = Anchor (combineRealSrcSpans r1 r2) o1
+ EpaSpan s1 <> EpaSpan s2 = EpaSpan (combineSrcSpans s1 s2)
+ EpaSpan s1 <> _ = EpaSpan s1
+ _ <> EpaSpan s2 = EpaSpan s2
+ EpaDelta dp1 cs1 <> EpaDelta _dp2 cs2 = EpaDelta dp1 (cs1<>cs2)
+
instance Semigroup EpAnnComments where
EpaComments cs1 <> EpaComments cs2 = EpaComments (cs1 ++ cs2)
@@ -1186,6 +1377,10 @@ instance (Monoid a) => Monoid (EpAnn a) where
instance Semigroup NoEpAnns where
_ <> _ = NoEpAnns
+instance Monoid NoEpAnns where
+ mempty = NoEpAnns
+
+
instance Semigroup AnnListItem where
(AnnListItem l1) <> (AnnListItem l2) = AnnListItem (l1 <> l2)
@@ -1212,12 +1407,12 @@ instance Monoid NameAnn where
mempty = NameAnnTrailing []
-instance Semigroup AnnSortKey where
+instance (Semigroup a) => Semigroup (AnnSortKey a) where
NoAnnSortKey <> x = x
x <> NoAnnSortKey = x
AnnSortKey ls1 <> AnnSortKey ls2 = AnnSortKey (ls1 <> ls2)
-instance Monoid AnnSortKey where
+instance (Semigroup a) => Monoid (AnnSortKey a) where
mempty = NoAnnSortKey
instance (Outputable a) => Outputable (EpAnn a) where
@@ -1227,9 +1422,6 @@ instance (Outputable a) => Outputable (EpAnn a) where
instance Outputable NoEpAnns where
ppr NoEpAnns = text "NoEpAnns"
-instance Outputable Anchor where
- ppr (Anchor a o) = text "Anchor" <+> ppr a <+> ppr o
-
instance Outputable AnchorOperation where
ppr UnchangedAnchor = text "UnchangedAnchor"
ppr (MovedAnchor d) = text "MovedAnchor" <+> ppr d
@@ -1246,12 +1438,15 @@ instance Outputable EpAnnComments where
ppr (EpaCommentsBalanced cs ts) = text "EpaCommentsBalanced" <+> ppr cs <+> ppr ts
instance (NamedThing (Located a)) => NamedThing (LocatedAn an a) where
+ getName (L l a) = getName (L (locI l) a)
+
+instance (NamedThing (Located a)) => NamedThing (LocatedAnS an a) where
getName (L l a) = getName (L (locA l) a)
instance Outputable AnnContext where
ppr (AnnContext a o c) = text "AnnContext" <+> ppr a <+> ppr o <+> ppr c
-instance Outputable AnnSortKey where
+instance (Outputable a) => Outputable (AnnSortKey a) where
ppr NoAnnSortKey = text "NoAnnSortKey"
ppr (AnnSortKey ls) = text "AnnSortKey" <+> ppr ls
@@ -1265,11 +1460,23 @@ instance (Outputable a, Outputable e)
=> Outputable (GenLocated (SrcSpanAnn' a) e) where
ppr = pprLocated
+instance (Outputable a) => Outputable (EpAnnS a) where
+ ppr (EpAnnS anc an cs) = text "EpAnnS" <+> ppr anc <+> ppr an <+> ppr cs
+
+instance (Outputable a, Outputable e)
+ => Outputable (LocatedAnS a e) where
+ ppr = pprLocated
+
instance (Outputable a, OutputableBndr e)
=> OutputableBndr (GenLocated (SrcSpanAnn' a) e) where
pprInfixOcc = pprInfixOcc . unLoc
pprPrefixOcc = pprPrefixOcc . unLoc
+instance (Outputable a, OutputableBndr e)
+ => OutputableBndr (LocatedAnS a e) where
+ pprInfixOcc = pprInfixOcc . unLoc
+ pprPrefixOcc = pprPrefixOcc . unLoc
+
instance Outputable AnnListItem where
ppr (AnnListItem ts) = text "AnnListItem" <+> ppr ts
diff --git a/compiler/GHC/Parser/HaddockLex.x b/compiler/GHC/Parser/HaddockLex.x
index 52e67894b5..df281db933 100644
--- a/compiler/GHC/Parser/HaddockLex.x
+++ b/compiler/GHC/Parser/HaddockLex.x
@@ -187,7 +187,7 @@ validateIdentWith identParser mloc str0 =
pstate = initParserState pflags buffer realSrcLc
in case unP identParser pstate of
POk _ name -> Just $ case mloc of
- RealSrcSpan _ _ -> reLoc name
+ RealSrcSpan _ _ -> reLocN name
UnhelpfulSpan _ -> L mloc (unLoc name) -- Preserve the original reason
_ -> Nothing
}
diff --git a/compiler/GHC/Parser/Lexer.x b/compiler/GHC/Parser/Lexer.x
index 380a30ca78..fd0aab174a 100644
--- a/compiler/GHC/Parser/Lexer.x
+++ b/compiler/GHC/Parser/Lexer.x
@@ -3643,7 +3643,8 @@ warn_unknown_prag prags span buf len buf2 = do
-- 'AddEpAnn' values for the opening and closing bordering on the start
-- and end of the span
mkParensEpAnn :: RealSrcSpan -> (AddEpAnn, AddEpAnn)
-mkParensEpAnn ss = (AddEpAnn AnnOpenP (EpaSpan lo Strict.Nothing),AddEpAnn AnnCloseP (EpaSpan lc Strict.Nothing))
+mkParensEpAnn ss = (AddEpAnn AnnOpenP (EpaSpan (RealSrcSpan lo Strict.Nothing)),
+ AddEpAnn AnnCloseP (EpaSpan (RealSrcSpan lc Strict.Nothing)))
where
f = srcSpanFile ss
sl = srcSpanStartLine ss
diff --git a/compiler/GHC/Parser/PostProcess.hs b/compiler/GHC/Parser/PostProcess.hs
index 0b7053dcbb..470cd630a8 100644
--- a/compiler/GHC/Parser/PostProcess.hs
+++ b/compiler/GHC/Parser/PostProcess.hs
@@ -286,7 +286,7 @@ mkStandaloneKindSig loc lhs rhs anns =
check_lhs_name v@(unLoc->name) =
if isUnqual name && isTcOcc (rdrNameOcc name)
then return v
- else addFatalError $ mkPlainErrorMsgEnvelope (getLocA v) $
+ else addFatalError $ mkPlainErrorMsgEnvelope (getLocN v) $
(PsErrUnexpectedQualifiedConstructor (unLoc v))
check_singular_lhs vs =
case vs of
@@ -337,21 +337,6 @@ mkDataFamInst loc new_or_data cType (mcxt, bndrs, tycl_hdr)
, feqn_fixity = fixity
, feqn_rhs = defn })))) }
--- mkDataFamInst loc new_or_data cType (mcxt, bndrs, tycl_hdr)
--- ksig data_cons (L _ maybe_deriv) anns
--- = do { (tc, tparams, fixity, ann) <- checkTyClHdr False tycl_hdr
--- ; cs <- getCommentsFor loc -- Add any API Annotations to the top SrcSpan
--- ; let anns' = addAnns (EpAnn (spanAsAnchor loc) ann cs) anns emptyComments
--- ; defn <- mkDataDefn new_or_data cType mcxt ksig data_cons maybe_deriv
--- ; return (L (noAnnSrcSpan loc) (DataFamInstD anns' (DataFamInstDecl
--- (FamEqn { feqn_ext = anns'
--- , feqn_tycon = tc
--- , feqn_bndrs = bndrs
--- , feqn_pats = tparams
--- , feqn_fixity = fixity
--- , feqn_rhs = defn })))) }
-
-
mkTyFamInst :: SrcSpan
-> TyFamInstEqn GhcPs
@@ -404,15 +389,15 @@ mkSpliceDecl :: LHsExpr GhcPs -> P (LHsDecl GhcPs)
mkSpliceDecl lexpr@(L loc expr)
| HsUntypedSplice _ splice@(HsUntypedSpliceExpr {}) <- expr = do
cs <- getCommentsFor (locA loc)
- return $ L (addCommentsToSrcAnn loc cs) $ SpliceD noExtField (SpliceDecl noExtField (L loc splice) DollarSplice)
+ return $ L (addCommentsToEpAnnS loc cs) $ SpliceD noExtField (SpliceDecl noExtField (L loc splice) DollarSplice)
| HsUntypedSplice _ splice@(HsQuasiQuote {}) <- expr = do
cs <- getCommentsFor (locA loc)
- return $ L (addCommentsToSrcAnn loc cs) $ SpliceD noExtField (SpliceDecl noExtField (L loc splice) DollarSplice)
+ return $ L (addCommentsToEpAnnS loc cs) $ SpliceD noExtField (SpliceDecl noExtField (L loc splice) DollarSplice)
| otherwise = do
cs <- getCommentsFor (locA loc)
- return $ L (addCommentsToSrcAnn loc cs) $ SpliceD noExtField (SpliceDecl noExtField
+ return $ L (addCommentsToEpAnnS loc cs) $ SpliceD noExtField (SpliceDecl noExtField
(L loc (HsUntypedSpliceExpr noAnn lexpr))
BareSplice)
@@ -471,27 +456,30 @@ annBinds a cs (HsIPBinds an bs) = (HsIPBinds (add_where a an cs) bs, Nothing)
annBinds _ cs (EmptyLocalBinds x) = (EmptyLocalBinds x, Just cs)
add_where :: AddEpAnn -> EpAnn AnnList -> EpAnnComments -> EpAnn AnnList
-add_where an@(AddEpAnn _ (EpaSpan rs _)) (EpAnn a (AnnList anc o c r t) cs) cs2
- | valid_anchor (anchor a)
+add_where an@(AddEpAnn _ (EpaSpan (RealSrcSpan rs _))) (EpAnn a (AnnList anc o c r t) cs) cs2
+ | valid_anchor a
= EpAnn (widenAnchor a [an]) (AnnList anc o c (an:r) t) (cs Semi.<> cs2)
| otherwise
= EpAnn (patch_anchor rs a)
(AnnList (fmap (patch_anchor rs) anc) o c (an:r) t) (cs Semi.<> cs2)
-add_where an@(AddEpAnn _ (EpaSpan rs _)) EpAnnNotUsed cs
- = EpAnn (Anchor rs UnchangedAnchor)
- (AnnList (Just $ Anchor rs UnchangedAnchor) Nothing Nothing [an] []) cs
-add_where (AddEpAnn _ (EpaDelta _ _)) _ _ = panic "add_where"
+add_where an@(AddEpAnn _ (EpaSpan (RealSrcSpan rs mb))) EpAnnNotUsed cs
+ = EpAnn (EpaSpan (RealSrcSpan rs mb))
+ (AnnList (Just $ EpaSpan (RealSrcSpan rs mb)) Nothing Nothing [an] []) cs
+add_where (AddEpAnn _ _) _ _ = panic "add_where"
-- EpaDelta should only be used for transformations
-valid_anchor :: RealSrcSpan -> Bool
-valid_anchor r = srcSpanStartLine r >= 0
+valid_anchor :: Anchor -> Bool
+valid_anchor (EpaSpan _) = True
+valid_anchor (EpaDelta _ _) = False
-- If the decl list for where binds is empty, the anchor ends up
-- invalid. In this case, use the parent one
patch_anchor :: RealSrcSpan -> Anchor -> Anchor
-patch_anchor r1 (Anchor r0 op) = Anchor r op
+patch_anchor r (EpaDelta _ _) = EpaSpan (RealSrcSpan r Strict.Nothing)
+patch_anchor r1 (EpaSpan (RealSrcSpan r0 mb)) = EpaSpan (RealSrcSpan r mb)
where
r = if srcSpanStartLine r0 < 0 then r1 else r0
+patch_anchor _ (EpaSpan ss) = EpaSpan ss
fixValbindsAnn :: EpAnn AnnList -> EpAnn AnnList
fixValbindsAnn EpAnnNotUsed = EpAnnNotUsed
@@ -500,10 +488,11 @@ fixValbindsAnn (EpAnn anchor (AnnList ma o c r t) cs)
-- | The 'Anchor' for a stmtlist is based on either the location or
-- the first semicolon annotion.
-stmtsAnchor :: Located (OrdList AddEpAnn,a) -> Anchor
-stmtsAnchor (L l ((ConsOL (AddEpAnn _ (EpaSpan r _)) _), _))
- = widenAnchorR (Anchor (realSrcSpan l) UnchangedAnchor) r
-stmtsAnchor (L l _) = Anchor (realSrcSpan l) UnchangedAnchor
+stmtsAnchor :: Located (OrdList AddEpAnn,a) -> Maybe Anchor
+stmtsAnchor (L (RealSrcSpan l mb) ((ConsOL (AddEpAnn _ (EpaSpan (RealSrcSpan r rb))) _), _))
+ = Just $ widenAnchorS (EpaSpan (RealSrcSpan l mb)) (RealSrcSpan r rb)
+stmtsAnchor (L (RealSrcSpan l mb) _) = Just $ EpaSpan (RealSrcSpan l mb)
+stmtsAnchor _ = Nothing
stmtsLoc :: Located (OrdList AddEpAnn,a) -> SrcSpan
stmtsLoc (L l ((ConsOL aa _), _))
@@ -675,7 +664,7 @@ tyConToDataCon (L loc tc)
= return (L loc (setRdrNameSpace tc srcDataName))
| otherwise
- = Left $ mkPlainErrorMsgEnvelope (locA loc) $ (PsErrNotADataCon tc)
+ = Left $ mkPlainErrorMsgEnvelope (locN loc) $ (PsErrNotADataCon tc)
where
occ = rdrNameOcc tc
@@ -684,7 +673,7 @@ mkPatSynMatchGroup :: LocatedN RdrName
-> P (MatchGroup GhcPs (LHsExpr GhcPs))
mkPatSynMatchGroup (L loc patsyn_name) (L ld decls) =
do { matches <- mapM fromDecl (fromOL decls)
- ; when (null matches) (wrongNumberErr (locA loc))
+ ; when (null matches) (wrongNumberErr (locN loc))
; return $ mkMatchGroup FromSource (L ld matches) }
where
fromDecl (L loc decl@(ValD _ (PatBind _
@@ -772,7 +761,7 @@ mkGadtDecl loc names dcol ty = do
return noHsUniTok
return ( RecConGADT (L (SrcSpanAnn an' (locA loc')) rf) arr, res_ty
- , [], epAnnComments (ann ll))
+ , [], s_comments ll)
_ -> do
let (anns, cs, arg_types, res_type) = splitHsFunType body_ty
return (PrefixConGADT arg_types, res_type, anns, cs)
@@ -900,7 +889,7 @@ checkTyVars pp_what equals_or_where tc tparms
-> P (LHsTyVarBndr () GhcPs)
chkParens ops cps cs (L l (HsParTy an ty))
= let
- (o,c) = mkParensEpAnn (realSrcSpan $ locA l)
+ (o,c) = mkParensEpAnn (realSrcSpan "checkTyVars" $ locA l)
in
chkParens (o:ops) (c:cps) (cs Semi.<> epAnnComments an) ty
chkParens ops cps cs ty = chk ops cps cs ty
@@ -912,14 +901,14 @@ checkTyVars pp_what equals_or_where tc tparms
= let
an = (reverse ops) ++ cps
in
- return (L (widenLocatedAn (l Semi.<> annt) an)
+ return (L (widenEpAnnS (l Semi.<> annt) an)
(KindedTyVar (addAnns (annk Semi.<> ann) an cs) () (L lv tv) k))
chk ops cps cs (L l (HsTyVar ann _ (L ltv tv)))
| isRdrTyVar tv
= let
an = (reverse ops) ++ cps
in
- return (L (widenLocatedAn l an)
+ return (L (widenEpAnnS l an)
(UserTyVar (addAnns ann an cs) () (L ltv tv)))
chk _ _ _ t@(L loc _)
= addFatalError $ mkPlainErrorMsgEnvelope (locA loc) $
@@ -935,7 +924,7 @@ checkDatatypeContext :: Maybe (LHsContext GhcPs) -> P ()
checkDatatypeContext Nothing = return ()
checkDatatypeContext (Just c)
= do allowed <- getBit DatatypeContextsBit
- unless allowed $ addError $ mkPlainErrorMsgEnvelope (getLocA c) $
+ unless allowed $ addError $ mkPlainErrorMsgEnvelope (getLocI c) $
(PsErrIllegalDataTypeContext c)
type LRuleTyTmVar = LocatedAn NoEpAnns RuleTyTmVar
@@ -952,10 +941,11 @@ mkRuleBndrs = fmap (fmap cvt_one)
-- turns RuleTyTmVars into HsTyVarBndrs - this is more interesting
mkRuleTyVarBndrs :: [LRuleTyTmVar] -> [LHsTyVarBndr () GhcPs]
mkRuleTyVarBndrs = fmap cvt_one
+ -- where cvt_one (L l (RuleTyTmVar ann v Nothing))
where cvt_one (L l (RuleTyTmVar ann v Nothing))
- = L (l2l l) (UserTyVar ann () (fmap tm_to_ty v))
+ = L (l2ln l) (UserTyVar ann () (fmap tm_to_ty v))
cvt_one (L l (RuleTyTmVar ann v (Just sig)))
- = L (l2l l) (KindedTyVar ann () (fmap tm_to_ty v) sig)
+ = L (l2ln l) (KindedTyVar ann () (fmap tm_to_ty v) sig)
-- takes something in namespace 'varName' to something in namespace 'tvName'
tm_to_ty (Unqual occ) = Unqual (setOccNameSpace tvName occ)
tm_to_ty _ = panic "mkRuleTyVarBndrs"
@@ -1018,11 +1008,11 @@ checkTyClHdr is_cls ty
| isRdrTc tc = return (ltc, HsValArg t1:HsValArg t2:acc, Infix, (reverse ops) ++ cps)
go l (HsParTy _ ty) acc ops cps fix = goL ty acc (o:ops) (c:cps) fix
where
- (o,c) = mkParensEpAnn (realSrcSpan l)
+ (o,c) = mkParensEpAnn (realSrcSpan "checkTyClHdr" l)
go _ (HsAppTy _ t1 t2) acc ops cps fix = goL t1 (HsValArg t2:acc) ops cps fix
go _ (HsAppKindTy _ ty at ki) acc ops cps fix = goL ty (HsTypeArg at ki:acc) ops cps fix
go l (HsTupleTy _ HsBoxedOrConstraintTuple ts) [] ops cps fix
- = return (L (noAnnSrcSpan l) (nameRdrName tup_name)
+ = return (L (noAnnSrcSpanN l) (nameRdrName tup_name)
, map HsValArg ts, fix, (reverse ops)++cps)
where
arity = length ts
@@ -1036,17 +1026,13 @@ checkTyClHdr is_cls ty
-- Combine the annotations from the HsParTy and HsStarTy into a
-- new one for the LocatedN RdrName
newAnns :: SrcSpanAnnA -> EpAnn AnnParen -> SrcSpanAnnN
- newAnns (SrcSpanAnn EpAnnNotUsed l) (EpAnn as (AnnParen _ o c) cs) =
- let
- lr = combineRealSrcSpans (realSrcSpan l) (anchor as)
- an = (EpAnn (Anchor lr UnchangedAnchor) (NameAnn NameParens o (srcSpan2e l) c []) cs)
- in SrcSpanAnn an (RealSrcSpan lr Strict.Nothing)
newAnns _ EpAnnNotUsed = panic "missing AnnParen"
- newAnns (SrcSpanAnn (EpAnn ap (AnnListItem ta) csp) l) (EpAnn as (AnnParen _ o c) cs) =
+ newAnns (EpAnnS ap (AnnListItem ta) csp) (EpAnn as (AnnParen _ o c) cs) =
let
- lr = combineRealSrcSpans (anchor ap) (anchor as)
- an = (EpAnn (Anchor lr UnchangedAnchor) (NameAnn NameParens o (srcSpan2e l) c ta) (csp Semi.<> cs))
- in SrcSpanAnn an (RealSrcSpan lr Strict.Nothing)
+ lr = ap Semi.<> as
+ in (EpAnnS lr
+ (NameAnn NameParens o ap c ta)
+ (csp Semi.<> cs))
-- | Yield a parse error if we have a function applied directly to a do block
-- etc. and BlockArguments is not enabled.
@@ -1091,9 +1077,10 @@ checkCmdBlockArguments :: LHsCmd GhcPs -> PV ()
-- (((Eq a))) --> [Eq a]
-- @
checkContext :: LHsType GhcPs -> P (LHsContext GhcPs)
-checkContext orig_t@(L (SrcSpanAnn _ l) _orig_t) =
+checkContext orig_t@(L a _orig_t) =
check ([],[],emptyComments) orig_t
where
+ l = spanFromAnchor $ s_entry a
check :: ([EpaLocation],[EpaLocation],EpAnnComments)
-> LHsType GhcPs -> P (LHsContext GhcPs)
check (oparens,cparens,cs) (L _l (HsTupleTy ann' HsBoxedOrConstraintTuple ts))
@@ -1195,7 +1182,7 @@ checkAPat loc e0 = do
-- Overloaded numeric patterns (e.g. f 0 x = x)
-- Negation is recorded separately, so that the literal is zero or +ve
-- NB. Negative *primitive* literals are already handled by the lexer
- PatBuilderOverLit pos_lit -> return (mkNPat (L (l2l loc) pos_lit) Nothing noAnn)
+ PatBuilderOverLit pos_lit -> return (mkNPat (L (nn2la loc) pos_lit) Nothing noAnn)
-- n+k patterns
PatBuilderOpApp
@@ -1204,12 +1191,12 @@ checkAPat loc e0 = do
(L lloc (PatBuilderOverLit lit@(OverLit {ol_val = HsIntegral {}})))
(EpAnn anc _ cs)
| nPlusKPatterns && (plus == plus_RDR)
- -> return (mkNPlusKPat (L nloc n) (L (l2l lloc) lit)
- (EpAnn anc (epaLocationFromSrcAnn l) cs))
+ -> return (mkNPlusKPat (L nloc n) (L (nn2la lloc) lit)
+ (EpAnn anc (epaLocationFromEpAnnS l) cs))
-- Improve error messages for the @-operator when the user meant an @-pattern
PatBuilderOpApp _ op _ _ | opIsAt (unLoc op) -> do
- addError $ mkPlainErrorMsgEnvelope (getLocA op) PsErrAtInPatPos
+ addError $ mkPlainErrorMsgEnvelope (getLocN op) PsErrAtInPatPos
return (WildPat noExtField)
PatBuilderOpApp l (L cl c) r anns
@@ -1234,7 +1221,7 @@ placeHolderPunRhs :: DisambECP b => PV (LocatedA b)
-- The RHS of a punned record field will be filled in by the renamer
-- It's better not to make it an error, in case we want to print it when
-- debugging
-placeHolderPunRhs = mkHsVarPV (noLocA pun_RDR)
+placeHolderPunRhs = mkHsVarPV (noLocN pun_RDR)
plus_RDR, pun_RDR :: RdrName
plus_RDR = mkUnqual varName (fsLit "+") -- Hack
@@ -1288,7 +1275,7 @@ checkFunBind strictness locF ann fun is_infix pats (L _ grhss)
= do ps <- runPV_details extraDetails (mapM checkLPat pats)
let match_span = noAnnSrcSpan $ locF
cs <- getCommentsFor locF
- return (makeFunBind fun (L (noAnnSrcSpan $ locA match_span)
+ return (makeFunBind fun (L (noAnnSrcSpanI $ locA match_span)
[L match_span (Match { m_ext = EpAnn (spanAsAnchor locF) ann cs
, m_ctxt = FunRhs
{ mc_fun = fun
@@ -1319,7 +1306,7 @@ checkPatBind :: SrcSpan
-> P (HsBind GhcPs)
checkPatBind loc annsIn (L _ (BangPat (EpAnn _ ans cs) (L _ (VarPat _ v))))
(L _match_span grhss)
- = return (makeFunBind v (L (noAnnSrcSpan loc)
+ = return (makeFunBind v (L (noAnnSrcSpanI loc)
[L (noAnnSrcSpan loc) (m (EpAnn (spanAsAnchor loc) (ans++annsIn) cs) v)]))
where
m a v = Match { m_ext = a
@@ -1369,7 +1356,7 @@ isFunLhs e = go e [] [] []
go (L _ (PatBuilderApp f e)) es ops cps = go f (e:es) ops cps
go (L l (PatBuilderPar _ e _)) es@(_:_) ops cps
= let
- (o,c) = mkParensEpAnn (realSrcSpan $ locA l)
+ (o,c) = mkParensEpAnn (realSrcSpan "checkDoAndIfThenElse" $ locA l)
in
go e es (o:ops) (c:cps)
go (L loc (PatBuilderOpApp l (L loc' op) r (EpAnn loca anns cs))) es ops cps
@@ -1464,8 +1451,8 @@ class DisambInfixOp b where
mkHsInfixHolePV :: SrcSpan -> (EpAnnComments -> EpAnn EpAnnUnboundVar) -> PV (Located b)
instance DisambInfixOp (HsExpr GhcPs) where
- mkHsVarOpPV v = return $ L (getLoc v) (HsVar noExtField v)
- mkHsConOpPV v = return $ L (getLoc v) (HsVar noExtField v)
+ mkHsVarOpPV v = return $ L (l2l $ getLoc v) (HsVar noExtField v)
+ mkHsConOpPV v = return $ L (l2l $ getLoc v) (HsVar noExtField v)
mkHsInfixHolePV l ann = do
cs <- getCommentsFor l
return $ L l (hsHoleExpr (ann cs))
@@ -1476,7 +1463,7 @@ instance DisambInfixOp RdrName where
mkHsInfixHolePV l _ = addFatalError $ mkPlainErrorMsgEnvelope l $ PsErrInvalidInfixHole
type AnnoBody b
- = ( Anno (GRHS GhcPs (LocatedA (Body b GhcPs))) ~ SrcAnn NoEpAnns
+ = ( Anno (GRHS GhcPs (LocatedA (Body b GhcPs))) ~ EpAnnS NoEpAnns
, Anno [LocatedA (Match GhcPs (LocatedA (Body b GhcPs)))] ~ SrcSpanAnnL
, Anno (Match GhcPs (LocatedA (Body b GhcPs))) ~ SrcSpanAnnA
, Anno (StmtLR GhcPs GhcPs (LocatedA (Body (Body b GhcPs) GhcPs))) ~ SrcSpanAnnA
@@ -1555,7 +1542,7 @@ class (b ~ (Body b) GhcPs, AnnoBody b) => DisambECP b where
-- | Disambiguate a monomorphic literal
mkHsLitPV :: Located (HsLit GhcPs) -> PV (Located b)
-- | Disambiguate an overloaded literal
- mkHsOverLitPV :: LocatedAn a (HsOverLit GhcPs) -> PV (LocatedAn a b)
+ mkHsOverLitPV :: LocatedA (HsOverLit GhcPs) -> PV (LocatedA b)
-- | Disambiguate a wildcard
mkHsWildCardPV :: SrcSpan -> PV (Located b)
-- | Disambiguate "a :: t" (type annotation)
@@ -1654,7 +1641,7 @@ instance DisambECP (HsCmd GhcPs) where
type InfixOp (HsCmd GhcPs) = HsExpr GhcPs
superInfixOp m = m
mkHsOpAppPV l c1 op c2 = do
- let cmdArg c = L (l2l $ getLoc c) $ HsCmdTop noExtField c
+ let cmdArg (L l c) = L (l2l l) $ HsCmdTop noExtField (L l c)
cs <- getCommentsFor l
return $ L (noAnnSrcSpan l) $ HsCmdArrForm (EpAnn (spanAsAnchor l) (AnnList Nothing Nothing Nothing [] []) cs) (reLocL op) Infix Nothing [cmdArg c1, cmdArg c2]
mkHsCasePV l c (L lm m) anns = do
@@ -1671,7 +1658,7 @@ instance DisambECP (HsCmd GhcPs) where
cs <- getCommentsFor (locA l)
checkCmdBlockArguments c
checkExpBlockArguments e
- return $ L l (HsCmdApp (comment (realSrcSpan $ locA l) cs) c e)
+ return $ L l (HsCmdApp (comment (realSrcSpan "mkHsAppPV" $ locA l) cs) c e)
mkHsAppTypePV l c _ t = cmdFail (locA l) (ppr c <+> text "@" <> ppr t)
mkHsIfPV l c semi1 a semi2 b anns = do
checkDoAndIfThenElse PsErrSemiColonsInCondCmd c semi1 a semi2 b
@@ -1684,7 +1671,7 @@ instance DisambECP (HsCmd GhcPs) where
mkHsParPV l lpar c rpar = do
cs <- getCommentsFor l
return $ L (noAnnSrcSpan l) (HsCmdPar (EpAnn (spanAsAnchor l) NoEpAnns cs) lpar c rpar)
- mkHsVarPV (L l v) = cmdFail (locA l) (ppr v)
+ mkHsVarPV (L l v) = cmdFail (locN l) (ppr v)
mkHsLitPV (L l a) = cmdFail l (ppr a)
mkHsOverLitPV (L l a) = cmdFail (locA l) (ppr a)
mkHsWildCardPV l = cmdFail l (text "_")
@@ -1757,7 +1744,7 @@ instance DisambECP (HsExpr GhcPs) where
cs <- getCommentsFor (locA l)
checkExpBlockArguments e1
checkExpBlockArguments e2
- return $ L l (HsApp (comment (realSrcSpan $ locA l) cs) e1 e2)
+ return $ L l (HsApp (comment (realSrcSpan "mkHsAppPV" $ locA l) cs) e1 e2)
mkHsAppTypePV l e at t = do
checkExpBlockArguments e
return $ L l (HsAppType noExtField e at (mkHsWildCardBndrs t))
@@ -1771,13 +1758,13 @@ instance DisambECP (HsExpr GhcPs) where
mkHsParPV l lpar e rpar = do
cs <- getCommentsFor l
return $ L (noAnnSrcSpan l) (HsPar (EpAnn (spanAsAnchor l) NoEpAnns cs) lpar e rpar)
- mkHsVarPV v@(L l _) = return $ L (na2la l) (HsVar noExtField v)
+ mkHsVarPV v@(L l _) = return $ L (l2l l) (HsVar noExtField v)
mkHsLitPV (L l a) = do
cs <- getCommentsFor l
- return $ L l (HsLit (comment (realSrcSpan l) cs) a)
+ return $ L l (HsLit (comment (realSrcSpan "mkHsLitPV" l) cs) a)
mkHsOverLitPV (L l a) = do
cs <- getCommentsFor (locA l)
- return $ L l (HsOverLit (comment (realSrcSpan (locA l)) cs) a)
+ return $ L l (HsOverLit (comment (realSrcSpan "mkHsOverLitPV" (locA l)) cs) a)
mkHsWildCardPV l = return $ L l (hsHoleExpr noAnn)
mkHsTySigPV l a sig anns = do
cs <- getCommentsFor (locA l)
@@ -1797,7 +1784,7 @@ instance DisambECP (HsExpr GhcPs) where
return $ L (noAnnSrcSpan l) (NegApp (EpAnn (spanAsAnchor l) anns cs) a noSyntaxExpr)
mkHsSectionR_PV l op e = do
cs <- getCommentsFor l
- return $ L l (SectionR (comment (realSrcSpan l) cs) op e)
+ return $ L l (SectionR (comment (realSrcSpan "mkHsSectionR" l) cs) op e)
mkHsViewPatPV l a b _ = addError (mkPlainErrorMsgEnvelope l $ PsErrViewPatInExpr a b)
>> return (L (noAnnSrcSpan l) (hsHoleExpr noAnn))
mkHsAsPatPV l v _ e = addError (mkPlainErrorMsgEnvelope l $ PsErrTypeAppWithoutSpace (unLoc v) e)
@@ -1842,7 +1829,7 @@ instance DisambECP (PatBuilder GhcPs) where
mkHsIfPV l _ _ _ _ _ _ = addFatalError $ mkPlainErrorMsgEnvelope l PsErrIfThenElseInPat
mkHsDoPV l _ _ _ = addFatalError $ mkPlainErrorMsgEnvelope l PsErrDoNotationInPat
mkHsParPV l lpar p rpar = return $ L (noAnnSrcSpan l) (PatBuilderPar lpar p rpar)
- mkHsVarPV v@(getLoc -> l) = return $ L (na2la l) (PatBuilderVar v)
+ mkHsVarPV v@(getLoc -> l) = return $ L (l2l l) (PatBuilderVar v)
mkHsLitPV lit@(L l a) = do
checkUnboxedLitPat lit
return $ L l (PatBuilderPat (LitPat noExtField a))
@@ -1867,7 +1854,7 @@ instance DisambECP (PatBuilder GhcPs) where
checkRecordSyntax (L (noAnnSrcSpan l) r)
mkHsNegAppPV l (L lp p) anns = do
lit <- case p of
- PatBuilderOverLit pos_lit -> return (L (l2l lp) pos_lit)
+ PatBuilderOverLit pos_lit -> return (L (nn2la lp) pos_lit)
_ -> patFail l $ PsErrInPat p PEIP_NegApp
cs <- getCommentsFor l
let an = EpAnn (spanAsAnchor l) anns cs
@@ -2041,7 +2028,7 @@ tyToDataConBuilder t =
checkNotPromotedDataCon :: PromotionFlag -> LocatedN RdrName -> PV ()
checkNotPromotedDataCon NotPromoted _ = return ()
checkNotPromotedDataCon IsPromoted (L l name) =
- addError $ mkPlainErrorMsgEnvelope (locA l) $
+ addError $ mkPlainErrorMsgEnvelope (locN l) $
PsErrIllegalPromotionQuoteDataCon name
{- Note [Ambiguous syntactic categories]
@@ -2566,15 +2553,15 @@ mkRdrRecordUpd overloaded_on exp@(L loc _) fbinds anns = do
-- The idea here is to convert the label to a singleton [FastString].
let f = occNameFS . rdrNameOcc $ rdr
fl = DotFieldOcc noAnn (L loc (FieldLabelString f))
- lf = locA loc
- in mkRdrProjUpdate l (L lf [L (l2l loc) fl]) (punnedVar f) pun anns
+ lf = locN loc
+ in mkRdrProjUpdate l (L lf [L (nn2la loc) fl]) (punnedVar f) pun anns
where
-- If punning, compute HsVar "f" otherwise just arg. This
-- has the effect that sentinel HsVar "pun-rhs" is replaced
-- by HsVar "f" here, before the update is written to a
-- setField expressions.
punnedVar :: FastString -> LHsExpr GhcPs
- punnedVar f = if not pun then arg else noLocA . HsVar noExtField . noLocA . mkRdrUnqual . mkVarOccFS $ f
+ punnedVar f = if not pun then arg else noLocA . HsVar noExtField . noLocN . mkRdrUnqual . mkVarOccFS $ f
mkRdrRecordCon
:: LocatedN RdrName -> HsRecordBinds GhcPs -> EpAnn [AddEpAnn] -> HsExpr GhcPs
@@ -2841,7 +2828,7 @@ mkTypeImpExp :: LocatedN RdrName -- TcCls or Var name space
-> P (LocatedN RdrName)
mkTypeImpExp name =
do allowed <- getBit ExplicitNamespacesBit
- unless allowed $ addError $ mkPlainErrorMsgEnvelope (getLocA name) $
+ unless allowed $ addError $ mkPlainErrorMsgEnvelope (getLocN name) $
PsErrIllegalExplicitNamespace
return (fmap (`setRdrNameSpace` tcClsName) name)
@@ -2858,7 +2845,7 @@ checkImportSpec ie@(L _ specs) =
mkImpExpSubSpec :: [LocatedA ImpExpQcSpec] -> P ([AddEpAnn], ImpExpSubSpec)
mkImpExpSubSpec [] = return ([], ImpExpList [])
mkImpExpSubSpec [L la ImpExpQcWildcard] =
- return ([AddEpAnn AnnDotdot (la2e la)], ImpExpAll)
+ return ([AddEpAnn AnnDotdot (epaLocationFromEpAnnS la)], ImpExpAll)
mkImpExpSubSpec xs =
if (any (isImpExpQcWildcard . unLoc) xs)
then return $ ([], ImpExpAllWith xs)
@@ -2890,7 +2877,7 @@ failOpFewArgs :: MonadP m => LocatedN RdrName -> m a
failOpFewArgs (L loc op) =
do { star_is_type <- getBit StarIsTypeBit
; let is_star_type = if star_is_type then StarIsType else StarIsNotType
- ; addFatalError $ mkPlainErrorMsgEnvelope (locA loc) $
+ ; addFatalError $ mkPlainErrorMsgEnvelope (locN loc) $
(PsErrOpFewArgs is_star_type op) }
-----------------------------------------------------------------------------
@@ -3112,7 +3099,7 @@ mkSumOrTuplePat l Boxed a@Sum{} _ =
mkLHsOpTy :: PromotionFlag -> LHsType GhcPs -> LocatedN RdrName -> LHsType GhcPs -> LHsType GhcPs
mkLHsOpTy prom x op y =
- let loc = getLoc x `combineSrcSpansA` (noAnnSrcSpan $ getLocA op) `combineSrcSpansA` getLoc y
+ let loc = getLoc x `combineSrcSpansA` (noAnnSrcSpan $ getLocN op) `combineSrcSpansA` getLoc y
in L loc (mkHsOpTy prom x op y)
mkMultTy :: LHsToken "%" GhcPs -> LHsType GhcPs -> LHsUniToken "->" "→" GhcPs -> HsArrow GhcPs
@@ -3127,14 +3114,14 @@ mkMultTy pct t arr = HsExplicitMult pct t arr
mkTokenLocation :: SrcSpan -> TokenLocation
mkTokenLocation (UnhelpfulSpan _) = NoTokenLoc
-mkTokenLocation (RealSrcSpan r mb) = TokenLoc (EpaSpan r mb)
+mkTokenLocation (RealSrcSpan r mb) = TokenLoc (EpaSpan (RealSrcSpan r mb))
-- Precondition: the TokenLocation has EpaSpan, never EpaDelta.
token_location_widenR :: TokenLocation -> SrcSpan -> TokenLocation
token_location_widenR NoTokenLoc _ = NoTokenLoc
token_location_widenR tl (UnhelpfulSpan _) = tl
-token_location_widenR (TokenLoc (EpaSpan r1 mb1)) (RealSrcSpan r2 mb2) =
- (TokenLoc (EpaSpan (combineRealSrcSpans r1 r2) (liftA2 combineBufSpans mb1 mb2)))
+token_location_widenR (TokenLoc (EpaSpan s1)) s2 =
+ (TokenLoc (EpaSpan (combineSrcSpans s1 s2)))
token_location_widenR (TokenLoc (EpaDelta _ _)) _ =
-- Never happens because the parser does not produce EpaDelta.
panic "token_location_widenR: EpaDelta"
@@ -3173,7 +3160,7 @@ mkRdrProjUpdate _ (L _ []) _ _ _ = panic "mkRdrProjUpdate: The impossible has ha
mkRdrProjUpdate loc (L l flds) arg isPun anns =
L loc HsFieldBind {
hfbAnn = anns
- , hfbLHS = L (noAnnSrcSpan l) (FieldLabelStrings flds)
+ , hfbLHS = L (noAnnSrcSpanI l) (FieldLabelStrings flds)
, hfbRHS = arg
, hfbPun = isPun
}
diff --git a/compiler/GHC/Parser/PostProcess/Haddock.hs b/compiler/GHC/Parser/PostProcess/Haddock.hs
index 706423c099..b9449c4a7e 100644
--- a/compiler/GHC/Parser/PostProcess/Haddock.hs
+++ b/compiler/GHC/Parser/PostProcess/Haddock.hs
@@ -311,9 +311,9 @@ lexLHsDocString = fmap lexHsDocString
-- Imports cannot have documentation comments anyway.
instance HasHaddock (LocatedL [LocatedA (IE GhcPs)]) where
addHaddock (L l_exports exports) =
- extendHdkA (locA l_exports) $ do
+ extendHdkA (locI l_exports) $ do
exports' <- addHaddockInterleaveItems NoLayoutInfo mkDocIE exports
- registerLocHdkA (srcLocSpan (srcSpanEnd (locA l_exports))) -- Do not consume comments after the closing parenthesis
+ registerLocHdkA (srcLocSpan (srcSpanEnd (locI l_exports))) -- Do not consume comments after the closing parenthesis
pure $ L l_exports exports'
-- Needed to use 'addHaddockInterleaveItems' in 'instance HasHaddock (Located [LIE GhcPs])'.
@@ -615,7 +615,7 @@ instance HasHaddock (Located [LocatedAn NoEpAnns (HsDerivingClause GhcPs)]) wher
-- Not used for standalone deriving.
instance HasHaddock (LocatedAn NoEpAnns (HsDerivingClause GhcPs)) where
addHaddock lderiv =
- extendHdkA (getLocA lderiv) $
+ extendHdkA (getLocI lderiv) $
for @(LocatedAn NoEpAnns) lderiv $ \deriv ->
case deriv of
HsDerivingClause { deriv_clause_ext, deriv_clause_strategy, deriv_clause_tys } -> do
@@ -629,8 +629,8 @@ instance HasHaddock (LocatedAn NoEpAnns (HsDerivingClause GhcPs)) where
(register_strategy_before, register_strategy_after) =
case deriv_clause_strategy of
Nothing -> (pure (), pure ())
- Just (L l (ViaStrategy _)) -> (pure (), registerLocHdkA (locA l))
- Just (L l _) -> (registerLocHdkA (locA l), pure ())
+ Just (L l (ViaStrategy _)) -> (pure (), registerLocHdkA (locI l))
+ Just (L l _) -> (registerLocHdkA (locI l), pure ())
register_strategy_before
deriv_clause_tys' <- addHaddock deriv_clause_tys
register_strategy_after
@@ -651,7 +651,7 @@ instance HasHaddock (LocatedAn NoEpAnns (HsDerivingClause GhcPs)) where
-- )
instance HasHaddock (LocatedC (DerivClauseTys GhcPs)) where
addHaddock (L l_dct dct) =
- extendHdkA (locA l_dct) $
+ extendHdkA (locI l_dct) $
case dct of
DctSingle x ty -> do
ty' <- addHaddock ty
@@ -700,7 +700,7 @@ instance HasHaddock (LocatedA (ConDecl GhcPs)) where
case con_decl of
ConDeclGADT { con_g_ext, con_names, con_dcolon, con_bndrs, con_mb_cxt, con_g_args, con_res_ty } -> do
-- discardHasInnerDocs is ok because we don't need this info for GADTs.
- con_doc' <- discardHasInnerDocs $ getConDoc (getLocA (NE.head con_names))
+ con_doc' <- discardHasInnerDocs $ getConDoc (getLocN (NE.head con_names))
con_g_args' <-
case con_g_args of
PrefixConGADT ts -> PrefixConGADT <$> addHaddock ts
@@ -718,7 +718,7 @@ instance HasHaddock (LocatedA (ConDecl GhcPs)) where
addConTrailingDoc (srcSpanEnd $ locA l_con_decl) $
case con_args of
PrefixCon _ ts -> do
- con_doc' <- getConDoc (getLocA con_name)
+ con_doc' <- getConDoc (getLocN con_name)
ts' <- traverse addHaddockConDeclFieldTy ts
pure $ L l_con_decl $
ConDeclH98 { con_ext, con_name, con_forall, con_ex_tvs, con_mb_cxt,
@@ -726,14 +726,14 @@ instance HasHaddock (LocatedA (ConDecl GhcPs)) where
con_args = PrefixCon noTypeArgs ts' }
InfixCon t1 t2 -> do
t1' <- addHaddockConDeclFieldTy t1
- con_doc' <- getConDoc (getLocA con_name)
+ con_doc' <- getConDoc (getLocN con_name)
t2' <- addHaddockConDeclFieldTy t2
pure $ L l_con_decl $
ConDeclH98 { con_ext, con_name, con_forall, con_ex_tvs, con_mb_cxt,
con_doc = lexLHsDocString <$> con_doc',
con_args = InfixCon t1' t2' }
RecCon (L l_rec flds) -> do
- con_doc' <- getConDoc (getLocA con_name)
+ con_doc' <- getConDoc (getLocN con_name)
flds' <- traverse addHaddockConDeclField flds
pure $ L l_con_decl $
ConDeclH98 { con_ext, con_name, con_forall, con_ex_tvs, con_mb_cxt,
@@ -989,7 +989,7 @@ instance HasHaddock (LocatedA (HsType GhcPs)) where
-- (Eq a, Num a) => t
HsQualTy x lhs rhs -> do
- registerHdkA lhs
+ registerHdkI lhs
rhs' <- addHaddock rhs
pure $ L l (HsQualTy x lhs rhs')
@@ -1155,9 +1155,12 @@ registerLocHdkA l = HdkA (getBufSpan l) (pure ())
-- A small wrapper over registerLocHdkA.
--
-- See Note [Adding Haddock comments to the syntax tree].
-registerHdkA :: GenLocated (SrcSpanAnn' a) e -> HdkA ()
+registerHdkA :: LocatedAnS a e -> HdkA ()
registerHdkA a = registerLocHdkA (getLocA a)
+registerHdkI :: GenLocated (SrcSpanAnn' a) e -> HdkA ()
+registerHdkI a = registerLocHdkA (getLocI a)
+
-- Modify the action of a HdkA computation.
hoistHdkA :: (HdkM a -> HdkM b) -> HdkA a -> HdkA b
hoistHdkA f (HdkA l m) = HdkA l (f m)
@@ -1517,7 +1520,7 @@ flattenBindsAndSigs (all_bs, all_ss, all_ts, all_tfis, all_dfis, all_docs) =
mapLL (\d -> DocD noExtField d) all_docs
]
-cmpBufSpanA :: GenLocated (SrcSpanAnn' a1) a2 -> GenLocated (SrcSpanAnn' a3) a2 -> Ordering
+cmpBufSpanA :: LocatedAnS a1 a2 -> LocatedAnS a3 a2 -> Ordering
cmpBufSpanA (L la a) (L lb b) = cmpBufSpan (L (locA la) a) (L (locA lb) b)
{- *********************************************************************
diff --git a/compiler/GHC/Parser/Types.hs b/compiler/GHC/Parser/Types.hs
index 2e38c22f69..dae5ffdefd 100644
--- a/compiler/GHC/Parser/Types.hs
+++ b/compiler/GHC/Parser/Types.hs
@@ -62,7 +62,7 @@ data PatBuilder p
| PatBuilderOverLit (HsOverLit GhcPs)
-- These instances are here so that they are not orphans
-type instance Anno (GRHS GhcPs (LocatedA (PatBuilder GhcPs))) = SrcAnn NoEpAnns
+type instance Anno (GRHS GhcPs (LocatedA (PatBuilder GhcPs))) = EpAnnS NoEpAnns
type instance Anno [LocatedA (Match GhcPs (LocatedA (PatBuilder GhcPs)))] = SrcSpanAnnL
type instance Anno (Match GhcPs (LocatedA (PatBuilder GhcPs))) = SrcSpanAnnA
type instance Anno (StmtLR GhcPs GhcPs (LocatedA (PatBuilder GhcPs))) = SrcSpanAnnA
diff --git a/compiler/GHC/Rename/Bind.hs b/compiler/GHC/Rename/Bind.hs
index 661c271fb9..e16d544a47 100644
--- a/compiler/GHC/Rename/Bind.hs
+++ b/compiler/GHC/Rename/Bind.hs
@@ -445,7 +445,7 @@ rnBindLHS name_maker _ bind@(FunBind { fun_id = rdr_name })
rnBindLHS name_maker _ (PatSynBind x psb@PSB{ psb_id = rdrname })
| isTopRecNameMaker name_maker
- = do { addLocMA checkConName rdrname
+ = do { addLocMN checkConName rdrname
; name <-
lookupLocatedTopConstructorRnN rdrname -- Should be in scope already
; return (PatSynBind x psb{ psb_ext = noAnn, psb_id = name }) }
@@ -674,7 +674,7 @@ makeMiniFixityEnv decls = foldlM add_one_sig emptyFsEnv decls
where
add_one_sig :: MiniFixityEnv -> LFixitySig GhcPs -> RnM MiniFixityEnv
add_one_sig env (L loc (FixitySig _ names fixity)) =
- foldlM add_one env [ (locA loc,locA name_loc,name,fixity)
+ foldlM add_one env [ (locA loc,locN name_loc,name,fixity)
| L name_loc name <- names ]
add_one env (loc, name_loc, name,fixity) = do
@@ -1225,8 +1225,8 @@ type AnnoBody body
, Anno [LocatedA (Match GhcPs (LocatedA (body GhcPs)))] ~ SrcSpanAnnL
, Anno (Match GhcRn (LocatedA (body GhcRn))) ~ SrcSpanAnnA
, Anno (Match GhcPs (LocatedA (body GhcPs))) ~ SrcSpanAnnA
- , Anno (GRHS GhcRn (LocatedA (body GhcRn))) ~ SrcAnn NoEpAnns
- , Anno (GRHS GhcPs (LocatedA (body GhcPs))) ~ SrcAnn NoEpAnns
+ , Anno (GRHS GhcRn (LocatedA (body GhcRn))) ~ EpAnnS NoEpAnns
+ , Anno (GRHS GhcPs (LocatedA (body GhcPs))) ~ EpAnnS NoEpAnns
, Outputable (body GhcPs)
)
@@ -1362,7 +1362,7 @@ rnSrcFixityDecl sig_ctxt = rn_decl
lookup_one :: LocatedN RdrName -> RnM [LocatedN Name]
lookup_one (L name_loc rdr_name)
- = setSrcSpanA name_loc $
+ = setSrcSpanN name_loc $
-- This lookup will fail if the name is not defined in the
-- same binding group as this fixity declaration.
do names <- lookupLocalTcNames sig_ctxt what rdr_name
diff --git a/compiler/GHC/Rename/Env.hs b/compiler/GHC/Rename/Env.hs
index 49fdde1bc6..4c632c7e20 100644
--- a/compiler/GHC/Rename/Env.hs
+++ b/compiler/GHC/Rename/Env.hs
@@ -199,7 +199,7 @@ newTopSrcBinder (L loc rdr_name)
if isExternalName name then
do { this_mod <- getModule
; unless (this_mod == nameModule name)
- (addErrAt (locA loc) (TcRnBindingOfExistingName rdr_name))
+ (addErrAt (locN loc) (TcRnBindingOfExistingName rdr_name))
; return name }
else -- See Note [Binders in Template Haskell] in "GHC.ThToHs"
do { this_mod <- getModule
@@ -208,7 +208,7 @@ newTopSrcBinder (L loc rdr_name)
| Just (rdr_mod, rdr_occ) <- isOrig_maybe rdr_name
= do { this_mod <- getModule
; unless (rdr_mod == this_mod || rdr_mod == rOOT_MAIN)
- (addErrAt (locA loc) (TcRnBindingOfExistingName rdr_name))
+ (addErrAt (locN loc) (TcRnBindingOfExistingName rdr_name))
-- When reading External Core we get Orig names as binders,
-- but they should agree with the module gotten from the monad
--
@@ -231,11 +231,11 @@ newTopSrcBinder (L loc rdr_name)
-- the RdrName, not from the environment. In principle, it'd be fine to
-- have an arbitrary mixture of external core definitions in a single module,
-- (apart from module-initialisation issues, perhaps).
- ; newGlobalBinder rdr_mod rdr_occ (locA loc) }
+ ; newGlobalBinder rdr_mod rdr_occ (locN loc) }
| otherwise
= do { when (isQual rdr_name)
- (addErrAt (locA loc) (badQualBndrErr rdr_name))
+ (addErrAt (locN loc) (badQualBndrErr rdr_name))
-- Binders should not be qualified; if they are, and with a different
-- module name, we get a confusing "M.T is not in scope" error later
@@ -244,11 +244,11 @@ newTopSrcBinder (L loc rdr_name)
-- We are inside a TH bracket, so make an *Internal* name
-- See Note [Top-level Names in Template Haskell decl quotes] in GHC.Rename.Names
do { uniq <- newUnique
- ; return (mkInternalName uniq (rdrNameOcc rdr_name) (locA loc)) }
+ ; return (mkInternalName uniq (rdrNameOcc rdr_name) (locN loc)) }
else
do { this_mod <- getModule
- ; traceRn "newTopSrcBinder" (ppr this_mod $$ ppr rdr_name $$ ppr (locA loc))
- ; newGlobalBinder this_mod (rdrNameOcc rdr_name) (locA loc) }
+ ; traceRn "newTopSrcBinder" (ppr this_mod $$ ppr rdr_name $$ ppr (locN loc))
+ ; newGlobalBinder this_mod (rdrNameOcc rdr_name) (locN loc) }
}
{-
@@ -1000,20 +1000,20 @@ we'll miss the fact that the qualified import is redundant.
-}
-lookupLocatedOccRn :: GenLocated (SrcSpanAnn' ann) RdrName
- -> TcRn (GenLocated (SrcSpanAnn' ann) Name)
+lookupLocatedOccRn :: LocatedN RdrName
+ -> TcRn (LocatedN Name)
lookupLocatedOccRn = wrapLocMA lookupOccRn
-lookupLocatedOccRnConstr :: GenLocated (SrcSpanAnn' ann) RdrName
- -> TcRn (GenLocated (SrcSpanAnn' ann) Name)
+lookupLocatedOccRnConstr :: LocatedN RdrName
+ -> TcRn (LocatedN Name)
lookupLocatedOccRnConstr = wrapLocMA lookupOccRnConstr
-lookupLocatedOccRnRecField :: GenLocated (SrcSpanAnn' ann) RdrName
- -> TcRn (GenLocated (SrcSpanAnn' ann) Name)
+lookupLocatedOccRnRecField :: LocatedAnS ann RdrName
+ -> TcRn (LocatedAnS ann Name)
lookupLocatedOccRnRecField = wrapLocMA lookupOccRnRecField
-lookupLocatedOccRnNone :: GenLocated (SrcSpanAnn' ann) RdrName
- -> TcRn (GenLocated (SrcSpanAnn' ann) Name)
+lookupLocatedOccRnNone :: LocatedAnS ann RdrName
+ -> TcRn (LocatedAnS ann Name)
lookupLocatedOccRnNone = wrapLocMA lookupOccRnNone
lookupLocalOccRn_maybe :: RdrName -> RnM (Maybe Name)
@@ -2011,7 +2011,7 @@ instance Outputable HsSigCtxt where
lookupSigOccRn :: HsSigCtxt
-> Sig GhcPs
- -> LocatedA RdrName -> RnM (LocatedA Name)
+ -> LocatedN RdrName -> RnM (LocatedN Name)
lookupSigOccRn ctxt sig = lookupSigCtxtOccRn ctxt (hsSigDoc sig)
lookupSigOccRnN :: HsSigCtxt
@@ -2023,8 +2023,8 @@ lookupSigOccRnN ctxt sig = lookupSigCtxtOccRn ctxt (hsSigDoc sig)
lookupSigCtxtOccRn :: HsSigCtxt
-> SDoc -- ^ description of thing we're looking up,
-- like "type family"
- -> GenLocated (SrcSpanAnn' ann) RdrName
- -> RnM (GenLocated (SrcSpanAnn' ann) Name)
+ -> GenLocated (EpAnnS ann) RdrName
+ -> RnM (GenLocated (EpAnnS ann) Name)
lookupSigCtxtOccRn ctxt what
= wrapLocMA $ \ rdr_name ->
do { mb_name <- lookupBindGroupOcc ctxt what rdr_name
@@ -2260,11 +2260,11 @@ lookupSyntaxNames :: [Name] -- Standard names
lookupSyntaxNames std_names
= do { rebindable_on <- xoptM LangExt.RebindableSyntax
; if not rebindable_on then
- return (map (HsVar noExtField . noLocA) std_names, emptyFVs)
+ return (map (HsVar noExtField . noLocN) std_names, emptyFVs)
else
do { usr_names <-
mapM (lookupOccRnNone . mkRdrUnqual . nameOccName) std_names
- ; return (map (HsVar noExtField . noLocA) usr_names, mkFVs usr_names) } }
+ ; return (map (HsVar noExtField . noLocN) usr_names, mkFVs usr_names) } }
{-
diff --git a/compiler/GHC/Rename/Expr.hs b/compiler/GHC/Rename/Expr.hs
index b68ff6a492..9bf95751f3 100644
--- a/compiler/GHC/Rename/Expr.hs
+++ b/compiler/GHC/Rename/Expr.hs
@@ -244,7 +244,7 @@ finishHsVar (L l name)
= do { this_mod <- getModule
; when (nameIsLocalOrFrom this_mod name) $
checkThLocalName name
- ; return (HsVar noExtField (L (la2na l) name), unitFV name) }
+ ; return (HsVar noExtField (L (l2l l) name), unitFV name) }
rnUnboundVar :: RdrName -> RnM (HsExpr GhcRn, FreeVars)
rnUnboundVar v = do
@@ -278,7 +278,7 @@ rnExpr (HsVar _ (L l v))
-> rnExpr (ExplicitList noAnn [])
| otherwise
- -> finishHsVar (L (na2la l) $ greName gre)
+ -> finishHsVar (L (l2l l) $ greName gre)
}}}
rnExpr (HsIPVar x v)
@@ -477,7 +477,7 @@ rnExpr (RecordCon { rcon_con = con_id
, rcon_con = con_lname, rcon_flds = rec_binds' }
, fvs `plusFV` plusFVs fvss `addOneFV` con_name) }
where
- mk_hs_var l n = HsVar noExtField (L (noAnnSrcSpan l) n)
+ mk_hs_var l n = HsVar noExtField (L (noAnnSrcSpanN l) n)
rn_field (L l fld) = do { (arg', fvs) <- rnLExpr (hfbRHS fld)
; return (L l (fld { hfbRHS = arg' }), fvs) }
@@ -966,7 +966,7 @@ methodNamesGRHSs (GRHSs _ grhss _) = plusFVs (map methodNamesGRHS grhss)
-------------------------------------------------
-methodNamesGRHS :: LocatedAn NoEpAnns (GRHS GhcRn (LHsCmd GhcRn)) -> CmdNeeds
+methodNamesGRHS :: LocatedAnS NoEpAnns (GRHS GhcRn (LHsCmd GhcRn)) -> CmdNeeds
methodNamesGRHS (L _ (GRHS _ _ rhs)) = methodNamesLCmd rhs
---------------------------------------------------
@@ -1118,7 +1118,7 @@ rnStmtsWithFreeVars ctxt _ [] thing_inside
rnStmtsWithFreeVars mDoExpr@(HsDoStmt MDoExpr{}) rnBody (nonEmpty -> Just stmts) thing_inside -- Deal with mdo
= -- Behave like do { rec { ...all but last... }; last }
do { ((stmts1, (stmts2, thing)), fvs)
- <- rnStmt mDoExpr rnBody (noLocA $ mkRecStmt noAnn (noLocA (NE.init stmts))) $ \ _ ->
+ <- rnStmt mDoExpr rnBody (noLocA $ mkRecStmt noAnn (noLocI (NE.init stmts))) $ \ _ ->
do { last_stmt' <- checkLastStmt mDoExpr (NE.last stmts)
; rnStmt mDoExpr rnBody last_stmt' thing_inside }
; return (((stmts1 ++ stmts2), thing), fvs) }
@@ -1360,12 +1360,12 @@ lookupStmtNamePoly ctxt name
= do { rebindable_on <- xoptM LangExt.RebindableSyntax
; if rebindable_on
then do { fm <- lookupOccRn (nameRdrName name)
- ; return (HsVar noExtField (noLocA fm), unitFV fm) }
+ ; return (HsVar noExtField (noLocN fm), unitFV fm) }
else not_rebindable }
| otherwise
= not_rebindable
where
- not_rebindable = return (HsVar noExtField (noLocA name), emptyFVs)
+ not_rebindable = return (HsVar noExtField (noLocN name), emptyFVs)
-- | Is this a context where we respect RebindableSyntax?
-- but ListComp are never rebindable
@@ -1624,7 +1624,7 @@ segmentRecStmts loc ctxt empty_rec_stmt segs (fvs_later, might_be_more_fvs_later
| otherwise
= ([ L (noAnnSrcSpan loc) $
- empty_rec_stmt { recS_stmts = noLocA ss
+ empty_rec_stmt { recS_stmts = noLocI ss
, recS_later_ids = nameSetElemsStable final_fvs_later
, recS_rec_ids = nameSetElemsStable
(defs `intersectNameSet` uses) }]
@@ -1787,7 +1787,7 @@ segsToStmts empty_rec_stmt ((defs, uses, fwds, ss) : segs) fvs_later
(later_stmts, later_uses) = segsToStmts empty_rec_stmt segs fvs_later
new_stmt | non_rec = head ss
| otherwise = L (getLoc (head ss)) rec_stmt
- rec_stmt = empty_rec_stmt { recS_stmts = noLocA ss
+ rec_stmt = empty_rec_stmt { recS_stmts = noLocI ss
, recS_later_ids = nameSetElemsStable used_later
, recS_rec_ids = nameSetElemsStable fwds }
-- See Note [Deterministic ApplicativeDo and RecursiveDo desugaring]
@@ -2695,7 +2695,7 @@ getMonadFailOp ctxt
nlHsApp (noLocA failExpr)
(nlHsApp (noLocA $ fromStringExpr) arg_syn_expr)
let failAfterFromStringExpr :: HsExpr GhcRn =
- unLoc $ mkHsLam [noLocA $ VarPat noExtField $ noLocA arg_name] body
+ unLoc $ mkHsLam [noLocA $ VarPat noExtField $ noLocN arg_name] body
let failAfterFromStringSynExpr :: SyntaxExpr GhcRn =
mkSyntaxExpr failAfterFromStringExpr
return (failAfterFromStringSynExpr, failFvs `plusFV` fromStringFvs)
diff --git a/compiler/GHC/Rename/HsType.hs b/compiler/GHC/Rename/HsType.hs
index 500a6f8407..9f65355b1c 100644
--- a/compiler/GHC/Rename/HsType.hs
+++ b/compiler/GHC/Rename/HsType.hs
@@ -394,7 +394,7 @@ rnImplicitTvOccs mb_assoc implicit_vs_with_dups thing_inside
-- Use the currently set SrcSpan as the new source location for each Name.
-- See Note [Source locations for implicitly bound type variables].
; loc <- getSrcSpanM
- ; let loc' = noAnnSrcSpan loc
+ ; let loc' = noAnnSrcSpanN loc
; vars <- mapM (newTyVarNameRn mb_assoc . L loc' . unLoc) implicit_vs
; bindLocalNamesFV vars $
@@ -592,7 +592,7 @@ rnHsTyKi env (HsTyVar _ ip (L loc rdr_name))
; return (HsTyVar noAnn ip (L loc name), unitFV name) }
rnHsTyKi env ty@(HsOpTy _ prom ty1 l_op ty2)
- = setSrcSpan (getLocA l_op) $
+ = setSrcSpan (getLocN l_op) $
do { (l_op', fvs1) <- rnHsTyOp env (ppr ty) l_op
; let op_name = unLoc l_op'
; fix <- lookupTyFixityRn l_op'
@@ -978,7 +978,7 @@ bindHsQTyVars doc mb_assoc body_kv_occs hsq_bndrs thing_inside
--
-- class C (a :: j) (b :: k) where
-- ^^^^^^^^^^^^^^^
- bndrs_loc = case map get_bndr_loc hs_tv_bndrs ++ map getLocA body_kv_occs of
+ bndrs_loc = case map get_bndr_loc hs_tv_bndrs ++ map getLocN body_kv_occs of
[] -> panic "bindHsQTyVars.bndrs_loc"
[loc] -> loc
(loc:locs) -> loc `combineSrcSpans` last locs
@@ -987,9 +987,9 @@ bindHsQTyVars doc mb_assoc body_kv_occs hsq_bndrs thing_inside
-- include surrounding parens. for error messages to be
-- compatible, we recreate the location from the contents
get_bndr_loc :: LHsTyVarBndr () GhcPs -> SrcSpan
- get_bndr_loc (L _ (UserTyVar _ _ ln)) = getLocA ln
+ get_bndr_loc (L _ (UserTyVar _ _ ln)) = getLocN ln
get_bndr_loc (L _ (KindedTyVar _ _ ln lk))
- = combineSrcSpans (getLocA ln) (getLocA lk)
+ = combineSrcSpans (getLocN ln) (getLocA lk)
{- Note [bindHsQTyVars examples]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/compiler/GHC/Rename/Module.hs b/compiler/GHC/Rename/Module.hs
index 1602b2b92d..123282fd5d 100644
--- a/compiler/GHC/Rename/Module.hs
+++ b/compiler/GHC/Rename/Module.hs
@@ -274,7 +274,7 @@ rnSrcWarnDecls _ []
rnSrcWarnDecls bndr_set decls'
= do { -- check for duplicates
; mapM_ (\ dups -> let ((L loc rdr) :| (lrdr':_)) = dups
- in addErrAt (locA loc) (TcRnDuplicateWarningDecls lrdr' rdr))
+ in addErrAt (locN loc) (TcRnDuplicateWarningDecls lrdr' rdr))
warn_rdr_dups
; pairs_s <- mapM (addLocMA rn_deprec) decls
; return (WarnSome ((concat pairs_s))) }
@@ -834,7 +834,7 @@ rnFamEqn doc atfi extra_kvars
--
-- type instance F a b c = Either a b
-- ^^^^^
- lhs_loc = case map lhsTypeArgSrcSpan pats ++ map getLocA extra_kvars of
+ lhs_loc = case map lhsTypeArgSrcSpan pats ++ map getLocN extra_kvars of
[] -> panic "rnFamEqn.lhs_loc"
[loc] -> loc
(loc:locs) -> loc `combineSrcSpans` last locs
@@ -2173,7 +2173,7 @@ rnLHsDerivingClause doc
, deriv_clause_tys = dct }))
= do { (dcs', dct', fvs)
<- rnLDerivStrategy doc dcs $ rn_deriv_clause_tys dct
- ; warnNoDerivStrat dcs' (locA loc)
+ ; warnNoDerivStrat dcs' (locI loc)
; pure ( L loc (HsDerivingClause { deriv_clause_ext = noExtField
, deriv_clause_strategy = dcs'
, deriv_clause_tys = dct' })
@@ -2211,7 +2211,7 @@ rnLDerivStrategy doc mds thing_inside
= case mds of
Nothing -> boring_case Nothing
Just (L loc ds) ->
- setSrcSpanA loc $ do
+ setSrcSpanI loc $ do
(ds', thing, fvs) <- rn_deriv_strat ds
pure (Just (L loc ds'), thing, fvs)
where
@@ -2268,7 +2268,7 @@ rnFamDecl mb_cls (FamilyDecl { fdLName = tycon, fdTyVars = tyvars
; ((tyvars', res_sig', injectivity'), fv1) <-
bindHsQTyVars doc mb_cls kvs tyvars $ \ tyvars' _ ->
do { let rn_sig = rnFamResultSig doc
- ; (res_sig', fv_kind) <- wrapLocFstMA rn_sig res_sig
+ ; (res_sig', fv_kind) <- wrapLocFstMI rn_sig res_sig
; injectivity' <- traverse (rnInjectivityAnn tyvars' res_sig')
injectivity
; return ( (tyvars', res_sig', injectivity') , fv_kind ) }
@@ -2375,7 +2375,7 @@ rnInjectivityAnn tvBndrs (L _ (TyVarSig _ resTv))
; injTo' <- mapM rnLTyVar injTo
-- Note: srcSpan is unchanged, but typechecker gets
-- confused, l2l call makes it happy
- ; return $ L (l2l srcSpan) (InjectivityAnn x injFrom' injTo') }
+ ; return $ L (l2li srcSpan) (InjectivityAnn x injFrom' injTo') }
; let tvNames = Set.fromList $ hsAllLTyVarNames tvBndrs
resName = hsLTyVarName resTv
@@ -2387,12 +2387,12 @@ rnInjectivityAnn tvBndrs (L _ (TyVarSig _ resTv))
-- not-in-scope variables) don't check the validity of injectivity
-- annotation. This gives better error messages.
; when (noRnErrors && not lhsValid) $
- addErrAt (getLocA injFrom) $
+ addErrAt (getLocN injFrom) $
TcRnIncorrectTyVarOnLhsOfInjCond resName injFrom
; when (noRnErrors && not (Set.null rhsValid)) $
do { let errorVars = Set.toList rhsValid
- ; addErrAt (locA srcSpan) $
+ ; addErrAt (locI srcSpan) $
TcRnUnknownTyVarsOnRhsOfInjCond errorVars }
; return injDecl' }
@@ -2406,7 +2406,7 @@ rnInjectivityAnn tvBndrs (L _ (TyVarSig _ resTv))
-- So we rename injectivity annotation like we normally would except that
-- this time we expect "result" to be reported not in scope by rnLTyVar.
rnInjectivityAnn _ _ (L srcSpan (InjectivityAnn x injFrom injTo)) =
- setSrcSpanA srcSpan $ do
+ setSrcSpanI srcSpan $ do
(injDecl', _) <- askNoErrs $ do
injFrom' <- rnLTyVar injFrom
injTo' <- mapM rnLTyVar injTo
@@ -2439,7 +2439,7 @@ rnConDecl :: ConDecl GhcPs -> RnM (ConDecl GhcRn, FreeVars)
rnConDecl decl@(ConDeclH98 { con_name = name, con_ex_tvs = ex_tvs
, con_mb_cxt = mcxt, con_args = args
, con_doc = mb_doc, con_forall = forall_ })
- = do { _ <- addLocMA checkConName name
+ = do { _ <- addLocMN checkConName name
; new_name <- lookupLocatedTopConstructorRnN name
-- We bind no implicit binders here; this is just like
@@ -2476,7 +2476,7 @@ rnConDecl (ConDeclGADT { con_names = names
, con_g_args = args
, con_res_ty = res_ty
, con_doc = mb_doc })
- = do { mapM_ (addLocMA checkConName) names
+ = do { mapM_ (addLocMN checkConName) names
; new_names <- mapM (lookupLocatedTopConstructorRnN) names
; let -- We must ensure that we extract the free tkvs in left-to-right
@@ -2594,13 +2594,13 @@ extendPatSynEnv dup_fields_ok has_sel val_decls local_fix_env thing = do {
, psb_args = RecCon as }))) <- bind
= do
bnd_name <- newTopSrcBinder (L (l2l bind_loc) n)
- let field_occs = map ((\ f -> L (noAnnSrcSpan $ getLocA (foLabel f)) f) . recordPatSynField) as
+ let field_occs = map ((\ f -> L (noAnnSrcSpan $ getLocN (foLabel f)) f) . recordPatSynField) as
flds <- mapM (newRecordFieldLabel dup_fields_ok has_sel [bnd_name]) field_occs
let con_info = mkConInfo (conDetailsArity length (RecCon as)) flds
return ((PatSynName bnd_name, con_info) : names)
| L bind_loc (PatSynBind _ (PSB { psb_id = L _ n, psb_args = as })) <- bind
= do
- bnd_name <- newTopSrcBinder (L (la2na bind_loc) n)
+ bnd_name <- newTopSrcBinder (L (l2l bind_loc) n)
let con_info = mkConInfo (conDetailsArity length as) []
return ((PatSynName bnd_name, con_info) : names)
| otherwise
diff --git a/compiler/GHC/Rename/Names.hs b/compiler/GHC/Rename/Names.hs
index 92cab86d05..2adf8c45d2 100644
--- a/compiler/GHC/Rename/Names.hs
+++ b/compiler/GHC/Rename/Names.hs
@@ -895,10 +895,10 @@ getLocalNonValBinders fixity_env
new_tc dup_fields_ok has_sel tc_decl -- NOT for type/data instances
= do { let TyDeclBinders (main_bndr, tc_flav) at_bndrs sig_bndrs
(LConsWithFields cons_with_flds flds) = hsLTyClDeclBinders tc_decl
- ; tycon_name <- newTopSrcBinder $ l2n main_bndr
- ; at_names <- mapM (newTopSrcBinder . l2n . fst) at_bndrs
- ; sig_names <- mapM (newTopSrcBinder . l2n) sig_bndrs
- ; con_names_with_flds <- mapM (\(con,flds) -> (,flds) <$> newTopSrcBinder (l2n con)) cons_with_flds
+ ; tycon_name <- newTopSrcBinder $ la2la main_bndr
+ ; at_names <- mapM (newTopSrcBinder . la2la . fst) at_bndrs
+ ; sig_names <- mapM (newTopSrcBinder . la2la) sig_bndrs
+ ; con_names_with_flds <- mapM (\(con,flds) -> (,flds) <$> newTopSrcBinder (la2la con)) cons_with_flds
; flds' <- mapM (newRecordFieldLabel dup_fields_ok has_sel $ map fst con_names_with_flds) flds
; mapM_ (add_dup_fld_errs flds') con_names_with_flds
; let tc_gre = localTyConGRE (fmap (const tycon_name) tc_flav) tycon_name
@@ -956,7 +956,7 @@ getLocalNonValBinders fixity_env
-- See (1) above
L loc cls_rdr <- MaybeT $ pure $ getLHsInstDeclClass_maybe inst_ty
-- See (2) above
- MaybeT $ setSrcSpan (locA loc) $ lookupGlobalOccRn_maybe SameOccName cls_rdr
+ MaybeT $ setSrcSpan (locN loc) $ lookupGlobalOccRn_maybe SameOccName cls_rdr
-- Assuming the previous step succeeded, process any associated data
-- family instances. If the previous step failed, bail out.
case mb_cls_gre of
@@ -973,7 +973,7 @@ getLocalNonValBinders fixity_env
new_di dup_fields_ok has_sel mb_cls dfid@(DataFamInstDecl { dfid_eqn = ti_decl })
= do { main_name <- unLoc <$> lookupFamInstName mb_cls (feqn_tycon ti_decl)
; let LConsWithFields cons_with_flds flds = hsDataFamInstBinders dfid
- ; sub_names <- mapM (\(con,flds) -> (,flds) <$> newTopSrcBinder (l2n con)) cons_with_flds
+ ; sub_names <- mapM (\(con,flds) -> (,flds) <$> newTopSrcBinder (la2la con)) cons_with_flds
; flds' <- mapM (newRecordFieldLabel dup_fields_ok has_sel $ map fst sub_names) flds
; mapM_ (add_dup_fld_errs flds') sub_names
; let fld_env = mk_fld_env sub_names flds'
@@ -1971,7 +1971,7 @@ getMinimalImports ie_decls
; iface <- loadSrcInterface doc mod_name is_boot pkg_qual
; let used_avails = gresToAvailInfo used_gres
; lies <- map (L l) <$> concatMapM (to_ie rdr_env iface) used_avails
- ; return (L l (decl { ideclImportList = Just (Exactly, L (l2l l) lies) })) }
+ ; return (L l (decl { ideclImportList = Just (Exactly, L (nn2la l) lies) })) }
where
doc = text "Compute minimal imports for" <+> ppr decl
@@ -2030,7 +2030,7 @@ getMinimalImports ie_decls
idecl = unLoc decl
merge :: NonEmpty (LImportDecl GhcRn) -> LImportDecl GhcRn
- merge decls@((L l decl) :| _) = L l (decl { ideclImportList = Just (Exactly, L (noAnnSrcSpan (locA l)) lies) })
+ merge decls@((L l decl) :| _) = L l (decl { ideclImportList = Just (Exactly, L (noAnnSrcSpanI (locA l)) lies) })
where lies = concatMap (unLoc . snd) $ mapMaybe (ideclImportList . unLoc) $ NE.toList decls
classifyGREs :: [GlobalRdrElt] -> ([GlobalRdrElt], [FieldGlobalRdrElt])
@@ -2064,14 +2064,14 @@ printMinimalImports hsc_src imports_w_usage
to_ie_post_rn_var :: LocatedA (IdP GhcRn) -> LIEWrappedName GhcRn
to_ie_post_rn_var (L l n)
- | isDataOcc $ occName n = L l (IEPattern (la2e l) (L (la2na l) n))
- | otherwise = L l (IEName noExtField (L (la2na l) n))
+ | isDataOcc $ occName n = L l (IEPattern (epaLocationFromEpAnnS l) (L (l2l l) n))
+ | otherwise = L l (IEName noExtField (L (l2l l) n))
to_ie_post_rn :: LocatedA (IdP GhcRn) -> LIEWrappedName GhcRn
to_ie_post_rn (L l n)
- | isTcOcc occ && isSymOcc occ = L l (IEType (la2e l) (L (la2na l) n))
- | otherwise = L l (IEName noExtField (L (la2na l) n))
+ | isTcOcc occ && isSymOcc occ = L l (IEType (epaLocationFromEpAnnS l) (L (l2l l) n))
+ | otherwise = L l (IEName noExtField (L (l2l l) n))
where occ = occName n
{-
diff --git a/compiler/GHC/Rename/Pat.hs b/compiler/GHC/Rename/Pat.hs
index 0b01f2cbcb..2461bf6561 100644
--- a/compiler/GHC/Rename/Pat.hs
+++ b/compiler/GHC/Rename/Pat.hs
@@ -497,7 +497,7 @@ rnPatAndThen mk (BangPat _ pat) = do { pat' <- rnLPatAndThen mk pat
; return (BangPat noExtField pat') }
rnPatAndThen mk (VarPat x (L l rdr))
= do { loc <- liftCps getSrcSpanM
- ; name <- newPatName mk (L (noAnnSrcSpan loc) rdr)
+ ; name <- newPatName mk (L (noAnnSrcSpanN loc) rdr)
; return (VarPat x (L l name)) }
-- we need to bind pattern variables for view pattern expressions
-- (e.g. in the pattern (x, x -> y) x needs to be bound in the rhs of the tuple)
@@ -524,7 +524,7 @@ rnPatAndThen mk (LitPat x lit)
= do { ovlStr <- liftCps (xoptM LangExt.OverloadedStrings)
; if ovlStr
then rnPatAndThen mk
- (mkNPat (noLocA (mkHsIsString src s))
+ (mkNPat (noLocI (mkHsIsString src s))
Nothing noAnn)
else normal_lit }
| otherwise = normal_lit
@@ -546,14 +546,14 @@ rnPatAndThen _ (NPat x (L l lit) mb_neg _eq)
; return (NPat x (L l lit') mb_neg' eq') }
rnPatAndThen mk (NPlusKPat _ rdr (L l lit) _ _ _ )
- = do { new_name <- newPatName mk (l2n rdr)
+ = do { new_name <- newPatName mk rdr
; (lit', _) <- liftCpsFV $ rnOverLit lit -- See Note [Negative zero]
-- We skip negateName as
-- negative zero doesn't make
-- sense in n + k patterns
; minus <- liftCpsFV $ lookupSyntax minusName
; ge <- liftCpsFV $ lookupSyntax geName
- ; return (NPlusKPat noExtField (L (noAnnSrcSpan $ nameSrcSpan new_name) new_name)
+ ; return (NPlusKPat noExtField (L (noAnnSrcSpanN $ nameSrcSpan new_name) new_name)
(L l lit') lit' ge minus) }
-- The Report says that n+k patterns must be in Integral
@@ -691,7 +691,7 @@ rnHsRecPatsAndThen mk (L _ con)
; check_unused_wildcard (implicit_binders flds' <$> dd)
; return (HsRecFields { rec_flds = flds', rec_dotdot = dd }) }
where
- mkVarPat l n = VarPat noExtField (L (noAnnSrcSpan l) n)
+ mkVarPat l n = VarPat noExtField (L (noAnnSrcSpanN l) n)
rn_field (L l fld, n') =
do { arg' <- rnLPatAndThen (nested_mk dd mk (RecFieldsDotDot n')) (hfbRHS fld)
; return (L l (fld { hfbRHS = arg' })) }
@@ -840,7 +840,7 @@ rnHsRecFields ctxt mk_arg (HsRecFields { rec_flds = flds, rec_dotdot = dotdot })
; return [ L (noAnnSrcSpan loc) (HsFieldBind
{ hfbAnn = noAnn
, hfbLHS
- = L (noAnnSrcSpan loc) (FieldOcc sel (L (noAnnSrcSpan loc) arg_rdr))
+ = L (noAnnSrcSpan loc) (FieldOcc sel (L (noAnnSrcSpanN loc) arg_rdr))
, hfbRHS = L locn (mk_arg loc arg_rdr)
, hfbPun = False })
| fl <- dot_dot_fields
@@ -1087,7 +1087,7 @@ rnOverLit origLit
; (from_thing_name, fvs1) <- lookupSyntaxName std_name
; let rebindable = from_thing_name /= std_name
lit' = lit { ol_ext = OverLitRn { ol_rebindable = rebindable
- , ol_from_fun = noLocA from_thing_name } }
+ , ol_from_fun = noLocN from_thing_name } }
; if isNegativeZeroOverLit lit'
then do { (negate_name, fvs2) <- lookupSyntaxExpr negateName
; return ((lit' { ol_val = negateOverLitVal val }, Just negate_name)
diff --git a/compiler/GHC/Rename/Splice.hs b/compiler/GHC/Rename/Splice.hs
index d8566ec747..11e25dae1e 100644
--- a/compiler/GHC/Rename/Splice.hs
+++ b/compiler/GHC/Rename/Splice.hs
@@ -173,7 +173,7 @@ rn_utbracket outer_stage br@(VarBr x flg rdr_name)
(quotedNameStageErr br) }
}
}
- ; return (VarBr x flg (noLocA name), unitFV name) }
+ ; return (VarBr x flg (noLocN name), unitFV name) }
rn_utbracket _ (ExpBr x e) = do { (e', fvs) <- rnLExpr e
; return (ExpBr x e', fvs) }
@@ -305,7 +305,7 @@ rnUntypedSpliceGen run_splice pend_splice splice
-> do { (splice', fvs) <- setStage pop_stage $
rnUntypedSplice splice
; loc <- getSrcSpanM
- ; splice_name <- newLocalBndrRn (L (noAnnSrcSpan loc) unqualSplice)
+ ; splice_name <- newLocalBndrRn (L (noAnnSrcSpanN loc) unqualSplice)
; let (pending_splice, result) = pend_splice splice_name splice'
; ps <- readMutVar ps_var
; writeMutVar ps_var (pending_splice : ps)
@@ -410,12 +410,12 @@ mkQuasiQuoteExpr :: UntypedSpliceFlavour -> Name
mkQuasiQuoteExpr flavour quoter (L q_span' quote)
= L q_span $ HsApp noComments (L q_span
$ HsApp noComments (L q_span
- (HsVar noExtField (L (la2na q_span) quote_selector)))
+ (HsVar noExtField (L (l2l q_span) quote_selector)))
quoterExpr)
quoteExpr
where
- q_span = noAnnSrcSpan (locA q_span')
- quoterExpr = L q_span $! HsVar noExtField $! (L (la2na q_span) quoter)
+ q_span = noAnnSrcSpan (locI q_span')
+ quoterExpr = L q_span $! HsVar noExtField $! (L (l2l q_span) quoter)
quoteExpr = L q_span $! HsLit noComments $! HsString NoSourceText quote
quote_selector = case flavour of
UntypedExpSplice -> quoteExpName
@@ -487,7 +487,7 @@ rnTypedSplice expr
do { loc <- getSrcSpanM
-- The renamer allocates a splice-point name to every typed splice
-- (incl the top level ones for which it will not ultimately be used)
- ; n' <- newLocalBndrRn (L (noAnnSrcSpan loc) unqualSplice)
+ ; n' <- newLocalBndrRn (L (noAnnSrcSpanN loc) unqualSplice)
; (expr', fvs) <- rnLExpr expr
; return (HsTypedSplice n' expr', fvs) }
diff --git a/compiler/GHC/Rename/Utils.hs b/compiler/GHC/Rename/Utils.hs
index a00d97dd0d..a333edf93d 100644
--- a/compiler/GHC/Rename/Utils.hs
+++ b/compiler/GHC/Rename/Utils.hs
@@ -18,7 +18,7 @@ module GHC.Rename.Utils (
warnForallIdentifier,
checkUnusedRecordWildcard,
badQualBndrErr, typeAppErr, badFieldConErr,
- wrapGenSpan, genHsVar, genLHsVar, genHsApp, genHsApps, genAppType,
+ wrapGenSpan, wrapGenSpanI, genHsVar, genLHsVar, genHsApp, genHsApps, genAppType,
genHsIntegralLit, genHsTyLit, genSimpleConPat,
genVarPat, genWildPat,
genSimpleFunBind, genFunBind,
@@ -85,9 +85,9 @@ newLocalBndrRn (L loc rdr_name)
-- See Note [Binders in Template Haskell] in "GHC.ThToHs"
| otherwise
= do { unless (isUnqual rdr_name)
- (addErrAt (locA loc) (badQualBndrErr rdr_name))
+ (addErrAt (locN loc) (badQualBndrErr rdr_name))
; uniq <- newUnique
- ; return (mkInternalName uniq (rdrNameOcc rdr_name) (locA loc)) }
+ ; return (mkInternalName uniq (rdrNameOcc rdr_name) (locN loc)) }
newLocalBndrsRn :: [LocatedN RdrName] -> RnM [Name]
newLocalBndrsRn = mapM newLocalBndrRn
@@ -111,14 +111,14 @@ bindLocalNamesFV names enclosed_scope
checkDupRdrNames :: [LocatedN RdrName] -> RnM ()
-- Check for duplicated names in a binding group
checkDupRdrNames rdr_names_w_loc
- = mapM_ (dupNamesErr getLocA) dups
+ = mapM_ (dupNamesErr getLocN) dups
where
(_, dups) = removeDupsOn unLoc rdr_names_w_loc
checkDupRdrNamesN :: [LocatedN RdrName] -> RnM ()
-- Check for duplicated names in a binding group
checkDupRdrNamesN rdr_names_w_loc
- = mapM_ (dupNamesErr getLocA) dups
+ = mapM_ (dupNamesErr getLocN) dups
where
(_, dups) = removeDupsOn unLoc rdr_names_w_loc
@@ -141,7 +141,7 @@ checkShadowedRdrNames loc_rdr_names
where
filtered_rdrs = filterOut (isExact . unLoc) loc_rdr_names
-- See Note [Binders in Template Haskell] in "GHC.ThToHs"
- get_loc_occ (L loc rdr) = (locA loc,rdrNameOcc rdr)
+ get_loc_occ (L loc rdr) = (locN loc,rdrNameOcc rdr)
checkDupAndShadowedNames :: (GlobalRdrEnv, LocalRdrEnv) -> [Name] -> RnM ()
checkDupAndShadowedNames envs names
@@ -437,7 +437,7 @@ check_unused flag bound_names used_names
warnForallIdentifier :: LocatedN RdrName -> RnM ()
warnForallIdentifier (L l rdr_name@(Unqual occ))
| isKw (fsLit "forall") || isKw (fsLit "∀")
- = addDiagnosticAt (locA l) (TcRnForallIdentifier rdr_name)
+ = addDiagnosticAt (locN l) (TcRnForallIdentifier rdr_name)
where isKw = (occNameFS occ ==)
warnForallIdentifier _ = return ()
@@ -663,11 +663,16 @@ checkCTupSize tup_size
* *
********************************************************************* -}
-wrapGenSpan :: a -> LocatedAn an a
+wrapGenSpan :: (Monoid an) => a -> LocatedAnS an a
-- Wrap something in a "generatedSrcSpan"
-- See Note [Rebindable syntax and HsExpansion]
wrapGenSpan x = L (noAnnSrcSpan generatedSrcSpan) x
+wrapGenSpanI :: a -> LocatedAn an a
+-- Wrap something in a "generatedSrcSpan"
+-- See Note [Rebindable syntax and HsExpansion]
+wrapGenSpanI x = L (noAnnSrcSpanI generatedSrcSpan) x
+
genHsApps :: Name -> [LHsExpr GhcRn] -> HsExpr GhcRn
genHsApps fun args = foldl genHsApp (genHsVar fun) args
@@ -683,7 +688,7 @@ genHsVar nm = HsVar noExtField $ wrapGenSpan nm
genAppType :: HsExpr GhcRn -> HsType (NoGhcTc GhcRn) -> HsExpr GhcRn
genAppType expr ty = HsAppType noExtField (wrapGenSpan expr) noHsTok (mkEmptyWildCardBndrs (wrapGenSpan ty))
-genHsIntegralLit :: IntegralLit -> LocatedAn an (HsExpr GhcRn)
+genHsIntegralLit :: IntegralLit -> LocatedA (HsExpr GhcRn)
genHsIntegralLit lit = wrapGenSpan $ HsLit noAnn (HsInt noExtField lit)
genHsTyLit :: FastString -> HsType GhcRn
@@ -705,16 +710,17 @@ genWildPat = wrapGenSpan $ WildPat noExtField
genSimpleFunBind :: Name -> [LPat GhcRn]
-> LHsExpr GhcRn -> LHsBind GhcRn
genSimpleFunBind fun pats expr
- = L gen $ genFunBind (L gen fun)
- [mkMatch (mkPrefixFunRhs (L gen fun)) pats expr
+ = L gen $ genFunBind (L genN fun)
+ [mkMatch (mkPrefixFunRhs (L genN fun)) pats expr
emptyLocalBinds]
where
gen = noAnnSrcSpan generatedSrcSpan
+ genN = noAnnSrcSpanN generatedSrcSpan
genFunBind :: LocatedN Name -> [LMatch GhcRn (LHsExpr GhcRn)]
-> HsBind GhcRn
genFunBind fn ms
= FunBind { fun_id = fn
- , fun_matches = mkMatchGroup Generated (wrapGenSpan ms)
+ , fun_matches = mkMatchGroup Generated (wrapGenSpanI ms)
, fun_ext = emptyNameSet
}
diff --git a/compiler/GHC/Runtime/Eval.hs b/compiler/GHC/Runtime/Eval.hs
index 88dbe46626..b3ecfed284 100644
--- a/compiler/GHC/Runtime/Eval.hs
+++ b/compiler/GHC/Runtime/Eval.hs
@@ -1252,7 +1252,7 @@ dynCompileExpr expr = do
parsed_expr <- parseExpr expr
-- > Data.Dynamic.toDyn expr
let loc = getLoc parsed_expr
- to_dyn_expr = mkHsApp (L loc . HsVar noExtField . L (la2na loc) $ getRdrName toDynName)
+ to_dyn_expr = mkHsApp (L loc . HsVar noExtField . L (l2l loc) $ getRdrName toDynName)
parsed_expr
hval <- compileParsedExpr to_dyn_expr
return (unsafeCoerce hval :: Dynamic)
diff --git a/compiler/GHC/Tc/Deriv/Functor.hs b/compiler/GHC/Tc/Deriv/Functor.hs
index 9b5032531c..c89a0733b0 100644
--- a/compiler/GHC/Tc/Deriv/Functor.hs
+++ b/compiler/GHC/Tc/Deriv/Functor.hs
@@ -156,7 +156,7 @@ gen_Functor_binds loc (DerivInstTys{dit_rep_tc = tycon})
| Phantom <- last (tyConRoles tycon)
= (unitBag fmap_bind, emptyBag)
where
- fmap_name = L (noAnnSrcSpan loc) fmap_RDR
+ fmap_name = L (noAnnSrcSpanN loc) fmap_RDR
fmap_bind = mkRdrFunBind fmap_name fmap_eqns
fmap_eqns = [mkSimpleMatch fmap_match_ctxt
[nlWildPat]
@@ -168,7 +168,7 @@ gen_Functor_binds loc dit@(DerivInstTys{ dit_rep_tc = tycon
= (listToBag [fmap_bind, replace_bind], emptyBag)
where
data_cons = getPossibleDataCons tycon tycon_args
- fmap_name = L (noAnnSrcSpan loc) fmap_RDR
+ fmap_name = L (noAnnSrcSpanN loc) fmap_RDR
-- See Note [EmptyDataDecls with Functor, Foldable, and Traversable]
fmap_bind = mkRdrFunBindEC 2 id fmap_name fmap_eqns
@@ -207,7 +207,7 @@ gen_Functor_binds loc dit@(DerivInstTys{ dit_rep_tc = tycon
, ft_co_var = panic "contravariant in ft_fmap" }
-- See Note [Deriving <$]
- replace_name = L (noAnnSrcSpan loc) replace_RDR
+ replace_name = L (noAnnSrcSpanN loc) replace_RDR
-- See Note [EmptyDataDecls with Functor, Foldable, and Traversable]
replace_bind = mkRdrFunBindEC 2 id replace_name replace_eqns
@@ -819,7 +819,7 @@ gen_Foldable_binds loc (DerivInstTys{dit_rep_tc = tycon})
| Phantom <- last (tyConRoles tycon)
= (unitBag foldMap_bind, emptyBag)
where
- foldMap_name = L (noAnnSrcSpan loc) foldMap_RDR
+ foldMap_name = L (noAnnSrcSpanN loc) foldMap_RDR
foldMap_bind = mkRdrFunBind foldMap_name foldMap_eqns
foldMap_eqns = [mkSimpleMatch foldMap_match_ctxt
[nlWildPat, nlWildPat]
@@ -837,9 +837,9 @@ gen_Foldable_binds loc dit@(DerivInstTys{ dit_rep_tc = tycon
where
data_cons = getPossibleDataCons tycon tycon_args
- foldr_name = L (noAnnSrcSpan loc) foldable_foldr_RDR
+ foldr_name = L (noAnnSrcSpanN loc) foldable_foldr_RDR
- foldr_bind = mkRdrFunBind (L (noAnnSrcSpan loc) foldable_foldr_RDR) eqns
+ foldr_bind = mkRdrFunBind (L (noAnnSrcSpanN loc) foldable_foldr_RDR) eqns
eqns = map foldr_eqn data_cons
foldr_eqn con
= evalState (match_foldr z_Expr [f_Pat,z_Pat] con =<< parts) bs_RDRs
@@ -847,7 +847,7 @@ gen_Foldable_binds loc dit@(DerivInstTys{ dit_rep_tc = tycon
parts = sequence $ foldDataConArgs ft_foldr con dit
foldr_match_ctxt = mkPrefixFunRhs foldr_name
- foldMap_name = L (noAnnSrcSpan loc) foldMap_RDR
+ foldMap_name = L (noAnnSrcSpanN loc) foldMap_RDR
-- See Note [EmptyDataDecls with Functor, Foldable, and Traversable]
foldMap_bind = mkRdrFunBindEC 2 (const mempty_Expr)
@@ -871,7 +871,7 @@ gen_Foldable_binds loc dit@(DerivInstTys{ dit_rep_tc = tycon
go NotNull = Nothing
go (NullM a) = Just (Just a)
- null_name = L (noAnnSrcSpan loc) null_RDR
+ null_name = L (noAnnSrcSpanN loc) null_RDR
null_match_ctxt = mkPrefixFunRhs null_name
null_bind = mkRdrFunBind null_name null_eqns
null_eqns = map null_eqn data_cons
@@ -1053,7 +1053,7 @@ gen_Traversable_binds loc (DerivInstTys{dit_rep_tc = tycon})
| Phantom <- last (tyConRoles tycon)
= (unitBag traverse_bind, emptyBag)
where
- traverse_name = L (noAnnSrcSpan loc) traverse_RDR
+ traverse_name = L (noAnnSrcSpanN loc) traverse_RDR
traverse_bind = mkRdrFunBind traverse_name traverse_eqns
traverse_eqns =
[mkSimpleMatch traverse_match_ctxt
@@ -1067,7 +1067,7 @@ gen_Traversable_binds loc dit@(DerivInstTys{ dit_rep_tc = tycon
where
data_cons = getPossibleDataCons tycon tycon_args
- traverse_name = L (noAnnSrcSpan loc) traverse_RDR
+ traverse_name = L (noAnnSrcSpanN loc) traverse_RDR
-- See Note [EmptyDataDecls with Functor, Foldable, and Traversable]
traverse_bind = mkRdrFunBindEC 2 (nlHsApp pure_Expr)
diff --git a/compiler/GHC/Tc/Deriv/Generate.hs b/compiler/GHC/Tc/Deriv/Generate.hs
index 7ada3093e5..e01b54ef22 100644
--- a/compiler/GHC/Tc/Deriv/Generate.hs
+++ b/compiler/GHC/Tc/Deriv/Generate.hs
@@ -601,7 +601,7 @@ nlConWildPat :: DataCon -> LPat GhcPs
-- The pattern (K {})
nlConWildPat con = noLocA $ ConPat
{ pat_con_ext = noAnn
- , pat_con = noLocA $ getRdrName con
+ , pat_con = noLocN $ getRdrName con
, pat_args = RecCon $ HsRecFields
{ rec_flds = []
, rec_dotdot = Nothing }
@@ -857,7 +857,7 @@ gen_Ix_binds loc (DerivInstTys{dit_rep_tc = tycon}) = do
enum_index
= mkSimpleGeneratedFunBind loc unsafeIndex_RDR
- [noLocA (AsPat noAnn (noLocA c_RDR) noHsTok
+ [noLocA (AsPat noAnn (noLocN c_RDR) noHsTok
(nlTuplePat [a_Pat, nlWildPat] Boxed)),
d_Pat] (
untag_Expr [(a_RDR, ah_RDR)] (
@@ -1993,7 +1993,7 @@ gen_Newtype_binds loc' cls inst_tvs inst_tys rhs_ty
underlying_inst_tys :: [Type]
underlying_inst_tys = changeLast inst_tys rhs_ty
- locn = noAnnSrcSpan loc'
+ locn = noAnnSrcSpanN loc'
loca = noAnnSrcSpan loc'
-- For each class method, generate its derived binding and instance
-- signature. Using the first example from
@@ -2043,7 +2043,7 @@ gen_Newtype_binds loc' cls inst_tvs inst_tys rhs_ty
mk_hs_tvb :: VarBndr TyVar flag -> LHsTyVarBndr flag GhcPs
mk_hs_tvb (Bndr tv flag) = noLocA $ KindedTyVar noAnn
flag
- (noLocA (getRdrName tv))
+ (noLocN (getRdrName tv))
(nlHsCoreTy (tyVarKind tv))
meth_RDR = getRdrName meth_id
@@ -2081,7 +2081,7 @@ gen_Newtype_fam_insts loc' cls inst_tvs inst_tys rhs_ty
underlying_inst_tys = changeLast inst_tys rhs_ty
ats = classATs cls
- locn = noAnnSrcSpan loc'
+ locn = noAnnSrcSpanN loc'
cls_tvs = classTyVars cls
in_scope = mkInScopeSetList inst_tvs
lhs_env = zipTyEnv cls_tvs inst_tys
@@ -2167,7 +2167,7 @@ genAuxBindSpecOriginal loc spec
(genAuxBindSpecSig loc spec)))
where
loca = noAnnSrcSpan loc
- locn = noAnnSrcSpan loc
+ locn = noAnnSrcSpanN loc
gen_bind :: AuxBindSpec -> LHsBind GhcPs
gen_bind (DerivTag2Con _ tag2con_RDR)
= mkFunBindSE 0 loc tag2con_RDR
@@ -2222,7 +2222,7 @@ genAuxBindSpecDup loc original_rdr_name dup_spec
(genAuxBindSpecSig loc dup_spec)))
where
loca = noAnnSrcSpan loc
- locn = noAnnSrcSpan loc
+ locn = noAnnSrcSpanN loc
dup_rdr_name = auxBindSpecRdrName dup_spec
-- | Generate the type signature of an auxiliary binding.
@@ -2291,9 +2291,9 @@ mkFunBindSE :: Arity -> SrcSpan -> RdrName
-> [([LPat GhcPs], LHsExpr GhcPs)]
-> LHsBind GhcPs
mkFunBindSE arity loc fun pats_and_exprs
- = mkRdrFunBindSE arity (L (noAnnSrcSpan loc) fun) matches
+ = mkRdrFunBindSE arity (L (noAnnSrcSpanN loc) fun) matches
where
- matches = [mkMatch (mkPrefixFunRhs (L (noAnnSrcSpan loc) fun))
+ matches = [mkMatch (mkPrefixFunRhs (L (noAnnSrcSpanN loc) fun))
(map (parenthesizePat appPrec) p) e
emptyLocalBinds
| (p,e) <-pats_and_exprs]
@@ -2301,7 +2301,7 @@ mkFunBindSE arity loc fun pats_and_exprs
mkRdrFunBind :: LocatedN RdrName -> [LMatch GhcPs (LHsExpr GhcPs)]
-> LHsBind GhcPs
mkRdrFunBind fun@(L loc _fun_rdr) matches
- = L (na2la loc) (mkFunBind Generated fun matches)
+ = L (l2l loc) (mkFunBind Generated fun matches)
-- | Make a function binding. If no equations are given, produce a function
-- with the given arity that uses an empty case expression for the last
@@ -2312,9 +2312,9 @@ mkFunBindEC :: Arity -> SrcSpan -> RdrName
-> [([LPat GhcPs], LHsExpr GhcPs)]
-> LHsBind GhcPs
mkFunBindEC arity loc fun catch_all pats_and_exprs
- = mkRdrFunBindEC arity catch_all (L (noAnnSrcSpan loc) fun) matches
+ = mkRdrFunBindEC arity catch_all (L (noAnnSrcSpanN loc) fun) matches
where
- matches = [ mkMatch (mkPrefixFunRhs (L (noAnnSrcSpan loc) fun))
+ matches = [ mkMatch (mkPrefixFunRhs (L (noAnnSrcSpanN loc) fun))
(map (parenthesizePat appPrec) p) e
emptyLocalBinds
| (p,e) <- pats_and_exprs ]
@@ -2329,7 +2329,7 @@ mkRdrFunBindEC :: Arity
-> [LMatch GhcPs (LHsExpr GhcPs)]
-> LHsBind GhcPs
mkRdrFunBindEC arity catch_all fun@(L loc _fun_rdr) matches
- = L (na2la loc) (mkFunBind Generated fun matches')
+ = L (l2l loc) (mkFunBind Generated fun matches')
where
-- Catch-all eqn looks like
-- fmap _ z = case z of {}
@@ -2353,7 +2353,7 @@ mkRdrFunBindEC arity catch_all fun@(L loc _fun_rdr) matches
mkRdrFunBindSE :: Arity -> LocatedN RdrName ->
[LMatch GhcPs (LHsExpr GhcPs)] -> LHsBind GhcPs
mkRdrFunBindSE arity fun@(L loc fun_rdr) matches
- = L (na2la loc) (mkFunBind Generated fun matches')
+ = L (l2l loc) (mkFunBind Generated fun matches')
where
-- Catch-all eqn looks like
-- compare _ _ = error "Void compare"
diff --git a/compiler/GHC/Tc/Deriv/Generics.hs b/compiler/GHC/Tc/Deriv/Generics.hs
index 41e7bb3e92..7ea70157cb 100644
--- a/compiler/GHC/Tc/Deriv/Generics.hs
+++ b/compiler/GHC/Tc/Deriv/Generics.hs
@@ -395,7 +395,7 @@ mkBindsRep dflags gk loc dit@(DerivInstTys{dit_rep_tc = tycon}) = (binds, sigs)
from_matches = [mkHsCaseAlt pat rhs | (pat,rhs) <- from_alts]
to_matches = [mkHsCaseAlt pat rhs | (pat,rhs) <- to_alts ]
- loc' = noAnnSrcSpan loc
+ loc' = noAnnSrcSpanN loc
loc'' = noAnnSrcSpan loc
datacons = tyConDataCons tycon
diff --git a/compiler/GHC/Tc/Errors/Ppr.hs b/compiler/GHC/Tc/Errors/Ppr.hs
index 33c67fee79..58da01ee7c 100644
--- a/compiler/GHC/Tc/Errors/Ppr.hs
+++ b/compiler/GHC/Tc/Errors/Ppr.hs
@@ -190,7 +190,7 @@ instance Diagnostic TcRnMessage where
TcRnDuplicateWarningDecls d rdr_name
-> mkSimpleDecorated $
vcat [text "Multiple warning declarations for" <+> quotes (ppr rdr_name),
- text "also at " <+> ppr (getLocA d)]
+ text "also at " <+> ppr (getLocN d)]
TcRnSimplifierTooManyIterations simples limit wc
-> mkSimpleDecorated $
hang (text "solveWanteds: too many iterations"
@@ -307,7 +307,7 @@ instance Diagnostic TcRnMessage where
2 (vcat $ map pprLBind . bagToList $ binds)
where
pprLoc loc = parens (text "defined at" <+> ppr loc)
- pprLBind :: CollectPass GhcRn => GenLocated (SrcSpanAnn' a) (HsBindLR GhcRn idR) -> SDoc
+ pprLBind :: CollectPass GhcRn => LocatedAnS a (HsBindLR GhcRn idR) -> SDoc
pprLBind (L loc bind) = pprWithCommas ppr (collectHsBindBinders CollNoDictBinders bind)
<+> pprLoc (locA loc)
TcRnPartialTypeSigTyVarMismatch n1 n2 fn_name hs_ty
@@ -3110,7 +3110,7 @@ dodgy_msg kind tc ie
dodgy_msg_insert :: GlobalRdrElt -> IE GhcRn
dodgy_msg_insert tc_gre = IEThingAll noAnn ii
where
- ii = noLocA (IEName noExtField $ noLocA $ greName tc_gre)
+ ii = noLocA (IEName noExtField $ noLocN $ greName tc_gre)
pprTypeDoesNotHaveFixedRuntimeRep :: Type -> FixedRuntimeRepProvenance -> SDoc
pprTypeDoesNotHaveFixedRuntimeRep ty prov =
diff --git a/compiler/GHC/Tc/Gen/Bind.hs b/compiler/GHC/Tc/Gen/Bind.hs
index cee24aa395..95739663ac 100644
--- a/compiler/GHC/Tc/Gen/Bind.hs
+++ b/compiler/GHC/Tc/Gen/Bind.hs
@@ -219,7 +219,7 @@ tcCompleteSigs sigs =
-- compatible with the result type constructor 'mb_tc'.
doOne (L loc c@(CompleteMatchSig (_ext, _src_txt) (L _ ns) mb_tc_nm))
= fmap Just $ setSrcSpanA loc $ addErrCtxt (text "In" <+> ppr c) $ do
- cls <- mkUniqDSet <$> mapM (addLocMA tcLookupConLike) ns
+ cls <- mkUniqDSet <$> mapM (addLocMN tcLookupConLike) ns
mb_tc <- traverse @Maybe tcLookupLocatedTyCon mb_tc_nm
pure CompleteMatch { cmConLikes = cls, cmResultTyCon = mb_tc }
doOne _ = return Nothing
@@ -609,7 +609,7 @@ tcPolyCheck prag_fn
, fun_matches = matches }))
= do { traceTc "tcPolyCheck" (ppr poly_id $$ ppr sig_loc)
- ; mono_name <- newNameAt (nameOccName name) (locA nm_loc)
+ ; mono_name <- newNameAt (nameOccName name) (locN nm_loc)
; (wrap_gen, (wrap_res, matches'))
<- setSrcSpan sig_loc $ -- Sets the binding location for the skolems
tcSkolemiseScoped ctxt (idType poly_id) $ \rho_ty ->
@@ -639,7 +639,7 @@ tcPolyCheck prag_fn
; poly_id <- addInlinePrags poly_id prag_sigs
; mod <- getModule
- ; tick <- funBindTicks (locA nm_loc) poly_id mod prag_sigs
+ ; tick <- funBindTicks (locN nm_loc) poly_id mod prag_sigs
; let bind' = FunBind { fun_id = L nm_loc poly_id2
, fun_matches = matches'
@@ -1467,7 +1467,7 @@ tcLhs sig_fn no_gen (FunBind { fun_id = L nm_loc name
-- Just g = ...f...
-- Hence always typechecked with InferGen
do { mono_info <- tcLhsSigId no_gen (name, sig)
- ; return (TcFunBind mono_info (locA nm_loc) matches) }
+ ; return (TcFunBind mono_info (locN nm_loc) matches) }
| otherwise -- No type signature
= do { mono_ty <- newOpenFlexiTyVarTy
@@ -1478,7 +1478,7 @@ tcLhs sig_fn no_gen (FunBind { fun_id = L nm_loc name
; let mono_info = MBI { mbi_poly_name = name
, mbi_sig = Nothing
, mbi_mono_id = mono_id }
- ; return (TcFunBind mono_info (locA nm_loc) matches) }
+ ; return (TcFunBind mono_info (locN nm_loc) matches) }
tcLhs sig_fn no_gen (PatBind { pat_lhs = pat, pat_rhs = grhss })
= -- See Note [Typechecking pattern bindings]
@@ -1554,9 +1554,9 @@ tcRhs (TcFunBind info@(MBI { mbi_sig = mb_sig, mbi_mono_id = mono_id })
= tcExtendIdBinderStackForRhs [info] $
tcExtendTyVarEnvForRhs mb_sig $
do { traceTc "tcRhs: fun bind" (ppr mono_id $$ ppr (idType mono_id))
- ; (co_fn, matches') <- tcMatchesFun (L (noAnnSrcSpan loc) (idName mono_id))
+ ; (co_fn, matches') <- tcMatchesFun (L (noAnnSrcSpanN loc) (idName mono_id))
matches (mkCheckExpType $ idType mono_id)
- ; return ( FunBind { fun_id = L (noAnnSrcSpan loc) mono_id
+ ; return ( FunBind { fun_id = L (noAnnSrcSpanN loc) mono_id
, fun_matches = matches'
, fun_ext = (co_fn, [])
} ) }
diff --git a/compiler/GHC/Tc/Gen/Export.hs b/compiler/GHC/Tc/Gen/Export.hs
index eed125e8b0..1eac073791 100644
--- a/compiler/GHC/Tc/Gen/Export.hs
+++ b/compiler/GHC/Tc/Gen/Export.hs
@@ -192,8 +192,8 @@ rnExports explicit_mod exports
; let real_exports
| explicit_mod = exports
| has_main
- = Just (noLocA [noLocA (IEVar noExtField
- (noLocA (IEName noExtField $ noLocA default_main)))])
+ = Just (noLocI [noLocA (IEVar noExtField
+ (noLocA (IEName noExtField $ noLocN default_main)))])
-- ToDo: the 'noLoc' here is unhelpful if 'main'
-- turns out to be out of scope
| otherwise = Nothing
@@ -532,7 +532,7 @@ lookupChildrenExport spec_parent rdr_items = mapAndReportM doOne rdr_items
do { ub <- reportUnboundName unboundName
; let l = getLoc n
gre = localVanillaGRE NoParent ub
- ; return (L l (IEName noExtField (L (la2na l) ub)), gre)}
+ ; return (L l (IEName noExtField (L (l2l l) ub)), gre)}
FoundChild child@(GRE { gre_par = par }) ->
do { checkPatSynParent spec_parent par child
; let child_nm = greName child
diff --git a/compiler/GHC/Tc/Gen/Expr.hs b/compiler/GHC/Tc/Gen/Expr.hs
index 8a7ce396bf..d400a1f810 100644
--- a/compiler/GHC/Tc/Gen/Expr.hs
+++ b/compiler/GHC/Tc/Gen/Expr.hs
@@ -254,7 +254,7 @@ tcExpr e@(HsIPVar _ x) res_ty
; ipClass <- tcLookupClass ipClassName
; ip_var <- emitWantedEvVar origin (mkClassPred ipClass [ip_name, ip_ty])
; tcWrapResult e
- (fromDict ipClass ip_name ip_ty (HsVar noExtField (noLocA ip_var)))
+ (fromDict ipClass ip_name ip_ty (HsVar noExtField (noLocN ip_var)))
ip_ty res_ty }
where
-- Coerces a dictionary for `IP "x" t` into `t`.
@@ -1253,7 +1253,7 @@ desugarRecordUpd record_expr possible_parents rbnds res_ty
ds_expr = HsLet noExtField noHsTok let_binds noHsTok (L gen case_expr)
case_expr :: HsExpr GhcRn
- case_expr = HsCase noExtField record_expr (mkMatchGroup Generated (wrapGenSpan matches))
+ case_expr = HsCase noExtField record_expr (mkMatchGroup Generated (wrapGenSpanI matches))
matches :: [LMatch GhcRn (LHsExpr GhcRn)]
matches = map make_pat relevant_cons
diff --git a/compiler/GHC/Tc/Gen/Foreign.hs b/compiler/GHC/Tc/Gen/Foreign.hs
index 31c42f86d6..ad6580b537 100644
--- a/compiler/GHC/Tc/Gen/Foreign.hs
+++ b/compiler/GHC/Tc/Gen/Foreign.hs
@@ -424,7 +424,7 @@ tcFExport fo@(ForeignExport { fd_name = L loc nm, fd_sig_ty = hs_ty, fd_fe = spe
-- We need to give a name to the new top-level binding that
-- is *stable* (i.e. the compiler won't change it later),
-- because this name will be referred to by the C code stub.
- id <- mkStableIdFromName nm sig_ty (locA loc) mkForeignExportOcc
+ id <- mkStableIdFromName nm sig_ty (locN loc) mkForeignExportOcc
return ( mkVarBind id rhs
, ForeignExport { fd_name = L loc id
, fd_sig_ty = undefined
diff --git a/compiler/GHC/Tc/Gen/Head.hs b/compiler/GHC/Tc/Gen/Head.hs
index a5ad2f1733..e75f48c6a2 100644
--- a/compiler/GHC/Tc/Gen/Head.hs
+++ b/compiler/GHC/Tc/Gen/Head.hs
@@ -1009,7 +1009,7 @@ tcCheckId name res_ty
; addFunResCtxt rn_fun [] actual_res_ty res_ty $
tcWrapResultO (OccurrenceOf name) rn_fun expr actual_res_ty res_ty }
where
- rn_fun = HsVar noExtField (noLocA name)
+ rn_fun = HsVar noExtField (noLocN name)
------------------------
tcInferId :: Name -> TcM (HsExpr GhcTc, TcSigmaType)
@@ -1034,7 +1034,7 @@ tc_infer_assert assert_name
= do { assert_error_id <- tcLookupId assertErrorName
; (wrap, id_rho) <- topInstantiate (OccurrenceOf assert_name)
(idType assert_error_id)
- ; return (mkHsWrap wrap (HsVar noExtField (noLocA assert_error_id)), id_rho)
+ ; return (mkHsWrap wrap (HsVar noExtField (noLocN assert_error_id)), id_rho)
}
tc_infer_id :: Name -> TcM (HsExpr GhcTc, TcSigmaType)
@@ -1086,7 +1086,7 @@ tc_infer_id id_name
lcl_env <- getLocalRdrEnv
unknownNameSuggestions lcl_env WL_Anything (mkRdrUnqual occ)
- return_id id = return (HsVar noExtField (noLocA id), idType id)
+ return_id id = return (HsVar noExtField (noLocN id), idType id)
check_local_id :: Id -> TcM ()
check_local_id id
@@ -1297,7 +1297,7 @@ checkCrossStageLifting top_lvl id (Brack _ (TcPending ps_var lie_var q))
; lift <- if isStringTy id_ty then
do { sid <- tcLookupId GHC.Builtin.Names.TH.liftStringName
-- See Note [Lifting strings]
- ; return (HsVar noExtField (noLocA sid)) }
+ ; return (HsVar noExtField (noLocN sid)) }
else
setConstraintVar lie_var $
-- Put the 'lift' constraint into the right LIE
diff --git a/compiler/GHC/Tc/Gen/HsType.hs b/compiler/GHC/Tc/Gen/HsType.hs
index 9e8375b47d..bd366d688c 100644
--- a/compiler/GHC/Tc/Gen/HsType.hs
+++ b/compiler/GHC/Tc/Gen/HsType.hs
@@ -652,7 +652,7 @@ tcDerivStrategy mb_lds
= case mb_lds of
Nothing -> boring_case Nothing
Just (L loc ds) ->
- setSrcSpanA loc $ do
+ setSrcSpanI loc $ do
(ds', tvs) <- tc_deriv_strategy ds
pure (Just (L loc ds'), tvs)
where
@@ -765,7 +765,7 @@ tcFamTyPats fam_tc hs_pats
where
fam_name = tyConName fam_tc
fam_arity = tyConArity fam_tc
- lhs_fun = noLocA (HsTyVar noAnn NotPromoted (noLocA fam_name))
+ lhs_fun = noLocA (HsTyVar noAnn NotPromoted (noLocN fam_name))
{- Note [tcFamTyPats: zonking the result kind]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1525,7 +1525,7 @@ splitHsAppTys hs_ty
go (L _ (HsAppKindTy _ ty at k)) as = go ty (HsTypeArg at k : as)
go (L sp (HsParTy _ f)) as = go f (HsArgPar (locA sp) : as)
go (L _ (HsOpTy _ prom l op@(L sp _) r)) as
- = ( L (na2la sp) (HsTyVar noAnn prom op)
+ = ( L (l2l sp) (HsTyVar noAnn prom op)
, HsValArg l : HsValArg r : as )
go f as = (f, as)
diff --git a/compiler/GHC/Tc/Gen/Match.hs b/compiler/GHC/Tc/Gen/Match.hs
index db48eec968..82e5b3b4d8 100644
--- a/compiler/GHC/Tc/Gen/Match.hs
+++ b/compiler/GHC/Tc/Gen/Match.hs
@@ -202,8 +202,8 @@ type AnnoBody body
, Anno (Match GhcTc (LocatedA (body GhcTc))) ~ SrcSpanAnnA
, Anno [LocatedA (Match GhcRn (LocatedA (body GhcRn)))] ~ SrcSpanAnnL
, Anno [LocatedA (Match GhcTc (LocatedA (body GhcTc)))] ~ SrcSpanAnnL
- , Anno (GRHS GhcRn (LocatedA (body GhcRn))) ~ SrcAnn NoEpAnns
- , Anno (GRHS GhcTc (LocatedA (body GhcTc))) ~ SrcAnn NoEpAnns
+ , Anno (GRHS GhcRn (LocatedA (body GhcRn))) ~ EpAnnS NoEpAnns
+ , Anno (GRHS GhcTc (LocatedA (body GhcTc))) ~ EpAnnS NoEpAnns
, Anno (StmtLR GhcRn GhcRn (LocatedA (body GhcRn))) ~ SrcSpanAnnA
, Anno (StmtLR GhcTc GhcTc (LocatedA (body GhcTc))) ~ SrcSpanAnnA
)
diff --git a/compiler/GHC/Tc/Gen/Pat.hs b/compiler/GHC/Tc/Gen/Pat.hs
index 28b9891b91..a728a8161d 100644
--- a/compiler/GHC/Tc/Gen/Pat.hs
+++ b/compiler/GHC/Tc/Gen/Pat.hs
@@ -415,7 +415,7 @@ tc_pat pat_ty penv ps_pat thing_inside = case ps_pat of
AsPat x (L nm_loc name) at pat -> do
{ mult_wrap <- checkManyPattern pat_ty
-- See Note [Wrapper returned from tcSubMult] in GHC.Tc.Utils.Unify.
- ; (wrap, bndr_id) <- setSrcSpanA nm_loc (tcPatBndr penv name pat_ty)
+ ; (wrap, bndr_id) <- setSrcSpanN nm_loc (tcPatBndr penv name pat_ty)
; (pat', res) <- tcExtendIdEnv1 name bndr_id $
tc_lpat (pat_ty `scaledSet`(mkCheckExpType $ idType bndr_id))
penv pat thing_inside
@@ -662,7 +662,7 @@ AST is used for the subtraction operation.
<- tcSyntaxOpGen orig minus [SynType pat_exp_ty, SynRho] SynAny $
\ [lit2_ty, var_ty] _ ->
do { lit2' <- newOverloadedLit lit (mkCheckExpType lit2_ty)
- ; (wrap, bndr_id) <- setSrcSpanA nm_loc $
+ ; (wrap, bndr_id) <- setSrcSpanN nm_loc $
tcPatBndr penv name (unrestricted $ mkCheckExpType var_ty)
-- co :: var_ty ~ idType bndr_id
@@ -906,7 +906,7 @@ tcDataConPat (L con_span con_name) data_con pat_ty_scaled
; pat_ty <- readExpType (scaledThing pat_ty_scaled)
-- Add the stupid theta
- ; setSrcSpanA con_span $ addDataConStupidTheta data_con ctxt_res_tys
+ ; setSrcSpanN con_span $ addDataConStupidTheta data_con ctxt_res_tys
-- Check that this isn't a GADT pattern match
-- in situations in which that isn't allowed.
diff --git a/compiler/GHC/Tc/Gen/Rule.hs b/compiler/GHC/Tc/Gen/Rule.hs
index 121c43b987..fa4be02107 100644
--- a/compiler/GHC/Tc/Gen/Rule.hs
+++ b/compiler/GHC/Tc/Gen/Rule.hs
@@ -185,7 +185,7 @@ tcRule (HsRule { rd_ext = ext
, rd_name = rname
, rd_act = act
, rd_tyvs = ty_bndrs -- preserved for ppr-ing
- , rd_tmvs = map (noLocA . RuleBndr noAnn . noLocA)
+ , rd_tmvs = map (noLocI . RuleBndr noAnn . noLocN)
(qtkvs ++ tpl_ids)
, rd_lhs = mkHsDictLet lhs_binds lhs'
, rd_rhs = mkHsDictLet rhs_binds rhs' } }
diff --git a/compiler/GHC/Tc/Gen/Sig.hs b/compiler/GHC/Tc/Gen/Sig.hs
index abd204fa50..f84e3eebfa 100644
--- a/compiler/GHC/Tc/Gen/Sig.hs
+++ b/compiler/GHC/Tc/Gen/Sig.hs
@@ -271,7 +271,7 @@ lhsSigWcTypeContextSpan (HsWC { hswc_body = sigType }) = lhsSigTypeContextSpan s
lhsSigTypeContextSpan :: LHsSigType GhcRn -> ReportRedundantConstraints
lhsSigTypeContextSpan (L _ HsSig { sig_body = sig_ty }) = go sig_ty
where
- go (L _ (HsQualTy { hst_ctxt = L span _ })) = WantRRC $ locA span -- Found it!
+ go (L _ (HsQualTy { hst_ctxt = L span _ })) = WantRRC $ locI span -- Found it!
go (L _ (HsForAllTy { hst_body = hs_ty })) = go hs_ty -- Look under foralls
go (L _ (HsParTy _ hs_ty)) = go hs_ty -- Look under parens
go _ = NoRRC -- Did not find it
diff --git a/compiler/GHC/Tc/Gen/Splice.hs b/compiler/GHC/Tc/Gen/Splice.hs
index e28ba6f24f..9977b867c9 100644
--- a/compiler/GHC/Tc/Gen/Splice.hs
+++ b/compiler/GHC/Tc/Gen/Splice.hs
@@ -998,7 +998,7 @@ runAnnotation target expr = do
; let loc' = noAnnSrcSpan loc
; let specialised_to_annotation_wrapper_expr
= L loc' (mkHsWrap wrapper
- (HsVar noExtField (L (noAnnSrcSpan loc) to_annotation_wrapper_id)))
+ (HsVar noExtField (L (noAnnSrcSpanN loc) to_annotation_wrapper_id)))
; return (L loc' (HsApp noComments
specialised_to_annotation_wrapper_expr expr'))
})
diff --git a/compiler/GHC/Tc/Module.hs b/compiler/GHC/Tc/Module.hs
index 1b02340061..8cd1b5fd49 100644
--- a/compiler/GHC/Tc/Module.hs
+++ b/compiler/GHC/Tc/Module.hs
@@ -289,7 +289,7 @@ tcRnModuleTcRnM hsc_env mod_sum
++ import_decls))
; let { mkImport mod_name = noLocA
$ (simpleImportDecl mod_name)
- { ideclImportList = Just (Exactly, noLocA [])}}
+ { ideclImportList = Just (Exactly, noLocI [])}}
; let { withReason t imps = map (,text t) imps }
; let { all_imports = withReason "is implicitly imported" prel_imports
++ withReason "is directly imported" import_decls
@@ -2033,7 +2033,7 @@ generateMainBinding tcg_env main_name = do
{ traceTc "checkMain found" (ppr main_name)
; (io_ty, res_ty) <- getIOType
; let loc = getSrcSpan main_name
- main_expr_rn = L (noAnnSrcSpan loc) (HsVar noExtField (L (noAnnSrcSpan loc) main_name))
+ main_expr_rn = L (noAnnSrcSpan loc) (HsVar noExtField (L (noAnnSrcSpanN loc) main_name))
; (ev_binds, main_expr) <- setMainCtxt main_name io_ty $
tcCheckMonoExpr main_expr_rn io_ty
@@ -2371,7 +2371,7 @@ tcUserStmt (L loc (BodyStmt _ expr _ _))
-- Don't try to typecheck if the renamer fails!
; ghciStep <- getGhciStepIO
; uniq <- newUnique
- ; let loc' = noAnnSrcSpan $ locA loc
+ ; let loc' = noAnnSrcSpanN $ locA loc
; interPrintName <- getInteractivePrintName
; let fresh_it = itName uniq (locA loc)
matches = [mkMatch (mkPrefixFunRhs (L loc' fresh_it)) [] rn_expr
@@ -2639,7 +2639,7 @@ tcGhciStmts stmts
stmts = tc_stmts ++ [noLocA (mkLastStmt ret_expr)]
; return (ids, mkHsDictLet (EvBinds const_binds) $
- noLocA (HsDo io_ret_ty GhciStmtCtxt (noLocA stmts)))
+ noLocA (HsDo io_ret_ty GhciStmtCtxt (noLocI stmts)))
}
-- | Generate a typed ghciStepIO expression (ghciStep :: Ty a -> IO a)
@@ -2973,7 +2973,7 @@ tcRnLookupRdrName :: HscEnv -> LocatedN RdrName
-- ^ Find all the Names that this RdrName could mean, in GHCi
tcRnLookupRdrName hsc_env (L loc rdr_name)
= runTcInteractive hsc_env $
- setSrcSpanA loc $
+ setSrcSpanN loc $
do { -- If the identifier is a constructor (begins with an
-- upper-case letter), then we need to consider both
-- constructor and type class identifiers.
diff --git a/compiler/GHC/Tc/TyCl.hs b/compiler/GHC/Tc/TyCl.hs
index de6ef49225..ee43b5937a 100644
--- a/compiler/GHC/Tc/TyCl.hs
+++ b/compiler/GHC/Tc/TyCl.hs
@@ -2827,7 +2827,7 @@ tcInjectivity _ Nothing
-- But this does not seem to be useful in any way so we don't do it. (Another
-- reason is that the implementation would not be straightforward.)
tcInjectivity tcbs (Just (L loc (InjectivityAnn _ _ lInjNames)))
- = setSrcSpanA loc $
+ = setSrcSpanI loc $
do { let tvs = binderVars tcbs
; dflags <- getDynFlags
-- Fail eagerly to avoid reporting injectivity errors when
@@ -4346,7 +4346,7 @@ checkFieldCompat fld con1 con2 res1 res2 fty1 fty2
checkValidDataCon :: DynFlags -> Bool -> TyCon -> DataCon -> TcM ()
checkValidDataCon dflags existential_ok tc con
= setSrcSpan con_loc $
- addErrCtxt (dataConCtxt (NE.singleton (L (noAnnSrcSpan con_loc) con_name))) $
+ addErrCtxt (dataConCtxt (NE.singleton (L (noAnnSrcSpanN con_loc) con_name))) $
do { let tc_tvs = tyConTyVars tc
res_ty_tmpl = mkFamilyTyConApp tc (mkTyVarTys tc_tvs)
arg_tys = dataConOrigArgTys con
@@ -4992,7 +4992,7 @@ checkValidRoleAnnots role_annots tc
check_no_roles
= whenIsJust role_annot_decl_maybe illegalRoleAnnotDecl
-checkRoleAnnot :: TyVar -> LocatedAn NoEpAnns (Maybe Role) -> Role -> TcM ()
+checkRoleAnnot :: TyVar -> LocatedAnS NoEpAnns (Maybe Role) -> Role -> TcM ()
checkRoleAnnot _ (L _ Nothing) _ = return ()
checkRoleAnnot tv (L _ (Just r1)) r2
= when (r1 /= r2) $
diff --git a/compiler/GHC/Tc/TyCl/Class.hs b/compiler/GHC/Tc/TyCl/Class.hs
index 79374ac894..58d0b91d5d 100644
--- a/compiler/GHC/Tc/TyCl/Class.hs
+++ b/compiler/GHC/Tc/TyCl/Class.hs
@@ -177,7 +177,7 @@ tcClassSigs clas sigs def_methods
-> IOEnv (Env TcGblEnv TcLclEnv) [(Name, (SrcSpan, Type))] -- AZ temp
tc_gen_sig (op_names, gen_hs_ty)
= do { gen_op_ty <- tcClassSigType op_names gen_hs_ty
- ; return [ (op_name, (locA loc, gen_op_ty))
+ ; return [ (op_name, (locN loc, gen_op_ty))
| L loc op_name <- op_names ] }
{-
@@ -194,8 +194,8 @@ tcClassDecl2 :: LTyClDecl GhcRn -- The class declaration
tcClassDecl2 (L _ (ClassDecl {tcdLName = class_name, tcdSigs = sigs,
tcdMeths = default_binds}))
= recoverM (return emptyLHsBinds) $
- setSrcSpan (getLocA class_name) $
- do { clas <- tcLookupLocatedClass (n2l class_name)
+ setSrcSpan (getLocN class_name) $
+ do { clas <- tcLookupLocatedClass class_name
-- We make a separate binding for each default method.
-- At one time I used a single AbsBinds for all of them, thus
@@ -281,7 +281,7 @@ tcDefMeth clas tyvars this_dict binds_in hs_sig_fn prag_fn
local_dm_ty = instantiateMethod clas global_dm_id (mkTyVarTys tyvars)
- lm_bind = dm_bind { fun_id = L (la2na bind_loc) local_dm_name }
+ lm_bind = dm_bind { fun_id = L (l2l bind_loc) local_dm_name }
-- Substitute the local_meth_name for the binder
-- NB: the binding is always a FunBind
@@ -345,7 +345,7 @@ tcClassMinimalDef _clas sigs op_info
where
-- By default require all methods without a default implementation
defMindef :: ClassMinimalDef
- defMindef = mkAnd [ noLocA (mkVar name)
+ defMindef = mkAnd [ noLocI (mkVar name)
| (name, _, Nothing) <- op_info ]
instantiateMethod :: Class -> TcId -> [TcType] -> TcType
@@ -395,7 +395,7 @@ findMethodBind sel_name binds prag_fn
f bind@(L _ (FunBind { fun_id = L bndr_loc op_name }))
| op_name == sel_name
- = Just (bind, locA bndr_loc, prags)
+ = Just (bind, locN bndr_loc, prags)
f _other = Nothing
---------------------------
@@ -508,7 +508,7 @@ tcATDefault loc inst_subst defined_ats (ATI fam_tc defs)
(tv', cv') = partition isTyVar tcv'
tvs' = scopedSort tv'
cvs' = scopedSort cv'
- ; rep_tc_name <- newFamInstTyConName (L (noAnnSrcSpan loc) (tyConName fam_tc)) pat_tys'
+ ; rep_tc_name <- newFamInstTyConName (L (noAnnSrcSpanN loc) (tyConName fam_tc)) pat_tys'
; let axiom = mkSingleCoAxiom Nominal rep_tc_name tvs' [] cvs'
fam_tc pat_tys' rhs'
-- NB: no validity check. We check validity of default instances
diff --git a/compiler/GHC/Tc/TyCl/Instance.hs b/compiler/GHC/Tc/TyCl/Instance.hs
index caae46ce36..937648d2f2 100644
--- a/compiler/GHC/Tc/TyCl/Instance.hs
+++ b/compiler/GHC/Tc/TyCl/Instance.hs
@@ -596,7 +596,7 @@ tcTyFamInstDecl mb_clsinfo (L loc decl@(TyFamInstDecl { tfid_eqn = eqn }))
-- For some reason we don't have a location for the equation
-- itself, so we make do with the location of family name
; co_ax_branch <- tcTyFamInstEqn fam_tc mb_clsinfo
- (L (na2la $ getLoc fam_lname) eqn)
+ (L (l2l $ getLoc fam_lname) eqn)
-- (2) check for validity
; checkConsistentFamInst mb_clsinfo fam_tc co_ax_branch
@@ -1366,7 +1366,7 @@ addDFunPrags dfun_id sc_meth_ids
is_newtype = isNewTyCon clas_tc
wrapId :: HsWrapper -> Id -> HsExpr GhcTc
-wrapId wrapper id = mkHsWrap wrapper (HsVar noExtField (noLocA id))
+wrapId wrapper id = mkHsWrap wrapper (HsVar noExtField (noLocN id))
{- Note [Typechecking plan for instance declarations]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1938,7 +1938,7 @@ tcMethodBody skol_info clas tyvars dfun_ev_vars inst_tys
mkMethIds clas tyvars dfun_ev_vars
inst_tys sel_id
- ; let lm_bind = meth_bind { fun_id = L (noAnnSrcSpan bndr_loc)
+ ; let lm_bind = meth_bind { fun_id = L (noAnnSrcSpanN bndr_loc)
(idName local_meth_id) }
-- Substitute the local_meth_name for the binder
-- NB: the binding is always a FunBind
@@ -2161,7 +2161,7 @@ mkDefMethBind loc dfun_id clas sel_id dm_name
-- Copy the inline pragma (if any) from the default method
-- to this version. Note [INLINE and default methods]
- fn = noLocA (idName sel_id)
+ fn = noLocN (idName sel_id)
visible_inst_tys = [ ty | (tcb, ty) <- tyConBinders (classTyCon clas) `zip` inst_tys
, tyConBinderForAllTyFlag tcb /= Inferred ]
rhs = foldl' mk_vta (nlHsVar dm_name) visible_inst_tys
@@ -2410,4 +2410,3 @@ instDeclCtxt2 dfun_ty
inst_decl_ctxt :: SDoc -> SDoc
inst_decl_ctxt doc = hang (text "In the instance declaration for")
2 (quotes doc)
-
diff --git a/compiler/GHC/Tc/TyCl/PatSyn.hs b/compiler/GHC/Tc/TyCl/PatSyn.hs
index c61c471bac..9f7e1374ba 100644
--- a/compiler/GHC/Tc/TyCl/PatSyn.hs
+++ b/compiler/GHC/Tc/TyCl/PatSyn.hs
@@ -768,7 +768,7 @@ tcPatSynMatcher (L loc ps_name) lpat prag_fn
(univ_tvs, req_theta, req_ev_binds, req_dicts)
(ex_tvs, ex_tys, prov_theta, prov_dicts)
(args, arg_tys) pat_ty
- = do { let loc' = locA loc
+ = do { let loc' = locN loc
; rr_name <- newNameAt (mkTyVarOccFS (fsLit "rep")) loc'
; tv_name <- newNameAt (mkTyVarOccFS (fsLit "r")) loc'
; let rr_tv = mkTyVar rr_name runtimeRepTy
@@ -810,12 +810,12 @@ tcPatSynMatcher (L loc ps_name) lpat prag_fn
body = mkLHsWrap (mkWpLet req_ev_binds) $
L (getLoc lpat) $
HsCase noExtField (nlHsVar scrutinee) $
- MG{ mg_alts = L (l2l $ getLoc lpat) cases
+ MG{ mg_alts = L (nn2la $ getLoc lpat) cases
, mg_ext = MatchGroupTc [unrestricted pat_ty] res_ty Generated
}
body' = noLocA $
HsLam noExtField $
- MG{ mg_alts = noLocA [mkSimpleMatch LambdaExpr
+ MG{ mg_alts = noLocI [mkSimpleMatch LambdaExpr
args body]
, mg_ext = MatchGroupTc (map unrestricted [pat_ty, cont_ty, fail_ty]) res_ty Generated
}
@@ -824,7 +824,7 @@ tcPatSynMatcher (L loc ps_name) lpat prag_fn
req_dicts body')
(EmptyLocalBinds noExtField)
mg :: MatchGroup GhcTc (LHsExpr GhcTc)
- mg = MG{ mg_alts = L (l2l $ getLoc match) [match]
+ mg = MG{ mg_alts = L (nn2la $ getLoc match) [match]
, mg_ext = MatchGroupTc [] res_ty Generated
}
matcher_arity = length req_theta + 3
@@ -958,9 +958,9 @@ tcPatSynBuilderBind prag_fn (PSB { psb_id = ps_lname@(L loc ps_name)
Unidirectional -> panic "tcPatSynBuilderBind"
mk_mg :: LHsExpr GhcRn -> MatchGroup GhcRn (LHsExpr GhcRn)
- mk_mg body = mkMatchGroup Generated (noLocA [builder_match])
+ mk_mg body = mkMatchGroup Generated (noLocI [builder_match])
where
- builder_args = [L (na2la loc) (VarPat noExtField (L loc n))
+ builder_args = [L (l2l loc) (VarPat noExtField (L loc n))
| L loc n <- args]
builder_match = mkMatch (mkPrefixFunRhs ps_lname)
builder_args body
diff --git a/compiler/GHC/Tc/TyCl/Utils.hs b/compiler/GHC/Tc/TyCl/Utils.hs
index 8e7b3b8c39..7b4367ccc5 100644
--- a/compiler/GHC/Tc/TyCl/Utils.hs
+++ b/compiler/GHC/Tc/TyCl/Utils.hs
@@ -876,7 +876,7 @@ mkOneRecordSelector all_cons idDetails fl has_sel
where
loc = getSrcSpan sel_name
loc' = noAnnSrcSpan loc
- locn = noAnnSrcSpan loc
+ locn = noAnnSrcSpanN loc
locc = noAnnSrcSpan loc
lbl = flLabel fl
sel_name = flSelector fl
diff --git a/compiler/GHC/Tc/Utils/Backpack.hs b/compiler/GHC/Tc/Utils/Backpack.hs
index 5f76ba7e0c..c2e9146c1d 100644
--- a/compiler/GHC/Tc/Utils/Backpack.hs
+++ b/compiler/GHC/Tc/Utils/Backpack.hs
@@ -584,7 +584,7 @@ mergeSignatures
-- a signature package (i.e., does not expose any
-- modules.) If so, we can thin it.
| isFromSignaturePackage
- -> setSrcSpanA loc $ do
+ -> setSrcSpanI loc $ do
-- Suppress missing errors; they might be used to refer
-- to entities from other signatures we are merging in.
-- If an identifier truly doesn't exist in any of the
@@ -638,7 +638,7 @@ mergeSignatures
is_mod = mod_name,
is_as = mod_name,
is_qual = False,
- is_dloc = locA loc
+ is_dloc = locI loc
} ImpAll
rdr_env = mkGlobalRdrEnv $ gresFromAvails hsc_env (Just ispec) as1
setGblEnv tcg_env {
diff --git a/compiler/GHC/Tc/Utils/Env.hs b/compiler/GHC/Tc/Utils/Env.hs
index b8f9d83912..8a033d8e3a 100644
--- a/compiler/GHC/Tc/Utils/Env.hs
+++ b/compiler/GHC/Tc/Utils/Env.hs
@@ -320,11 +320,11 @@ tcLookupAxiom name = do
tcLookupLocatedGlobalId :: LocatedA Name -> TcM Id
tcLookupLocatedGlobalId = addLocMA tcLookupId
-tcLookupLocatedClass :: LocatedA Name -> TcM Class
-tcLookupLocatedClass = addLocMA tcLookupClass
+tcLookupLocatedClass :: LocatedN Name -> TcM Class
+tcLookupLocatedClass = addLocMN tcLookupClass
tcLookupLocatedTyCon :: LocatedN Name -> TcM TyCon
-tcLookupLocatedTyCon = addLocMA tcLookupTyCon
+tcLookupLocatedTyCon = addLocMN tcLookupTyCon
-- Find the instance that exactly matches a type class application. The class arguments must be precisely
-- the same as in the instance declaration (modulo renaming & casts).
@@ -1074,11 +1074,11 @@ newDFunName clas tys loc
; newGlobalBinder mod dfun_occ loc }
newFamInstTyConName :: LocatedN Name -> [Type] -> TcM Name
-newFamInstTyConName (L loc name) tys = mk_fam_inst_name id (locA loc) name [tys]
+newFamInstTyConName (L loc name) tys = mk_fam_inst_name id (locN loc) name [tys]
newFamInstAxiomName :: LocatedN Name -> [[Type]] -> TcM Name
newFamInstAxiomName (L loc name) branches
- = mk_fam_inst_name mkInstTyCoOcc (locA loc) name branches
+ = mk_fam_inst_name mkInstTyCoOcc (locN loc) name branches
mk_fam_inst_name :: (OccName -> OccName) -> SrcSpan -> Name -> [[Type]] -> TcM Name
mk_fam_inst_name adaptOcc loc tc_name tyss
diff --git a/compiler/GHC/Tc/Utils/Instantiate.hs b/compiler/GHC/Tc/Utils/Instantiate.hs
index 85671a0af5..58a472ff8a 100644
--- a/compiler/GHC/Tc/Utils/Instantiate.hs
+++ b/compiler/GHC/Tc/Utils/Instantiate.hs
@@ -131,7 +131,7 @@ newMethodFromName origin name ty_args
; wrap <- assert (not (isForAllTy ty) && isSingleton theta) $
instCall origin ty_args theta
- ; return (mkHsWrap wrap (HsVar noExtField (noLocA id))) }
+ ; return (mkHsWrap wrap (HsVar noExtField (noLocN id))) }
{-
************************************************************************
diff --git a/compiler/GHC/Tc/Utils/Monad.hs b/compiler/GHC/Tc/Utils/Monad.hs
index 75b74cbb35..5172484ce9 100644
--- a/compiler/GHC/Tc/Utils/Monad.hs
+++ b/compiler/GHC/Tc/Utils/Monad.hs
@@ -61,9 +61,10 @@ module GHC.Tc.Utils.Monad(
addDependentFiles,
-- * Error management
- getSrcSpanM, setSrcSpan, setSrcSpanA, addLocM, addLocMA, inGeneratedCode,
- wrapLocM, wrapLocAM, wrapLocFstM, wrapLocFstMA, wrapLocSndM, wrapLocSndMA, wrapLocM_,
- wrapLocMA_,wrapLocMA,
+ getSrcSpanM, setSrcSpan, setSrcSpanA, setSrcSpanI, setSrcSpanN, addLocM, addLocMA, addLocMN,
+ inGeneratedCode,
+ wrapLocM, wrapLocAM, wrapLocFstM, wrapLocFstMA, wrapLocFstMI, wrapLocSndM, wrapLocSndMA, wrapLocM_,
+ wrapLocMA_, wrapLocMA, wrapLocMI,
getErrsVar, setErrsVar,
addErr,
failWith, failAt,
@@ -993,26 +994,39 @@ setSrcSpan loc@(UnhelpfulSpan _) thing_inside
| otherwise
= thing_inside
-setSrcSpanA :: SrcSpanAnn' ann -> TcRn a -> TcRn a
+setSrcSpanA :: EpAnnS ann -> TcRn a -> TcRn a
setSrcSpanA l = setSrcSpan (locA l)
+setSrcSpanI :: SrcAnn ann -> TcRn a -> TcRn a
+setSrcSpanI l = setSrcSpan (locI l)
+
+setSrcSpanN :: EpAnnS ann -> TcRn a -> TcRn a
+setSrcSpanN l = setSrcSpan (locN l)
+
addLocM :: (a -> TcM b) -> Located a -> TcM b
addLocM fn (L loc a) = setSrcSpan loc $ fn a
-addLocMA :: (a -> TcM b) -> GenLocated (SrcSpanAnn' ann) a -> TcM b
+addLocMA :: (a -> TcM b) -> LocatedAnS ann a -> TcM b
addLocMA fn (L loc a) = setSrcSpanA loc $ fn a
+addLocMN :: (a -> TcM b) -> LocatedN a -> TcM b
+addLocMN fn (L loc a) = setSrcSpanN loc $ fn a
+
wrapLocM :: (a -> TcM b) -> Located a -> TcM (Located b)
wrapLocM fn (L loc a) = setSrcSpan loc $ do { b <- fn a
; return (L loc b) }
-wrapLocAM :: (a -> TcM b) -> LocatedAn an a -> TcM (Located b)
+wrapLocAM :: (a -> TcM b) -> LocatedAnS ann a -> TcM (Located b)
wrapLocAM fn a = wrapLocM fn (reLoc a)
-wrapLocMA :: (a -> TcM b) -> GenLocated (SrcSpanAnn' ann) a -> TcRn (GenLocated (SrcSpanAnn' ann) b)
+wrapLocMA :: (a -> TcM b) -> LocatedAnS ann a -> TcRn (LocatedAnS ann b)
wrapLocMA fn (L loc a) = setSrcSpanA loc $ do { b <- fn a
; return (L loc b) }
+wrapLocMI :: (a -> TcM b) -> LocatedAn ann a -> TcRn (LocatedAn ann b)
+wrapLocMI fn (L loc a) = setSrcSpanI loc $ do { b <- fn a
+ ; return (L loc b) }
+
wrapLocFstM :: (a -> TcM (b,c)) -> Located a -> TcM (Located b, c)
wrapLocFstM fn (L loc a) =
setSrcSpan loc $ do
@@ -1024,12 +1038,18 @@ wrapLocFstM fn (L loc a) =
-- wrapLocFstMA :: (a -> TcM (b,c)) -> LocatedN a -> TcM (LocatedN b, c)
-- wrapLocFstMA :: (a -> TcM (b,c)) -> LocatedAn t a -> TcM (LocatedAn t b, c)
-- and so on.
-wrapLocFstMA :: (a -> TcM (b,c)) -> GenLocated (SrcSpanAnn' ann) a -> TcM (GenLocated (SrcSpanAnn' ann) b, c)
+wrapLocFstMA :: (a -> TcM (b,c)) -> LocatedAnS ann a -> TcM (LocatedAnS ann b, c)
wrapLocFstMA fn (L loc a) =
setSrcSpanA loc $ do
(b,c) <- fn a
return (L loc b, c)
+wrapLocFstMI :: (a -> TcM (b,c)) -> GenLocated (SrcAnn ann) a -> TcM (GenLocated (SrcAnn ann) b, c)
+wrapLocFstMI fn (L loc a) =
+ setSrcSpanI loc $ do
+ (b,c) <- fn a
+ return (L loc b, c)
+
wrapLocSndM :: (a -> TcM (b, c)) -> Located a -> TcM (b, Located c)
wrapLocSndM fn (L loc a) =
setSrcSpan loc $ do
@@ -1041,7 +1061,7 @@ wrapLocSndM fn (L loc a) =
-- wrapLocSndMA :: (a -> TcM (b, c)) -> LocatedN a -> TcM (b, LocatedN c)
-- wrapLocSndMA :: (a -> TcM (b, c)) -> LocatedAn t a -> TcM (b, LocatedAn t c)
-- and so on.
-wrapLocSndMA :: (a -> TcM (b, c)) -> GenLocated (SrcSpanAnn' ann) a -> TcM (b, GenLocated (SrcSpanAnn' ann) c)
+wrapLocSndMA :: (a -> TcM (b, c)) -> LocatedAnS ann a -> TcM (b, LocatedAnS ann c)
wrapLocSndMA fn (L loc a) =
setSrcSpanA loc $ do
(b,c) <- fn a
diff --git a/compiler/GHC/Tc/Utils/Zonk.hs b/compiler/GHC/Tc/Utils/Zonk.hs
index aa2ffa8bae..0b667eabbb 100644
--- a/compiler/GHC/Tc/Utils/Zonk.hs
+++ b/compiler/GHC/Tc/Utils/Zonk.hs
@@ -669,7 +669,7 @@ zonkLTcSpecPrags env ps
************************************************************************
-}
-zonkMatchGroup :: Anno (GRHS GhcTc (LocatedA (body GhcTc))) ~ SrcAnn NoEpAnns
+zonkMatchGroup :: Anno (GRHS GhcTc (LocatedA (body GhcTc))) ~ EpAnnS NoEpAnns
=> ZonkEnv
-> (ZonkEnv -> LocatedA (body GhcTc) -> TcM (LocatedA (body GhcTc)))
-> MatchGroup GhcTc (LocatedA (body GhcTc))
@@ -684,7 +684,7 @@ zonkMatchGroup env zBody (MG { mg_alts = L l ms
, mg_ext = MatchGroupTc arg_tys' res_ty' origin
}) }
-zonkMatch :: Anno (GRHS GhcTc (LocatedA (body GhcTc))) ~ SrcAnn NoEpAnns
+zonkMatch :: Anno (GRHS GhcTc (LocatedA (body GhcTc))) ~ EpAnnS NoEpAnns
=> ZonkEnv
-> (ZonkEnv -> LocatedA (body GhcTc) -> TcM (LocatedA (body GhcTc)))
-> LMatch GhcTc (LocatedA (body GhcTc))
@@ -696,7 +696,7 @@ zonkMatch env zBody (L loc match@(Match { m_pats = pats
; return (L loc (match { m_pats = new_pats, m_grhss = new_grhss })) }
-------------------------------------------------------------------------
-zonkGRHSs :: Anno (GRHS GhcTc (LocatedA (body GhcTc))) ~ SrcAnn NoEpAnns
+zonkGRHSs :: Anno (GRHS GhcTc (LocatedA (body GhcTc))) ~ EpAnnS NoEpAnns
=> ZonkEnv
-> (ZonkEnv -> LocatedA (body GhcTc) -> TcM (LocatedA (body GhcTc)))
-> GRHSs GhcTc (LocatedA (body GhcTc))
@@ -1152,7 +1152,7 @@ zonkStmt env zBody (RecStmt { recS_stmts = L _ segStmts, recS_later_ids = lvs
; new_later_rets <- mapM (zonkExpr env5) later_rets
; new_rec_rets <- mapM (zonkExpr env5) rec_rets
; return (extendIdZonkEnvRec env3 new_lvs, -- Only the lvs are needed
- RecStmt { recS_stmts = noLocA new_segStmts
+ RecStmt { recS_stmts = noLocI new_segStmts
, recS_later_ids = new_lvs
, recS_rec_ids = new_rvs, recS_ret_fn = new_ret_id
, recS_mfix_fn = new_mfix_id, recS_bind_fn = new_bind_id
diff --git a/compiler/GHC/ThToHs.hs b/compiler/GHC/ThToHs.hs
index 39da7e0c51..33cf68524a 100644
--- a/compiler/GHC/ThToHs.hs
+++ b/compiler/GHC/ThToHs.hs
@@ -141,15 +141,25 @@ getL = CvtM (\_ loc -> Right (loc,loc))
setL :: SrcSpan -> CvtM ()
setL loc = CvtM (\_ _ -> Right (loc, ()))
-returnLA :: e -> CvtM (LocatedAn ann e)
+returnLA :: (Monoid ann) => e -> CvtM (LocatedAnS ann e)
returnLA x = CvtM (\_ loc -> Right (loc, L (noAnnSrcSpan loc) x))
+returnLL :: e -> CvtM (LocatedAn ann e)
+returnLL x = CvtM (\_ loc -> Right (loc, L (noAnnSrcSpanI loc) x))
+
+
returnJustLA :: a -> CvtM (Maybe (LocatedA a))
returnJustLA = fmap Just . returnLA
-wrapParLA :: (LocatedAn ann a -> b) -> a -> CvtM b
+wrapParLA :: (LocatedA a -> b) -> a -> CvtM b
wrapParLA add_par x = CvtM (\_ loc -> Right (loc, add_par (L (noAnnSrcSpan loc) x)))
+wrapParLL :: (LocatedL a -> b) -> a -> CvtM b
+wrapParLL add_par x = CvtM (\_ loc -> Right (loc, add_par (L (noAnnSrcSpanI loc) x)))
+
+wrapParLN :: (LocatedN a -> b) -> a -> CvtM b
+wrapParLN add_par x = CvtM (\_ loc -> Right (loc, add_par (L (noAnnSrcSpanN loc) x)))
+
wrapMsg :: ThingBeingConverted -> CvtM' ConversionFailReason a -> CvtM' RunSpliceFailReason a
wrapMsg what = mapCvtMError (ConversionFail what)
@@ -161,7 +171,7 @@ wrapL (CvtM m) = CvtM $ \origin loc -> case m origin loc of
wrapLN :: CvtM a -> CvtM (LocatedN a)
wrapLN (CvtM m) = CvtM $ \origin loc -> case m origin loc of
Left err -> Left err
- Right (loc', v) -> Right (loc', L (noAnnSrcSpan loc) v)
+ Right (loc', v) -> Right (loc', L (noAnnSrcSpanN loc) v)
wrapLA :: CvtM a -> CvtM (LocatedA a)
wrapLA (CvtM m) = CvtM $ \origin loc -> case m origin loc of
@@ -327,7 +337,7 @@ cvtDec (InstanceD o ctxt ty decs)
, cid_sigs = Hs.mkClassOpSigs sigs'
, cid_tyfam_insts = ats', cid_datafam_insts = adts'
, cid_overlap_mode
- = fmap (L (l2l loc) . overlap) o } }
+ = fmap (L (nn2la loc) . overlap) o } }
where
overlap pragma =
case pragma of
@@ -464,7 +474,8 @@ cvtDec (TH.PatSynD nm args dir pat)
cvtDir n (ExplBidir cls) =
do { ms <- mapM (cvtClause (mkPrefixFunRhs n)) cls
; th_origin <- getOrigin
- ; wrapParLA (ExplicitBidirectional . mkMatchGroup th_origin) ms }
+ ; wrapParLL (ExplicitBidirectional . mkMatchGroup th_origin) ms }
+
cvtDec (TH.PatSynSigD nm ty)
= do { nm' <- cNameN nm
@@ -681,7 +692,7 @@ cvtConstr _ do_con_name (NormalC c strtys)
cvtConstr parent_con do_con_name (RecC c varstrtys)
= do { c' <- do_con_name c
; args' <- mapM (cvt_id_arg parent_con) varstrtys
- ; con_decl <- wrapParLA (mkConDeclH98 noAnn c' Nothing Nothing . RecCon) args'
+ ; con_decl <- wrapParLL (mkConDeclH98 noAnn c' Nothing Nothing . RecCon) args'
; returnLA con_decl }
cvtConstr _ do_con_name (InfixC st1 c st2)
@@ -736,7 +747,7 @@ cvtConstr parent_con do_con_name (RecGadtC c varstrtys ty) = case nonEmpty c of
{ c' <- mapM do_con_name c
; ty' <- cvtType ty
; rec_flds <- mapM (cvt_id_arg parent_con) varstrtys
- ; lrec_flds <- returnLA rec_flds
+ ; lrec_flds <- returnLL rec_flds
; mk_gadt_decl c' (RecConGADT lrec_flds noHsUniTok) ty' }
mk_gadt_decl :: NonEmpty (LocatedN RdrName) -> HsConDeclGADTDetails GhcPs -> LHsType GhcPs
@@ -906,7 +917,7 @@ cvtPragmaD (SpecialiseInstP ty)
cvtPragmaD (RuleP nm ty_bndrs tm_bndrs lhs rhs phases)
= do { let nm' = mkFastString nm
- ; rd_name' <- returnLA nm'
+ ; rd_name' <- returnLL nm'
; let act = cvtPhases phases AlwaysActive
; ty_bndrs' <- traverse cvtTvs ty_bndrs
; tm_bndrs' <- mapM cvtRuleBndr tm_bndrs
@@ -932,10 +943,10 @@ cvtPragmaD (AnnP target exp)
ModuleAnnotation -> return ModuleAnnProvenance
TypeAnnotation n -> do
n' <- tconName n
- wrapParLA TypeAnnProvenance n'
+ wrapParLN TypeAnnProvenance n'
ValueAnnotation n -> do
n' <- vcName n
- wrapParLA ValueAnnProvenance n'
+ wrapParLN ValueAnnProvenance n'
; returnJustLA $ Hs.AnnD noExtField
$ HsAnnotation (noAnn, (SourceText "{-# ANN")) target' exp'
}
@@ -973,11 +984,11 @@ cvtPhases (BeforePhase i) _ = ActiveBefore NoSourceText i
cvtRuleBndr :: TH.RuleBndr -> CvtM (Hs.LRuleBndr GhcPs)
cvtRuleBndr (RuleVar n)
= do { n' <- vNameN n
- ; returnLA $ Hs.RuleBndr noAnn n' }
+ ; returnLL $ Hs.RuleBndr noAnn n' }
cvtRuleBndr (TypedRuleVar n ty)
= do { n' <- vNameN n
; ty' <- cvtType ty
- ; returnLA $ Hs.RuleBndrSig noAnn n' $ mkHsPatSigType noAnn ty' }
+ ; returnLL $ Hs.RuleBndrSig noAnn n' $ mkHsPatSigType noAnn ty' }
---------------------------------------------------
-- Declarations
@@ -1013,7 +1024,7 @@ cvtImplicitParamBind :: String -> TH.Exp -> CvtM (LIPBind GhcPs)
cvtImplicitParamBind n e = do
n' <- wrapL (ipName n)
e' <- cvtl e
- returnLA (IPBind noAnn (reLocA n') e')
+ returnLA (IPBind noAnn (reLocE n') e')
-------------------------------------------------------------------
-- Expressions
@@ -1022,8 +1033,8 @@ cvtImplicitParamBind n e = do
cvtl :: TH.Exp -> CvtM (LHsExpr GhcPs)
cvtl e = wrapLA (cvt e)
where
- cvt (VarE s) = do { s' <- vName s; wrapParLA (HsVar noExtField) s' }
- cvt (ConE s) = do { s' <- cName s; wrapParLA (HsVar noExtField) s' }
+ cvt (VarE s) = do { s' <- vName s; wrapParLN (HsVar noExtField) s' }
+ cvt (ConE s) = do { s' <- cName s; wrapParLN (HsVar noExtField) s' }
cvt (LitE l)
| overloadedLit l = go cvtOverLit (HsOverLit noComments)
(hsOverLitNeedsParens appPrec)
@@ -1052,17 +1063,17 @@ cvtl e = wrapLA (cvt e)
cvt (LamE ps e) = do { ps' <- cvtPats ps; e' <- cvtl e
; let pats = map (parenthesizePat appPrec) ps'
; th_origin <- getOrigin
- ; wrapParLA (HsLam noExtField . mkMatchGroup th_origin)
+ ; wrapParLA (HsLam noExtField . mkMatchGroup th_origin . n2l)
[mkSimpleMatch LambdaExpr pats e']}
cvt (LamCaseE ms) = do { ms' <- mapM (cvtMatch $ LamCaseAlt LamCase) ms
; th_origin <- getOrigin
- ; wrapParLA (HsLamCase noAnn LamCase . mkMatchGroup th_origin) ms'
+ ; wrapParLA (HsLamCase noAnn LamCase . mkMatchGroup th_origin . n2l) ms'
}
cvt (LamCasesE ms)
| null ms = failWith CasesExprWithoutAlts
| otherwise = do { ms' <- mapM (cvtClause $ LamCaseAlt LamCases) ms
; th_origin <- getOrigin
- ; wrapParLA (HsLamCase noAnn LamCases . mkMatchGroup th_origin) ms'
+ ; wrapParLA (HsLamCase noAnn LamCases . mkMatchGroup th_origin . n2l) ms'
}
cvt (TupE es) = cvt_tup es Boxed
cvt (UnboxedTupE es) = cvt_tup es Unboxed
@@ -1079,7 +1090,7 @@ cvtl e = wrapLA (cvt e)
; e' <- cvtl e; return $ HsLet noAnn noHsTok ds' noHsTok e'}
cvt (CaseE e ms) = do { e' <- cvtl e; ms' <- mapM (cvtMatch CaseAlt) ms
; th_origin <- getOrigin
- ; wrapParLA (HsCase noAnn e' . mkMatchGroup th_origin) ms' }
+ ; wrapParLA (HsCase noAnn e' . mkMatchGroup th_origin .n2l) ms' }
cvt (DoE m ss) = cvtHsDo (DoExpr (mk_mod <$> m)) ss
cvt (MDoE m ss) = cvtHsDo (MDoExpr (mk_mod <$> m)) ss
cvt (CompE ss) = cvtHsDo ListComp ss
@@ -1134,11 +1145,11 @@ cvtl e = wrapLA (cvt e)
; let pe = parenthesizeHsExpr sigPrec e'
; return $ ExprWithTySig noAnn pe (mkHsWildCardBndrs t') }
cvt (RecConE c flds) = do { c' <- cNameN c
- ; flds' <- mapM (cvtFld (wrapParLA mkFieldOcc)) flds
+ ; flds' <- mapM (cvtFld (wrapParLN mkFieldOcc)) flds
; return $ mkRdrRecordCon c' (HsRecFields flds' Nothing) noAnn }
cvt (RecUpdE e flds) = do { e' <- cvtl e
; flds'
- <- mapM (cvtFld (wrapParLA mkAmbiguousFieldOcc))
+ <- mapM (cvtFld (wrapParLN mkAmbiguousFieldOcc))
flds
; return $ RecordUpd noAnn e' $
RegularRecUpdFields
@@ -1149,14 +1160,14 @@ cvtl e = wrapLA (cvt e)
-- important, because UnboundVarE may contain
-- constructor names - see #14627.
{ s' <- vcName s
- ; wrapParLA (HsVar noExtField) s' }
+ ; wrapParLN (HsVar noExtField) s' }
cvt (LabelE s) = return $ HsOverLabel noComments NoSourceText (fsLit s)
cvt (ImplicitParamVarE n) = do { n' <- ipName n; return $ HsIPVar noComments n' }
cvt (GetFieldE exp f) = do { e' <- cvtl exp
; return $ HsGetField noComments e'
- (L noSrcSpanA (DotFieldOcc noAnn (L noSrcSpanA (FieldLabelString (fsLit f))))) }
+ (L noSrcSpanI (DotFieldOcc noAnn (L noSrcSpanN (FieldLabelString (fsLit f))))) }
cvt (ProjectionE xs) = return $ HsProjection noAnn $ fmap
- (L noSrcSpanA . DotFieldOcc noAnn . L noSrcSpanA . FieldLabelString . fsLit) xs
+ (L noSrcSpanI . DotFieldOcc noAnn . L noSrcSpanN . FieldLabelString . fsLit) xs
cvt (TypedSpliceE e) = do { e' <- parenthesizeHsExpr appPrec <$> cvtl e
; return $ HsTypedSplice (noAnn, noAnn) e' }
cvt (TypedBracketE e) = do { e' <- cvtl e
@@ -1195,7 +1206,7 @@ which we don't want.
-}
cvtFld :: (RdrName -> CvtM t) -> (TH.Name, TH.Exp)
- -> CvtM (LHsFieldBind GhcPs (LocatedAn NoEpAnns t) (LHsExpr GhcPs))
+ -> CvtM (LHsFieldBind GhcPs (LocatedAnS NoEpAnns t) (LHsExpr GhcPs))
cvtFld f (v,e)
= do { v' <- vNameL v
; lhs' <- traverse f v'
@@ -1301,7 +1312,7 @@ cvtHsDo do_or_lc stmts = case nonEmpty stmts of
-> return (L loc (mkLastStmt body))
_ -> failWith (bad_last last')
- ; wrapParLA (HsDo noAnn do_or_lc) (stmts'' ++ [last'']) }
+ ; wrapParLL (HsDo noAnn do_or_lc) (stmts'' ++ [last'']) }
where
bad_last stmt = IllegalLastStatement do_or_lc stmt
@@ -1319,7 +1330,7 @@ cvtStmt (TH.ParS dss) = do { dss' <- mapM cvt_one dss
cvt_one ds = do { ds' <- cvtStmts ds
; return (ParStmtBlock noExtField ds' undefined noSyntaxExpr) }
cvtStmt (TH.RecS ss) = do { ss' <- mapM cvtStmt ss
- ; rec_stmt <- wrapParLA (mkRecStmt noAnn) ss'
+ ; rec_stmt <- wrapParLL (mkRecStmt noAnn) ss'
; returnLA rec_stmt }
cvtMatch :: HsMatchContext GhcPs
@@ -1416,13 +1427,13 @@ cvtPat pat = wrapLA (cvtp pat)
cvtp :: TH.Pat -> CvtM (Hs.Pat GhcPs)
cvtp (TH.LitP l)
| overloadedLit l = do { l' <- cvtOverLit l
- ; l'' <- returnLA l'
+ ; l'' <- returnLL l'
; return (mkNPat l'' Nothing noAnn) }
-- Not right for negative patterns;
-- need to think about that!
| otherwise = do { l' <- cvtLit l; return $ Hs.LitPat noExtField l' }
cvtp (TH.VarP s) = do { s' <- vName s
- ; wrapParLA (Hs.VarPat noExtField) s' }
+ ; wrapParLN (Hs.VarPat noExtField) s' }
cvtp (TupP ps) = do { ps' <- cvtPats ps
; return $ TuplePat noAnn ps' Boxed }
cvtp (UnboxedTupP ps) = do { ps' <- cvtPats ps
@@ -1484,7 +1495,7 @@ cvtPatFld (s,p)
; p' <- cvtPat p
; returnLA $ HsFieldBind { hfbAnn = noAnn
, hfbLHS
- = L (l2l ls) $ mkFieldOcc (L (l2l ls) s')
+ = L (l2l ls) $ mkFieldOcc (L ls s')
, hfbRHS = p'
, hfbPun = False} }
@@ -1542,7 +1553,7 @@ cvtRole TH.InferR = Nothing
cvtContext :: PprPrec -> TH.Cxt -> CvtM (LHsContext GhcPs)
cvtContext p tys = do { preds' <- mapM cvtPred tys
- ; parenthesizeHsContext p <$> returnLA preds' }
+ ; parenthesizeHsContext p <$> returnLL preds' }
cvtPred :: TH.Pred -> CvtM (LHsType GhcPs)
cvtPred = cvtType
@@ -1558,23 +1569,23 @@ cvtDerivClauseTys tys
; case tys' of
[ty'@(L l (HsSig { sig_bndrs = HsOuterImplicit{}
, sig_body = L _ (HsTyVar _ NotPromoted _) }))]
- -> return $ L (l2l l) $ DctSingle noExtField ty'
- _ -> returnLA $ DctMulti noExtField tys' }
+ -> return $ L (nn2la l) $ DctSingle noExtField ty'
+ _ -> returnLL $ DctMulti noExtField tys' }
cvtDerivClause :: TH.DerivClause
-> CvtM (LHsDerivingClause GhcPs)
cvtDerivClause (TH.DerivClause ds tys)
= do { tys' <- cvtDerivClauseTys tys
; ds' <- traverse cvtDerivStrategy ds
- ; returnLA $ HsDerivingClause noAnn ds' tys' }
+ ; returnLL $ HsDerivingClause noAnn ds' tys' }
cvtDerivStrategy :: TH.DerivStrategy -> CvtM (Hs.LDerivStrategy GhcPs)
-cvtDerivStrategy TH.StockStrategy = returnLA (Hs.StockStrategy noAnn)
-cvtDerivStrategy TH.AnyclassStrategy = returnLA (Hs.AnyclassStrategy noAnn)
-cvtDerivStrategy TH.NewtypeStrategy = returnLA (Hs.NewtypeStrategy noAnn)
+cvtDerivStrategy TH.StockStrategy = returnLL (Hs.StockStrategy noAnn)
+cvtDerivStrategy TH.AnyclassStrategy = returnLL (Hs.AnyclassStrategy noAnn)
+cvtDerivStrategy TH.NewtypeStrategy = returnLL (Hs.NewtypeStrategy noAnn)
cvtDerivStrategy (TH.ViaStrategy ty) = do
ty' <- cvtSigType ty
- returnLA $ Hs.ViaStrategy (XViaStrategyPs noAnn ty')
+ returnLL $ Hs.ViaStrategy (XViaStrategyPs noAnn ty')
cvtType :: TH.Type -> CvtM (LHsType GhcPs)
cvtType = cvtTypeKind TypeLevel
@@ -1788,7 +1799,7 @@ cvtTypeKind typeOrKind ty
ImplicitParamT n t
-> do { n' <- wrapL $ ipName n
; t' <- cvtType t
- ; returnLA (HsIParamTy noAnn (reLocA n') t')
+ ; returnLA (HsIParamTy noAnn (reLocE n') t')
}
_ -> failWith (MalformedType typeOrKind ty)
@@ -1913,18 +1924,18 @@ cvtSigKind = cvtSigTypeKind KindLevel
-- signature is possible).
cvtMaybeKindToFamilyResultSig :: Maybe TH.Kind
-> CvtM (LFamilyResultSig GhcPs)
-cvtMaybeKindToFamilyResultSig Nothing = returnLA (Hs.NoSig noExtField)
+cvtMaybeKindToFamilyResultSig Nothing = returnLL (Hs.NoSig noExtField)
cvtMaybeKindToFamilyResultSig (Just ki) = do { ki' <- cvtKind ki
- ; returnLA (Hs.KindSig noExtField ki') }
+ ; returnLL (Hs.KindSig noExtField ki') }
-- | Convert type family result signature. Used with both open and closed type
-- families.
cvtFamilyResultSig :: TH.FamilyResultSig -> CvtM (Hs.LFamilyResultSig GhcPs)
-cvtFamilyResultSig TH.NoSig = returnLA (Hs.NoSig noExtField)
+cvtFamilyResultSig TH.NoSig = returnLL (Hs.NoSig noExtField)
cvtFamilyResultSig (TH.KindSig ki) = do { ki' <- cvtKind ki
- ; returnLA (Hs.KindSig noExtField ki') }
+ ; returnLL (Hs.KindSig noExtField ki') }
cvtFamilyResultSig (TH.TyVarSig bndr) = do { tv <- cvt_tv bndr
- ; returnLA (Hs.TyVarSig noExtField tv) }
+ ; returnLL (Hs.TyVarSig noExtField tv) }
-- | Convert injectivity annotation of a type family.
cvtInjectivityAnnotation :: TH.InjectivityAnn
@@ -1932,7 +1943,7 @@ cvtInjectivityAnnotation :: TH.InjectivityAnn
cvtInjectivityAnnotation (TH.InjectivityAnn annLHS annRHS)
= do { annLHS' <- tNameN annLHS
; annRHS' <- mapM tNameN annRHS
- ; returnLA (Hs.InjectivityAnn noAnn annLHS' annRHS') }
+ ; returnLL (Hs.InjectivityAnn noAnn annLHS' annRHS') }
cvtPatSynSigTy :: TH.Type -> CvtM (LHsSigType GhcPs)
-- pattern synonym types are of peculiar shapes, which is why we treat
@@ -1941,7 +1952,7 @@ cvtPatSynSigTy :: TH.Type -> CvtM (LHsSigType GhcPs)
cvtPatSynSigTy (ForallT univs reqs (ForallT exis provs ty))
| null exis, null provs = cvtSigType (ForallT univs reqs ty)
| null univs, null reqs = do { ty' <- cvtType (ForallT exis provs ty)
- ; ctxt' <- returnLA []
+ ; ctxt' <- returnLL []
; cxtTy <- wrapParLA mkHsImplicitSigType $
HsQualTy { hst_ctxt = ctxt'
, hst_xqual = noExtField
@@ -1949,7 +1960,7 @@ cvtPatSynSigTy (ForallT univs reqs (ForallT exis provs ty))
; returnLA cxtTy }
| null reqs = do { univs' <- cvtTvs univs
; ty' <- cvtType (ForallT exis provs ty)
- ; ctxt' <- returnLA []
+ ; ctxt' <- returnLL []
; let cxtTy = HsQualTy { hst_ctxt = ctxt'
, hst_xqual = noExtField
, hst_body = ty' }
diff --git a/compiler/GHC/Unit/Module/Warnings.hs b/compiler/GHC/Unit/Module/Warnings.hs
index 72f6586094..5c8c1778d8 100644
--- a/compiler/GHC/Unit/Module/Warnings.hs
+++ b/compiler/GHC/Unit/Module/Warnings.hs
@@ -176,10 +176,10 @@ data WarningTxt pass
(Maybe (Located WarningCategory))
-- ^ Warning category attached to this WARNING pragma, if any;
-- see Note [Warning categories]
- (Located SourceText)
+ SourceText
[Located (WithHsDocIdentifiers StringLiteral pass)]
| DeprecatedTxt
- (Located SourceText)
+ SourceText
[Located (WithHsDocIdentifiers StringLiteral pass)]
deriving Generic
@@ -194,12 +194,12 @@ deriving instance (Data pass, Data (IdP pass)) => Data (WarningTxt pass)
instance Outputable (WarningTxt pass) where
ppr (WarningTxt _ lsrc ws)
- = case unLoc lsrc of
+ = case lsrc of
NoSourceText -> pp_ws ws
SourceText src -> text src <+> pp_ws ws <+> text "#-}"
ppr (DeprecatedTxt lsrc ds)
- = case unLoc lsrc of
+ = case lsrc of
NoSourceText -> pp_ws ds
SourceText src -> text src <+> pp_ws ds <+> text "#-}"
@@ -207,21 +207,21 @@ instance Binary (WarningTxt GhcRn) where
put_ bh (WarningTxt c s w) = do
putByte bh 0
put_ bh $ unLoc <$> c
- put_ bh $ unLoc s
+ put_ bh s
put_ bh $ unLoc <$> w
put_ bh (DeprecatedTxt s d) = do
putByte bh 1
- put_ bh $ unLoc s
+ put_ bh s
put_ bh $ unLoc <$> d
get bh = do
h <- getByte bh
case h of
0 -> do c <- fmap noLoc <$> get bh
- s <- noLoc <$> get bh
+ s <- get bh
w <- fmap noLoc <$> get bh
return (WarningTxt c s w)
- _ -> do s <- noLoc <$> get bh
+ _ -> do s <- get bh
d <- fmap noLoc <$> get bh
return (DeprecatedTxt s d)
@@ -304,4 +304,3 @@ plusWarns NoWarnings d = d
plusWarns _ (WarnAll t) = WarnAll t
plusWarns (WarnAll t) _ = WarnAll t
plusWarns (WarnSome v1) (WarnSome v2) = WarnSome (v1 ++ v2)
-
diff --git a/ghc/GHCi/UI/Info.hs b/ghc/GHCi/UI/Info.hs
index 505a1da68f..07f4103cdd 100644
--- a/ghc/GHCi/UI/Info.hs
+++ b/ghc/GHCi/UI/Info.hs
@@ -351,7 +351,7 @@ processAllTypeCheckedModule tcm
-- | Extract 'Id', 'SrcSpan', and 'Type' for 'LHsBind's
getTypeLHsBind :: LHsBind GhcTc -> Maybe (Maybe Id,SrcSpan,Type)
getTypeLHsBind (L _spn FunBind{fun_id = pid,fun_matches = MG _ _})
- = Just (Just (unLoc pid), getLocA pid,varType (unLoc pid))
+ = Just (Just (unLoc pid), getLocN pid,varType (unLoc pid))
getTypeLHsBind _ = Nothing
-- | Extract 'Id', 'SrcSpan', and 'Type' for 'LHsExpr's
diff --git a/testsuite/tests/ghc-api/T11579.stdout b/testsuite/tests/ghc-api/T11579.stdout
index 1140ed9228..5eddfaba25 100644
--- a/testsuite/tests/ghc-api/T11579.stdout
+++ b/testsuite/tests/ghc-api/T11579.stdout
@@ -1 +1 @@
-HdkCommentNamed "bar" (MultiLineDocString (HsDocStringNamed "bar") (L (RealSrcSpan SrcSpanOneLine "Foo.hs" 1 8 13 (Just (BufSpan {bufSpanStart = BufPos {bufPos = 7}, bufSpanEnd = BufPos {bufPos = 12}}))) (HsDocStringChunk " some") :| [L (RealSrcSpan SrcSpanOneLine "Foo.hs" 2 3 15 (Just (BufSpan {bufSpanStart = BufPos {bufPos = 15}, bufSpanEnd = BufPos {bufPos = 27}}))) (HsDocStringChunk " named chunk")]))
+HdkCommentNamed "bar" (MultiLineDocString (HsDocStringNamed "bar") (L (RealSrcSpan SrcSpanOneLine "Foo.hs" 1 8 13 (Just (BufSpan {bufSpanStart = BufPos {bufPos = 7}, bufSpanEnd = BufPos {bufPos = 12}}))) (HsDocStringChunk " some") :| [L (RealSrcSpan SrcSpanOneLine "Foo.hs" 2 3 15 (Just (BufSpan {bufSpanStart = BufPos {bufPos = 15}, bufSpanEnd = BufPos {bufPos = 27}}))) (HsDocStringChunk " named chunk")])) \ No newline at end of file
diff --git a/testsuite/tests/ghc-api/exactprint/AddDecl2.expected.hs b/testsuite/tests/ghc-api/exactprint/AddDecl2.expected.hs
index 2bbbcf5b37..5e134b5234 100644
--- a/testsuite/tests/ghc-api/exactprint/AddDecl2.expected.hs
+++ b/testsuite/tests/ghc-api/exactprint/AddDecl2.expected.hs
@@ -8,6 +8,6 @@ foo a b = a + b
-- | Do bar
bar x y = {- baz -} foo (x+y) x
-nn = n2
-
-- end of file
+
+nn = n2
diff --git a/testsuite/tests/ghc-api/exactprint/AddHiding1.expected.hs b/testsuite/tests/ghc-api/exactprint/AddHiding1.expected.hs
index f3c8f17c8b..2e2909660f 100644
--- a/testsuite/tests/ghc-api/exactprint/AddHiding1.expected.hs
+++ b/testsuite/tests/ghc-api/exactprint/AddHiding1.expected.hs
@@ -5,4 +5,3 @@ import Data.Maybe hiding (n1,n2)
import Data.Maybe hiding (n1,n2)
f = 1
-
diff --git a/testsuite/tests/ghc-api/exactprint/T22919.stderr b/testsuite/tests/ghc-api/exactprint/T22919.stderr
index 5215026856..bd19cccee8 100644
--- a/testsuite/tests/ghc-api/exactprint/T22919.stderr
+++ b/testsuite/tests/ghc-api/exactprint/T22919.stderr
@@ -6,9 +6,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { T22919.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { T22919.hs:1:1 })
(AnnsModule
[(AddEpAnn AnnModule (EpaSpan { T22919.hs:1:1-6 }))
,(AddEpAnn AnnWhere (EpaSpan { T22919.hs:1:29-33 }))]
@@ -19,9 +17,7 @@
{ T22919.hs:2:7-9 })))
(EpaCommentsBalanced
[(L
- (Anchor
- { T22919.hs:1:15-27 }
- (UnchangedAnchor))
+ (EpaSpan { T22919.hs:1:15-27 })
(EpaComment
(EpaBlockComment
"{- comment -}")
@@ -33,25 +29,33 @@
(Nothing))
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { T22919.hs:1:8-13 })
+ ((EpAnnS
+ (EpaSpan { T22919.hs:1:8-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: T22919}))
(Nothing)
[]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T22919.hs:2:1-9 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T22919.hs:2:1-9 })
+ ((EpAnnS
+ (EpaSpan { T22919.hs:2:1-9 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T22919.hs:2:1-3 })
+ ((EpAnnS
+ (EpaSpan { T22919.hs:2:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: foo}))
(MG
@@ -59,18 +63,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { T22919.hs:2:1-9 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T22919.hs:2:1-9 })
+ ((EpAnnS
+ (EpaSpan { T22919.hs:2:1-9 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { T22919.hs:2:1-9 }
- (UnchangedAnchor))
+ (EpaSpan { T22919.hs:2:1-9 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { T22919.hs:2:1-3 })
+ ((EpAnnS
+ (EpaSpan { T22919.hs:2:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: foo}))
(Prefix)
@@ -80,14 +92,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { T22919.hs:2:5-9 })
+ (EpAnnS
+ (EpaSpan { T22919.hs:2:5-9 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { T22919.hs:2:5-9 }
- (UnchangedAnchor))
+ (EpaSpan { T22919.hs:2:5-9 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { T22919.hs:2:5 })))
@@ -95,12 +107,15 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { T22919.hs:2:7-9 })
+ ((EpAnnS
+ (EpaSpan { T22919.hs:2:7-9 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { T22919.hs:2:7-9 }
- (UnchangedAnchor))
+ (EpaSpan { T22919.hs:2:7-9 })
(NoEpAnns)
(EpaComments
[]))
diff --git a/testsuite/tests/ghc-api/exactprint/Test20239.stderr b/testsuite/tests/ghc-api/exactprint/Test20239.stderr
index 6ed6a94a1f..46d977c05e 100644
--- a/testsuite/tests/ghc-api/exactprint/Test20239.stderr
+++ b/testsuite/tests/ghc-api/exactprint/Test20239.stderr
@@ -6,9 +6,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { Test20239.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { Test20239.hs:1:1 })
(AnnsModule
[(AddEpAnn AnnModule (EpaSpan { Test20239.hs:1:1-6 }))
,(AddEpAnn AnnWhere (EpaSpan { Test20239.hs:1:18-22 }))]
@@ -19,17 +17,13 @@
{ Test20239.hs:7:34-63 })))
(EpaCommentsBalanced
[(L
- (Anchor
- { Test20239.hs:3:1-28 }
- (UnchangedAnchor))
+ (EpaSpan { Test20239.hs:3:1-28 })
(EpaComment
(EpaLineComment
"-- | Leading Haddock Comment")
{ Test20239.hs:1:18-22 }))]
[(L
- (Anchor
- { Test20239.hs:7:34-63 }
- (UnchangedAnchor))
+ (EpaSpan { Test20239.hs:7:34-63 })
(EpaComment
(EpaLineComment
"-- ^ Run any arbitrary IO code")
@@ -40,19 +34,22 @@
(Nothing))
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:1:8-16 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:1:8-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: Test20239}))
(Nothing)
[]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { Test20239.hs:(4,1)-(6,86) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { Test20239.hs:(4,1)-(6,86) })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:(4,1)-(6,86) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(InstD
(NoExtField)
(DataFamInstD
@@ -60,41 +57,50 @@
(DataFamInstDecl
(FamEqn
(EpAnn
- (Anchor
- { Test20239.hs:(4,1)-(6,86) }
- (UnchangedAnchor))
+ (EpaSpan { Test20239.hs:(4,1)-(6,86) })
[(AddEpAnn AnnData (EpaSpan { Test20239.hs:4:1-4 }))
,(AddEpAnn AnnInstance (EpaSpan { Test20239.hs:4:6-13 }))
,(AddEpAnn AnnEqual (EpaSpan { Test20239.hs:4:34 }))]
(EpaComments
[(L
- (Anchor
- { Test20239.hs:5:34-70 }
- (UnchangedAnchor))
+ (EpaSpan { Test20239.hs:5:34-70 })
(EpaComment
(EpaLineComment
"-- ^ Run a query against the database")
{ Test20239.hs:4:51-55 }))]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:4:15-20 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:4:15-20 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Method}))
(HsOuterImplicit
(NoExtField))
[(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:4:22-32 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:4:22-32 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { Test20239.hs:4:22-32 }
- (UnchangedAnchor))
+ (EpaSpan { Test20239.hs:4:22-32 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:4:22-32 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:4:22-32 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: PGMigration})))))]
(Prefix)
@@ -106,25 +112,26 @@
(DataTypeCons
(False)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { Test20239.hs:4:36-55 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddVbarAnn
- (EpaSpan { Test20239.hs:6:34 }))])
- (EpaComments
- [])) { Test20239.hs:4:36-55 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:4:36-55 })
+ (AnnListItem
+ [(AddVbarAnn
+ (EpaSpan { Test20239.hs:6:34 }))])
+ (EpaComments
+ [])))
(ConDeclH98
(EpAnn
- (Anchor
- { Test20239.hs:4:36-55 }
- (UnchangedAnchor))
+ (EpaSpan { Test20239.hs:4:36-55 })
[]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:4:36-49 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:4:36-49 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: MigrationQuery}))
(False)
@@ -142,33 +149,49 @@
(NoTokenLoc)
(HsNormalTok))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:4:51-55 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:4:51-55 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { Test20239.hs:4:51-55 }
- (UnchangedAnchor))
+ (EpaSpan { Test20239.hs:4:51-55 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:4:51-55 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:4:51-55 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Query})))))])
(Nothing)))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:6:36-86 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:6:36-86 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclH98
(EpAnn
- (Anchor
- { Test20239.hs:6:36-86 }
- (UnchangedAnchor))
+ (EpaSpan { Test20239.hs:6:36-86 })
[]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:6:36-48 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:6:36-48 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: MigrationCode}))
(False)
@@ -186,12 +209,15 @@
(NoTokenLoc)
(HsNormalTok))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:6:50-86 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:6:50-86 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnn
- (Anchor
- { Test20239.hs:6:50 }
- (UnchangedAnchor))
+ (EpaSpan { Test20239.hs:6:50 })
(AnnParen
(AnnParens)
(EpaSpan { Test20239.hs:6:50 })
@@ -199,12 +225,15 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:6:51-85 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:6:51-85 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { Test20239.hs:6:51-60 }
- (UnchangedAnchor))
+ (EpaSpan { Test20239.hs:6:51-60 })
(NoEpAnns)
(EpaComments
[]))
@@ -214,46 +243,70 @@
(EpaSpan { Test20239.hs:6:62-63 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:6:51-60 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:6:51-60 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { Test20239.hs:6:51-60 }
- (UnchangedAnchor))
+ (EpaSpan { Test20239.hs:6:51-60 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:6:51-60 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:6:51-60 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Connection}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:6:65-85 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:6:65-85 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:6:65-66 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:6:65-66 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { Test20239.hs:6:65-66 }
- (UnchangedAnchor))
+ (EpaSpan { Test20239.hs:6:65-66 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:6:65-66 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:6:65-66 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: IO}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:6:68-85 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:6:68-85 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnn
- (Anchor
- { Test20239.hs:6:68 }
- (UnchangedAnchor))
+ (EpaSpan { Test20239.hs:6:68 })
(AnnParen
(AnnParens)
(EpaSpan { Test20239.hs:6:68 })
@@ -261,50 +314,79 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:6:69-84 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:6:69-84 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:6:69-81 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:6:69-81 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:6:69-74 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:6:69-74 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { Test20239.hs:6:69-74 }
- (UnchangedAnchor))
+ (EpaSpan { Test20239.hs:6:69-74 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:6:69-74 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:6:69-74 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Either}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:6:76-81 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:6:76-81 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { Test20239.hs:6:76-81 }
- (UnchangedAnchor))
+ (EpaSpan { Test20239.hs:6:76-81 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:6:76-81 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:6:76-81 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: String}))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20239.hs:6:83-84 })
+ ((EpAnnS
+ (EpaSpan { Test20239.hs:6:83-84 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTupleTy
(EpAnn
- (Anchor
- { Test20239.hs:6:83 }
- (UnchangedAnchor))
+ (EpaSpan { Test20239.hs:6:83 })
(AnnParen
(AnnParens)
(EpaSpan { Test20239.hs:6:83 })
diff --git a/testsuite/tests/ghc-api/exactprint/ZeroWidthSemi.stderr b/testsuite/tests/ghc-api/exactprint/ZeroWidthSemi.stderr
index a148bb8309..3a081dd5b7 100644
--- a/testsuite/tests/ghc-api/exactprint/ZeroWidthSemi.stderr
+++ b/testsuite/tests/ghc-api/exactprint/ZeroWidthSemi.stderr
@@ -6,9 +6,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { ZeroWidthSemi.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { ZeroWidthSemi.hs:1:1 })
(AnnsModule
[(AddEpAnn AnnModule (EpaSpan { ZeroWidthSemi.hs:1:1-6 }))
,(AddEpAnn AnnWhere (EpaSpan { ZeroWidthSemi.hs:1:22-26 }))]
@@ -19,25 +17,19 @@
{ ZeroWidthSemi.hs:8:1-58 })))
(EpaCommentsBalanced
[(L
- (Anchor
- { ZeroWidthSemi.hs:3:1-19 }
- (UnchangedAnchor))
+ (EpaSpan { ZeroWidthSemi.hs:3:1-19 })
(EpaComment
(EpaLineComment
"-- leading comments")
{ ZeroWidthSemi.hs:1:22-26 }))
,(L
- (Anchor
- { ZeroWidthSemi.hs:5:1-19 }
- (UnchangedAnchor))
+ (EpaSpan { ZeroWidthSemi.hs:5:1-19 })
(EpaComment
(EpaLineComment
"-- Function comment")
{ ZeroWidthSemi.hs:3:1-19 }))]
[(L
- (Anchor
- { ZeroWidthSemi.hs:8:1-58 }
- (UnchangedAnchor))
+ (EpaSpan { ZeroWidthSemi.hs:8:1-58 })
(EpaComment
(EpaLineComment
"-- Trailing comment, should be in HsModule extension point")
@@ -48,25 +40,33 @@
(Nothing))
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { ZeroWidthSemi.hs:1:8-20 })
+ ((EpAnnS
+ (EpaSpan { ZeroWidthSemi.hs:1:8-20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: ZeroWidthSemi}))
(Nothing)
[]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { ZeroWidthSemi.hs:6:1-5 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { ZeroWidthSemi.hs:6:1-5 })
+ ((EpAnnS
+ (EpaSpan { ZeroWidthSemi.hs:6:1-5 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { ZeroWidthSemi.hs:6:1 })
+ ((EpAnnS
+ (EpaSpan { ZeroWidthSemi.hs:6:1 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))
(MG
@@ -74,18 +74,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { ZeroWidthSemi.hs:6:1-5 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { ZeroWidthSemi.hs:6:1-5 })
+ ((EpAnnS
+ (EpaSpan { ZeroWidthSemi.hs:6:1-5 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { ZeroWidthSemi.hs:6:1-5 }
- (UnchangedAnchor))
+ (EpaSpan { ZeroWidthSemi.hs:6:1-5 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { ZeroWidthSemi.hs:6:1 })
+ ((EpAnnS
+ (EpaSpan { ZeroWidthSemi.hs:6:1 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))
(Prefix)
@@ -95,14 +103,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { ZeroWidthSemi.hs:6:3-5 })
+ (EpAnnS
+ (EpaSpan { ZeroWidthSemi.hs:6:3-5 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { ZeroWidthSemi.hs:6:3-5 }
- (UnchangedAnchor))
+ (EpaSpan { ZeroWidthSemi.hs:6:3-5 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { ZeroWidthSemi.hs:6:3 })))
@@ -110,12 +118,15 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { ZeroWidthSemi.hs:6:5 })
+ ((EpAnnS
+ (EpaSpan { ZeroWidthSemi.hs:6:5 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOverLit
(EpAnn
- (Anchor
- { ZeroWidthSemi.hs:6:5 }
- (UnchangedAnchor))
+ (EpaSpan { ZeroWidthSemi.hs:6:5 })
(NoEpAnns)
(EpaComments
[]))
diff --git a/testsuite/tests/haddock/should_compile_flag_haddock/T17544.stderr b/testsuite/tests/haddock/should_compile_flag_haddock/T17544.stderr
index a9b337cd49..4999784464 100644
--- a/testsuite/tests/haddock/should_compile_flag_haddock/T17544.stderr
+++ b/testsuite/tests/haddock/should_compile_flag_haddock/T17544.stderr
@@ -6,9 +6,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { T17544.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:1:1 })
(AnnsModule
[(AddEpAnn AnnModule (EpaSpan { T17544.hs:3:1-6 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:3:15-19 }))]
@@ -26,27 +24,28 @@
(Nothing))
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:3:8-13 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:3:8-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: T17544}))
(Nothing)
[]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544.hs:(5,1)-(6,16) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544.hs:(5,1)-(6,16) })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:(5,1)-(6,16) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(ClassDecl
((,)
(EpAnn
- (Anchor
- { T17544.hs:(5,1)-(6,16) }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:(5,1)-(6,16) })
[(AddEpAnn AnnClass (EpaSpan { T17544.hs:5:1-5 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:5:12-16 }))]
(EpaComments
@@ -56,35 +55,51 @@
(3))
(Nothing)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:5:7-8 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:5:7-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: C1}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:5:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:5:10 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T17544.hs:5:10 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:5:10 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:5:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:5:10 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
[]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:6:3-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:6:3-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ClassOpSig
(EpAnn
- (Anchor
- { T17544.hs:6:3-4 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:6:3-4 })
(AnnSig
(AddEpAnn AnnDcolon (EpaSpan { T17544.hs:6:6-7 }))
[])
@@ -92,22 +107,35 @@
[]))
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:6:3-4 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:6:3-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: f1}))]
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:6:9-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:6:9-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:6:9-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:6:9-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { T17544.hs:6:9 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:6:9 })
(NoEpAnns)
(EpaComments
[]))
@@ -117,37 +145,58 @@
(EpaSpan { T17544.hs:6:11-12 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:6:9 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:6:9 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:6:9 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:6:9 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:6:9 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:6:9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:6:14-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:6:14-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsDocTy
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:6:14-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:6:14-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:6:14-16 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:6:14-16 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:6:14-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:6:14-16 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))
(L
@@ -168,22 +217,18 @@
[]
[])))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544.hs:(9,1)-(10,16) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544.hs:(9,1)-(10,16) })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:(9,1)-(10,16) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(ClassDecl
((,)
(EpAnn
- (Anchor
- { T17544.hs:(9,1)-(10,16) }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:(9,1)-(10,16) })
[(AddEpAnn AnnClass (EpaSpan { T17544.hs:9:1-5 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:9:12-16 }))]
(EpaComments
@@ -193,35 +238,51 @@
(3))
(Nothing)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:9:7-8 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:9:7-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: C2}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:9:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:9:10 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T17544.hs:9:10 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:9:10 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:9:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:9:10 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
[]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:10:3-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:10:3-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ClassOpSig
(EpAnn
- (Anchor
- { T17544.hs:10:3-4 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:10:3-4 })
(AnnSig
(AddEpAnn AnnDcolon (EpaSpan { T17544.hs:10:6-7 }))
[])
@@ -229,22 +290,35 @@
[]))
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:10:3-4 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:10:3-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: f2}))]
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:10:9-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:10:9-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:10:9-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:10:9-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { T17544.hs:10:9 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:10:9 })
(NoEpAnns)
(EpaComments
[]))
@@ -254,33 +328,49 @@
(EpaSpan { T17544.hs:10:11-12 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:10:9 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:10:9 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:10:9 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:10:9 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:10:9 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:10:9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:10:14-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:10:14-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:10:14-16 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:10:14-16 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:10:14-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:10:14-16 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))))))]
{Bag(LocatedA (HsBind GhcPs)):
@@ -288,7 +378,12 @@
[]
[]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:11:3-20 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:11:3-20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(DocCommentPrev
(L
{ T17544.hs:11:3-20 }
@@ -303,22 +398,18 @@
[]))
[]))))])))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544.hs:(13,1)-(14,16) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544.hs:(13,1)-(14,16) })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:(13,1)-(14,16) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(ClassDecl
((,)
(EpAnn
- (Anchor
- { T17544.hs:(13,1)-(14,16) }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:(13,1)-(14,16) })
[(AddEpAnn AnnClass (EpaSpan { T17544.hs:13:1-5 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:13:12-16 }))]
(EpaComments
@@ -328,35 +419,51 @@
(3))
(Nothing)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:13:7-8 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:13:7-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: C3}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:13:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:13:10 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T17544.hs:13:10 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:13:10 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:13:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:13:10 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
[]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:14:3-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:14:3-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ClassOpSig
(EpAnn
- (Anchor
- { T17544.hs:14:3-4 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:14:3-4 })
(AnnSig
(AddEpAnn AnnDcolon (EpaSpan { T17544.hs:14:6-7 }))
[])
@@ -364,22 +471,35 @@
[]))
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:14:3-4 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:14:3-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: f3}))]
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:14:9-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:14:9-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:14:9-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:14:9-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { T17544.hs:14:9 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:14:9 })
(NoEpAnns)
(EpaComments
[]))
@@ -389,33 +509,49 @@
(EpaSpan { T17544.hs:14:11-12 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:14:9 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:14:9 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:14:9 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:14:9 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:14:9 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:14:9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:14:14-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:14:14-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:14:14-16 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:14:14-16 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:14:14-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:14:14-16 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))))))]
{Bag(LocatedA (HsBind GhcPs)):
@@ -424,7 +560,12 @@
[]
[])))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:15:1-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:15:1-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(DocD
(NoExtField)
(DocCommentPrev
@@ -441,22 +582,18 @@
[]))
[])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544.hs:(17,1)-(20,16) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544.hs:(17,1)-(20,16) })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:(17,1)-(20,16) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(ClassDecl
((,)
(EpAnn
- (Anchor
- { T17544.hs:(17,1)-(20,16) }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:(17,1)-(20,16) })
[(AddEpAnn AnnClass (EpaSpan { T17544.hs:17:1-5 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:17:12-16 }))]
(EpaComments
@@ -466,35 +603,51 @@
(3))
(Nothing)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:17:7-8 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:17:7-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: C4}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:17:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:17:10 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T17544.hs:17:10 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:17:10 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:17:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:17:10 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
[]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:18:3-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:18:3-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ClassOpSig
(EpAnn
- (Anchor
- { T17544.hs:18:3-4 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:18:3-4 })
(AnnSig
(AddEpAnn AnnDcolon (EpaSpan { T17544.hs:18:6-7 }))
[])
@@ -502,22 +655,35 @@
[]))
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:18:3-4 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:18:3-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: f4}))]
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:18:9-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:18:9-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:18:9-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:18:9-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { T17544.hs:18:9 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:18:9 })
(NoEpAnns)
(EpaComments
[]))
@@ -527,42 +693,61 @@
(EpaSpan { T17544.hs:18:11-12 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:18:9 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:18:9 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:18:9 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:18:9 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:18:9 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:18:9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:18:14-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:18:14-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:18:14-16 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:18:14-16 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:18:14-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:18:14-16 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:20:3-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:20:3-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ClassOpSig
(EpAnn
- (Anchor
- { T17544.hs:20:3-4 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:20:3-4 })
(AnnSig
(AddEpAnn AnnDcolon (EpaSpan { T17544.hs:20:6-7 }))
[])
@@ -570,22 +755,35 @@
[]))
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:20:3-4 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:20:3-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: g4}))]
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:20:9-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:20:9-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:20:9-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:20:9-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { T17544.hs:20:9 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:20:9 })
(NoEpAnns)
(EpaComments
[]))
@@ -595,33 +793,49 @@
(EpaSpan { T17544.hs:20:11-12 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:20:9 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:20:9 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:20:9 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:20:9 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:20:9 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:20:9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:20:14-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:20:14-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:20:14-16 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:20:14-16 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:20:14-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:20:14-16 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))))))]
{Bag(LocatedA (HsBind GhcPs)):
@@ -630,22 +844,18 @@
[]
[])))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544.hs:22:1-30 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544.hs:22:1-30 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:22:1-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(ClassDecl
((,)
(EpAnn
- (Anchor
- { T17544.hs:22:1-30 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:22:1-30 })
[(AddEpAnn AnnClass (EpaSpan { T17544.hs:22:1-5 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:22:12-16 }))
,(AddEpAnn AnnOpenC (EpaSpan { T17544.hs:22:18 }))
@@ -664,24 +874,37 @@
(HsTok)))
(Nothing)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:22:7-8 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:22:7-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: C5}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:22:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:22:10 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T17544.hs:22:10 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:22:10 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:22:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:22:10 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
@@ -690,36 +913,52 @@
{Bag(LocatedA (HsBind GhcPs)):
[]}
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:22:20-28 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:22:20-28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FamilyDecl
(EpAnn
- (Anchor
- { T17544.hs:22:20-28 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:22:20-28 })
[(AddEpAnn AnnData (EpaSpan { T17544.hs:22:20-23 }))]
(EpaComments
[]))
(DataFamily)
(NotTopLevel)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:22:25-26 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:22:25-26 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D5}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:22:28 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:22:28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T17544.hs:22:28 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:22:28 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:22:28 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:22:28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
@@ -733,14 +972,12 @@
[]
[])))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544.hs:(23,1)-(25,18) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544.hs:(23,1)-(25,18) })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:(23,1)-(25,18) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(InstD
(NoExtField)
(ClsInstD
@@ -748,52 +985,76 @@
(ClsInstDecl
((,)
(EpAnn
- (Anchor
- { T17544.hs:23:1-8 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:23:1-8 })
[(AddEpAnn AnnInstance (EpaSpan { T17544.hs:23:1-8 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:23:17-21 }))]
(EpaComments
[]))
(NoAnnSortKey))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:23:10-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:23:10-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:23:10-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:23:10-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:23:10-11 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:23:10-11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:23:10-11 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:23:10-11 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:23:10-11 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:23:10-11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: C5}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:23:13-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:23:13-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:23:13-15 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:23:13-15 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:23:13-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:23:13-15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))))
{Bag(LocatedA (HsBind GhcPs)):
@@ -801,37 +1062,53 @@
[]
[]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:(24,3)-(25,18) })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:(24,3)-(25,18) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(DataFamInstDecl
(FamEqn
(EpAnn
- (Anchor
- { T17544.hs:(24,3)-(25,18) }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:(24,3)-(25,18) })
[(AddEpAnn AnnData (EpaSpan { T17544.hs:24:3-6 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:24:15-19 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:24:8-9 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:24:8-9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D5}))
(HsOuterImplicit
(NoExtField))
[(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:24:11-13 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:24:11-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:24:11-13 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:24:11-13 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:24:11-13 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:24:11-13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int})))))]
(Prefix)
@@ -843,18 +1120,26 @@
(DataTypeCons
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:25:5-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:25:5-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclGADT
(EpAnn
- (Anchor
- { T17544.hs:25:5-18 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:25:5-18 })
[]
(EpaComments
[]))
(:|
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:25:5-8 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:25:5-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: MkD5}))
[])
@@ -863,66 +1148,88 @@
(EpaSpan { T17544.hs:25:10-11 }))
(HsNormalTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:25:13-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:25:13-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOuterImplicit
(NoExtField)))
(Nothing)
(PrefixConGADT
[])
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:25:13-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:25:13-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:25:13-14 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:25:13-14 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:25:13-14 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:25:13-14 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:25:13-14 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:25:13-14 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D5}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:25:16-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:25:16-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:25:16-18 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:25:16-18 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:25:16-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:25:16-18 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))
(Nothing)))])
[]))))]
(Nothing)))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544.hs:28:1-30 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544.hs:28:1-30 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:28:1-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(ClassDecl
((,)
(EpAnn
- (Anchor
- { T17544.hs:28:1-30 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:28:1-30 })
[(AddEpAnn AnnClass (EpaSpan { T17544.hs:28:1-5 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:28:12-16 }))
,(AddEpAnn AnnOpenC (EpaSpan { T17544.hs:28:18 }))
@@ -941,24 +1248,37 @@
(HsTok)))
(Nothing)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:28:7-8 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:28:7-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: C6}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:28:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:28:10 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T17544.hs:28:10 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:28:10 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:28:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:28:10 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
@@ -967,36 +1287,52 @@
{Bag(LocatedA (HsBind GhcPs)):
[]}
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:28:20-28 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:28:20-28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FamilyDecl
(EpAnn
- (Anchor
- { T17544.hs:28:20-28 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:28:20-28 })
[(AddEpAnn AnnData (EpaSpan { T17544.hs:28:20-23 }))]
(EpaComments
[]))
(DataFamily)
(NotTopLevel)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:28:25-26 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:28:25-26 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D6}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:28:28 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:28:28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T17544.hs:28:28 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:28:28 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:28:28 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:28:28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
@@ -1010,14 +1346,12 @@
[]
[])))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544.hs:(29,1)-(31,18) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544.hs:(29,1)-(31,18) })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:(29,1)-(31,18) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(InstD
(NoExtField)
(ClsInstD
@@ -1025,52 +1359,76 @@
(ClsInstDecl
((,)
(EpAnn
- (Anchor
- { T17544.hs:29:1-8 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:29:1-8 })
[(AddEpAnn AnnInstance (EpaSpan { T17544.hs:29:1-8 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:29:17-21 }))]
(EpaComments
[]))
(NoAnnSortKey))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:29:10-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:29:10-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:29:10-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:29:10-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:29:10-11 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:29:10-11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:29:10-11 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:29:10-11 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:29:10-11 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:29:10-11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: C6}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:29:13-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:29:13-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:29:13-15 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:29:13-15 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:29:13-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:29:13-15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))))
{Bag(LocatedA (HsBind GhcPs)):
@@ -1078,37 +1436,53 @@
[]
[]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:(30,3)-(31,18) })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:(30,3)-(31,18) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(DataFamInstDecl
(FamEqn
(EpAnn
- (Anchor
- { T17544.hs:(30,3)-(31,18) }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:(30,3)-(31,18) })
[(AddEpAnn AnnData (EpaSpan { T17544.hs:30:3-6 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:30:15-19 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:30:8-9 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:30:8-9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D6}))
(HsOuterImplicit
(NoExtField))
[(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:30:11-13 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:30:11-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:30:11-13 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:30:11-13 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:30:11-13 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:30:11-13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int})))))]
(Prefix)
@@ -1120,18 +1494,26 @@
(DataTypeCons
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:31:5-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:31:5-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclGADT
(EpAnn
- (Anchor
- { T17544.hs:31:5-18 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:31:5-18 })
[]
(EpaComments
[]))
(:|
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:31:5-8 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:31:5-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: MkD6}))
[])
@@ -1140,66 +1522,88 @@
(EpaSpan { T17544.hs:31:10-11 }))
(HsNormalTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:31:13-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:31:13-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOuterImplicit
(NoExtField)))
(Nothing)
(PrefixConGADT
[])
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:31:13-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:31:13-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:31:13-14 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:31:13-14 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:31:13-14 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:31:13-14 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:31:13-14 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:31:13-14 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D6}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:31:16-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:31:16-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:31:16-18 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:31:16-18 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:31:16-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:31:16-18 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))
(Nothing)))])
[]))))]
(Nothing)))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544.hs:34:1-30 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544.hs:34:1-30 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:34:1-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(ClassDecl
((,)
(EpAnn
- (Anchor
- { T17544.hs:34:1-30 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:34:1-30 })
[(AddEpAnn AnnClass (EpaSpan { T17544.hs:34:1-5 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:34:12-16 }))
,(AddEpAnn AnnOpenC (EpaSpan { T17544.hs:34:18 }))
@@ -1218,24 +1622,37 @@
(HsTok)))
(Nothing)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:34:7-8 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:34:7-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: C7}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:34:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:34:10 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T17544.hs:34:10 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:34:10 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:34:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:34:10 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
@@ -1244,36 +1661,52 @@
{Bag(LocatedA (HsBind GhcPs)):
[]}
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:34:20-28 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:34:20-28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FamilyDecl
(EpAnn
- (Anchor
- { T17544.hs:34:20-28 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:34:20-28 })
[(AddEpAnn AnnData (EpaSpan { T17544.hs:34:20-23 }))]
(EpaComments
[]))
(DataFamily)
(NotTopLevel)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:34:25-26 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:34:25-26 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D7}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:34:28 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:34:28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T17544.hs:34:28 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:34:28 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:34:28 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:34:28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
@@ -1287,14 +1720,12 @@
[]
[])))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544.hs:(35,1)-(37,18) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544.hs:(35,1)-(37,18) })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:(35,1)-(37,18) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(InstD
(NoExtField)
(ClsInstD
@@ -1302,52 +1733,76 @@
(ClsInstDecl
((,)
(EpAnn
- (Anchor
- { T17544.hs:35:1-8 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:35:1-8 })
[(AddEpAnn AnnInstance (EpaSpan { T17544.hs:35:1-8 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:35:17-21 }))]
(EpaComments
[]))
(NoAnnSortKey))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:35:10-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:35:10-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:35:10-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:35:10-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:35:10-11 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:35:10-11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:35:10-11 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:35:10-11 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:35:10-11 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:35:10-11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: C7}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:35:13-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:35:13-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:35:13-15 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:35:13-15 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:35:13-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:35:13-15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))))
{Bag(LocatedA (HsBind GhcPs)):
@@ -1355,37 +1810,53 @@
[]
[]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:(36,3)-(37,18) })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:(36,3)-(37,18) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(DataFamInstDecl
(FamEqn
(EpAnn
- (Anchor
- { T17544.hs:(36,3)-(37,18) }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:(36,3)-(37,18) })
[(AddEpAnn AnnData (EpaSpan { T17544.hs:36:3-6 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:36:15-19 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:36:8-9 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:36:8-9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D7}))
(HsOuterImplicit
(NoExtField))
[(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:36:11-13 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:36:11-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:36:11-13 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:36:11-13 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:36:11-13 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:36:11-13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int})))))]
(Prefix)
@@ -1397,18 +1868,26 @@
(DataTypeCons
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:37:5-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:37:5-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclGADT
(EpAnn
- (Anchor
- { T17544.hs:37:5-18 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:37:5-18 })
[]
(EpaComments
[]))
(:|
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:37:5-8 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:37:5-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: MkD7}))
[])
@@ -1417,66 +1896,88 @@
(EpaSpan { T17544.hs:37:10-11 }))
(HsNormalTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:37:13-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:37:13-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOuterImplicit
(NoExtField)))
(Nothing)
(PrefixConGADT
[])
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:37:13-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:37:13-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:37:13-14 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:37:13-14 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:37:13-14 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:37:13-14 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:37:13-14 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:37:13-14 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D7}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:37:16-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:37:16-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:37:16-18 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:37:16-18 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:37:16-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:37:16-18 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))
(Nothing)))])
[]))))]
(Nothing)))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544.hs:40:1-30 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544.hs:40:1-30 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:40:1-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(ClassDecl
((,)
(EpAnn
- (Anchor
- { T17544.hs:40:1-30 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:40:1-30 })
[(AddEpAnn AnnClass (EpaSpan { T17544.hs:40:1-5 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:40:12-16 }))
,(AddEpAnn AnnOpenC (EpaSpan { T17544.hs:40:18 }))
@@ -1495,24 +1996,37 @@
(HsTok)))
(Nothing)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:40:7-8 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:40:7-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: C8}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:40:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:40:10 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T17544.hs:40:10 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:40:10 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:40:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:40:10 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
@@ -1521,36 +2035,52 @@
{Bag(LocatedA (HsBind GhcPs)):
[]}
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:40:20-28 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:40:20-28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FamilyDecl
(EpAnn
- (Anchor
- { T17544.hs:40:20-28 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:40:20-28 })
[(AddEpAnn AnnData (EpaSpan { T17544.hs:40:20-23 }))]
(EpaComments
[]))
(DataFamily)
(NotTopLevel)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:40:25-26 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:40:25-26 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D8}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:40:28 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:40:28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T17544.hs:40:28 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:40:28 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:40:28 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:40:28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
@@ -1564,14 +2094,12 @@
[]
[])))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544.hs:(41,1)-(43,18) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544.hs:(41,1)-(43,18) })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:(41,1)-(43,18) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(InstD
(NoExtField)
(ClsInstD
@@ -1579,52 +2107,76 @@
(ClsInstDecl
((,)
(EpAnn
- (Anchor
- { T17544.hs:41:1-8 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:41:1-8 })
[(AddEpAnn AnnInstance (EpaSpan { T17544.hs:41:1-8 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:41:17-21 }))]
(EpaComments
[]))
(NoAnnSortKey))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:41:10-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:41:10-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:41:10-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:41:10-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:41:10-11 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:41:10-11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:41:10-11 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:41:10-11 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:41:10-11 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:41:10-11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: C8}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:41:13-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:41:13-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:41:13-15 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:41:13-15 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:41:13-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:41:13-15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))))
{Bag(LocatedA (HsBind GhcPs)):
@@ -1632,37 +2184,53 @@
[]
[]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:(42,3)-(43,18) })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:(42,3)-(43,18) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(DataFamInstDecl
(FamEqn
(EpAnn
- (Anchor
- { T17544.hs:(42,3)-(43,18) }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:(42,3)-(43,18) })
[(AddEpAnn AnnData (EpaSpan { T17544.hs:42:3-6 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:42:15-19 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:42:8-9 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:42:8-9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D8}))
(HsOuterImplicit
(NoExtField))
[(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:42:11-13 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:42:11-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:42:11-13 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:42:11-13 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:42:11-13 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:42:11-13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int})))))]
(Prefix)
@@ -1674,18 +2242,26 @@
(DataTypeCons
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:43:5-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:43:5-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclGADT
(EpAnn
- (Anchor
- { T17544.hs:43:5-18 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:43:5-18 })
[]
(EpaComments
[]))
(:|
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:43:5-8 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:43:5-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: MkD8}))
[])
@@ -1694,66 +2270,88 @@
(EpaSpan { T17544.hs:43:10-11 }))
(HsNormalTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:43:13-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:43:13-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOuterImplicit
(NoExtField)))
(Nothing)
(PrefixConGADT
[])
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:43:13-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:43:13-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:43:13-14 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:43:13-14 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:43:13-14 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:43:13-14 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:43:13-14 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:43:13-14 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D8}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:43:16-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:43:16-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:43:16-18 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:43:16-18 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:43:16-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:43:16-18 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))
(Nothing)))])
[]))))]
(Nothing)))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544.hs:46:1-30 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544.hs:46:1-30 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:46:1-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(ClassDecl
((,)
(EpAnn
- (Anchor
- { T17544.hs:46:1-30 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:46:1-30 })
[(AddEpAnn AnnClass (EpaSpan { T17544.hs:46:1-5 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:46:12-16 }))
,(AddEpAnn AnnOpenC (EpaSpan { T17544.hs:46:18 }))
@@ -1772,24 +2370,37 @@
(HsTok)))
(Nothing)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:46:7-8 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:46:7-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: C9}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:46:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:46:10 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T17544.hs:46:10 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:46:10 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:46:10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:46:10 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
@@ -1798,36 +2409,52 @@
{Bag(LocatedA (HsBind GhcPs)):
[]}
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:46:20-28 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:46:20-28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FamilyDecl
(EpAnn
- (Anchor
- { T17544.hs:46:20-28 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:46:20-28 })
[(AddEpAnn AnnData (EpaSpan { T17544.hs:46:20-23 }))]
(EpaComments
[]))
(DataFamily)
(NotTopLevel)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:46:25-26 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:46:25-26 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D9}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:46:28 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:46:28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T17544.hs:46:28 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:46:28 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:46:28 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:46:28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
@@ -1841,14 +2468,12 @@
[]
[])))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544.hs:(47,1)-(49,18) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544.hs:(47,1)-(49,18) })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:(47,1)-(49,18) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(InstD
(NoExtField)
(ClsInstD
@@ -1856,52 +2481,76 @@
(ClsInstDecl
((,)
(EpAnn
- (Anchor
- { T17544.hs:47:1-8 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:47:1-8 })
[(AddEpAnn AnnInstance (EpaSpan { T17544.hs:47:1-8 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:47:17-21 }))]
(EpaComments
[]))
(NoAnnSortKey))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:47:10-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:47:10-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:47:10-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:47:10-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:47:10-11 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:47:10-11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:47:10-11 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:47:10-11 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:47:10-11 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:47:10-11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: C9}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:47:13-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:47:13-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:47:13-15 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:47:13-15 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:47:13-15 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:47:13-15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))))
{Bag(LocatedA (HsBind GhcPs)):
@@ -1909,37 +2558,53 @@
[]
[]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:(48,3)-(49,18) })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:(48,3)-(49,18) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(DataFamInstDecl
(FamEqn
(EpAnn
- (Anchor
- { T17544.hs:(48,3)-(49,18) }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:(48,3)-(49,18) })
[(AddEpAnn AnnData (EpaSpan { T17544.hs:48:3-6 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:48:15-19 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:48:8-9 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:48:8-9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D9}))
(HsOuterImplicit
(NoExtField))
[(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:48:11-13 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:48:11-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:48:11-13 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:48:11-13 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:48:11-13 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:48:11-13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int})))))]
(Prefix)
@@ -1951,18 +2616,26 @@
(DataTypeCons
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:49:5-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:49:5-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclGADT
(EpAnn
- (Anchor
- { T17544.hs:49:5-18 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:49:5-18 })
[]
(EpaComments
[]))
(:|
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:49:5-8 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:49:5-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: MkD9}))
[])
@@ -1971,66 +2644,88 @@
(EpaSpan { T17544.hs:49:10-11 }))
(HsNormalTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:49:13-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:49:13-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOuterImplicit
(NoExtField)))
(Nothing)
(PrefixConGADT
[])
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:49:13-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:49:13-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:49:13-14 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:49:13-14 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:49:13-14 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:49:13-14 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:49:13-14 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:49:13-14 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D9}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:49:16-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:49:16-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:49:16-18 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:49:16-18 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:49:16-18 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:49:16-18 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))
(Nothing)))])
[]))))]
(Nothing)))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544.hs:52:1-32 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544.hs:52:1-32 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:52:1-32 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(ClassDecl
((,)
(EpAnn
- (Anchor
- { T17544.hs:52:1-32 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:52:1-32 })
[(AddEpAnn AnnClass (EpaSpan { T17544.hs:52:1-5 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:52:13-17 }))
,(AddEpAnn AnnOpenC (EpaSpan { T17544.hs:52:19 }))
@@ -2049,24 +2744,37 @@
(HsTok)))
(Nothing)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:52:7-9 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:52:7-9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: C10}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:52:11 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:52:11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T17544.hs:52:11 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:52:11 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:52:11 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:52:11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
@@ -2075,36 +2783,52 @@
{Bag(LocatedA (HsBind GhcPs)):
[]}
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:52:21-30 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:52:21-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FamilyDecl
(EpAnn
- (Anchor
- { T17544.hs:52:21-30 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:52:21-30 })
[(AddEpAnn AnnData (EpaSpan { T17544.hs:52:21-24 }))]
(EpaComments
[]))
(DataFamily)
(NotTopLevel)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:52:26-28 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:52:26-28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D10}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:52:30 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:52:30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T17544.hs:52:30 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:52:30 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:52:30 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:52:30 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
@@ -2118,14 +2842,12 @@
[]
[])))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544.hs:(53,1)-(55,20) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544.hs:(53,1)-(55,20) })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:(53,1)-(55,20) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(InstD
(NoExtField)
(ClsInstD
@@ -2133,52 +2855,76 @@
(ClsInstDecl
((,)
(EpAnn
- (Anchor
- { T17544.hs:53:1-8 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:53:1-8 })
[(AddEpAnn AnnInstance (EpaSpan { T17544.hs:53:1-8 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:53:18-22 }))]
(EpaComments
[]))
(NoAnnSortKey))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:53:10-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:53:10-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:53:10-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:53:10-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:53:10-12 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:53:10-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:53:10-12 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:53:10-12 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:53:10-12 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:53:10-12 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: C10}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:53:14-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:53:14-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:53:14-16 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:53:14-16 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:53:14-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:53:14-16 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))))
{Bag(LocatedA (HsBind GhcPs)):
@@ -2186,37 +2932,53 @@
[]
[]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:(54,3)-(55,20) })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:(54,3)-(55,20) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(DataFamInstDecl
(FamEqn
(EpAnn
- (Anchor
- { T17544.hs:(54,3)-(55,20) }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:(54,3)-(55,20) })
[(AddEpAnn AnnData (EpaSpan { T17544.hs:54:3-6 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544.hs:54:16-20 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:54:8-10 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:54:8-10 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D10}))
(HsOuterImplicit
(NoExtField))
[(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:54:12-14 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:54:12-14 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:54:12-14 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:54:12-14 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:54:12-14 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:54:12-14 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int})))))]
(Prefix)
@@ -2228,18 +2990,26 @@
(DataTypeCons
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:55:5-20 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:55:5-20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclGADT
(EpAnn
- (Anchor
- { T17544.hs:55:5-20 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:55:5-20 })
[]
(EpaComments
[]))
(:|
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:55:5-9 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:55:5-9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: MkD10}))
[])
@@ -2248,51 +3018,82 @@
(EpaSpan { T17544.hs:55:11-12 }))
(HsNormalTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:55:14-20 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:55:14-20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOuterImplicit
(NoExtField)))
(Nothing)
(PrefixConGADT
[])
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:55:14-20 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:55:14-20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:55:14-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:55:14-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:55:14-16 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:55:14-16 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:55:14-16 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:55:14-16 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: D10}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:55:18-20 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:55:18-20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544.hs:55:18-20 }
- (UnchangedAnchor))
+ (EpaSpan { T17544.hs:55:18-20 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:55:18-20 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:55:18-20 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))
(Nothing)))])
[]))))]
(Nothing)))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544.hs:56:1-38 })
+ ((EpAnnS
+ (EpaSpan { T17544.hs:56:1-38 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(DocD
(NoExtField)
(DocCommentPrev
diff --git a/testsuite/tests/haddock/should_compile_flag_haddock/T17544_kw.stderr b/testsuite/tests/haddock/should_compile_flag_haddock/T17544_kw.stderr
index e406cca52e..e7bafd2908 100644
--- a/testsuite/tests/haddock/should_compile_flag_haddock/T17544_kw.stderr
+++ b/testsuite/tests/haddock/should_compile_flag_haddock/T17544_kw.stderr
@@ -6,9 +6,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { T17544_kw.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { T17544_kw.hs:1:1 })
(AnnsModule
[(AddEpAnn AnnModule (EpaSpan { T17544_kw.hs:11:1-6 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544_kw.hs:13:13-17 }))]
@@ -38,32 +36,38 @@
[]))))
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:13:3-11 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:13:3-11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: T17544_kw}))
(Nothing)
[]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544_kw.hs:(15,1)-(16,20) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544_kw.hs:(15,1)-(16,20) })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:(15,1)-(16,20) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(DataDecl
(EpAnn
- (Anchor
- { T17544_kw.hs:(15,1)-(16,20) }
- (UnchangedAnchor))
+ (EpaSpan { T17544_kw.hs:(15,1)-(16,20) })
[(AddEpAnn AnnData (EpaSpan { T17544_kw.hs:15:1-4 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544_kw.hs:16:3-7 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:15:6-8 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:15:6-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Foo}))
(HsQTvs
@@ -78,18 +82,26 @@
(DataTypeCons
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:16:9-20 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:16:9-20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclGADT
(EpAnn
- (Anchor
- { T17544_kw.hs:16:9-20 }
- (UnchangedAnchor))
+ (EpaSpan { T17544_kw.hs:16:9-20 })
[]
(EpaComments
[]))
(:|
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:16:9-13 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:16:9-13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: MkFoo}))
[])
@@ -98,25 +110,38 @@
(EpaSpan { T17544_kw.hs:16:15-16 }))
(HsNormalTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:16:18-20 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:16:18-20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOuterImplicit
(NoExtField)))
(Nothing)
(PrefixConGADT
[])
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:16:18-20 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:16:18-20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544_kw.hs:16:18-20 }
- (UnchangedAnchor))
+ (EpaSpan { T17544_kw.hs:16:18-20 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:16:18-20 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:16:18-20 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Foo}))))
(Just
@@ -134,27 +159,28 @@
[])))))])
[]))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544_kw.hs:(18,1)-(19,26) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544_kw.hs:(18,1)-(19,26) })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:(18,1)-(19,26) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(DataDecl
(EpAnn
- (Anchor
- { T17544_kw.hs:(18,1)-(19,26) }
- (UnchangedAnchor))
+ (EpaSpan { T17544_kw.hs:(18,1)-(19,26) })
[(AddEpAnn AnnNewtype (EpaSpan { T17544_kw.hs:18:1-7 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544_kw.hs:19:3-7 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:18:9-11 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:18:9-11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Bar}))
(HsQTvs
@@ -168,18 +194,26 @@
(Nothing)
(NewTypeCon
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:19:9-26 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:19:9-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclGADT
(EpAnn
- (Anchor
- { T17544_kw.hs:19:9-26 }
- (UnchangedAnchor))
+ (EpaSpan { T17544_kw.hs:19:9-26 })
[]
(EpaComments
[]))
(:|
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:19:9-13 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:19:9-13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: MkBar}))
[])
@@ -188,7 +222,12 @@
(EpaSpan { T17544_kw.hs:19:15-16 }))
(HsNormalTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:19:18-26 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:19:18-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOuterImplicit
(NoExtField)))
(Nothing)
@@ -200,19 +239,15 @@
(EpaSpan { T17544_kw.hs:19:21-22 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544_kw.hs:19:18-19 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544_kw.hs:19:18-19 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:19:18-19 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTupleTy
(EpAnn
- (Anchor
- { T17544_kw.hs:19:18 }
- (UnchangedAnchor))
+ (EpaSpan { T17544_kw.hs:19:18 })
(AnnParen
(AnnParens)
(EpaSpan { T17544_kw.hs:19:18 })
@@ -222,18 +257,26 @@
(HsBoxedOrConstraintTuple)
[])))])
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:19:24-26 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:19:24-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544_kw.hs:19:24-26 }
- (UnchangedAnchor))
+ (EpaSpan { T17544_kw.hs:19:24-26 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:19:24-26 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:19:24-26 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Bar}))))
(Just
@@ -251,22 +294,18 @@
[]))))))
[]))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T17544_kw.hs:(21,1)-(24,18) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T17544_kw.hs:(21,1)-(24,18) })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:(21,1)-(24,18) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(ClassDecl
((,)
(EpAnn
- (Anchor
- { T17544_kw.hs:(21,1)-(24,18) }
- (UnchangedAnchor))
+ (EpaSpan { T17544_kw.hs:(21,1)-(24,18) })
[(AddEpAnn AnnClass (EpaSpan { T17544_kw.hs:21:1-5 }))
,(AddEpAnn AnnWhere (EpaSpan { T17544_kw.hs:23:3-7 }))]
(EpaComments
@@ -276,35 +315,51 @@
(5))
(Nothing)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:21:7-9 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:21:7-9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Cls}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:21:11 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:21:11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T17544_kw.hs:21:11 }
- (UnchangedAnchor))
+ (EpaSpan { T17544_kw.hs:21:11 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:21:11 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:21:11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
[]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:24:5-18 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:24:5-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ClassOpSig
(EpAnn
- (Anchor
- { T17544_kw.hs:24:5-13 }
- (UnchangedAnchor))
+ (EpaSpan { T17544_kw.hs:24:5-13 })
(AnnSig
(AddEpAnn AnnDcolon (EpaSpan { T17544_kw.hs:24:15-16 }))
[])
@@ -312,28 +367,46 @@
[]))
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:24:5-13 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:24:5-13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: clsmethod}))]
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:24:18 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:24:18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:24:18 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:24:18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T17544_kw.hs:24:18 }
- (UnchangedAnchor))
+ (EpaSpan { T17544_kw.hs:24:18 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:24:18 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:24:18 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))))))]
{Bag(LocatedA (HsBind GhcPs)):
@@ -341,7 +414,12 @@
[]
[]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T17544_kw.hs:22:5-34 })
+ ((EpAnnS
+ (EpaSpan { T17544_kw.hs:22:5-34 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(DocCommentNext
(L
{ T17544_kw.hs:22:5-34 }
@@ -355,5 +433,3 @@
" Bad comment for clsmethod"))
[]))
[]))))])))]))
-
-
diff --git a/testsuite/tests/module/mod185.stderr b/testsuite/tests/module/mod185.stderr
index e32cc1496d..22d717c33c 100644
--- a/testsuite/tests/module/mod185.stderr
+++ b/testsuite/tests/module/mod185.stderr
@@ -6,9 +6,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { mod185.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { mod185.hs:1:1 })
(AnnsModule
[]
[]
@@ -26,13 +24,16 @@
(Nothing)
(Nothing)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { mod185.hs:3:1-24 })
+ ((EpAnnS
+ (EpaSpan { mod185.hs:3:1-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ImportDecl
(XImportDeclPass
(EpAnn
- (Anchor
- { mod185.hs:3:1-6 }
- (UnchangedAnchor))
+ (EpaSpan { mod185.hs:3:1-6 })
(EpAnnImportDecl
(EpaSpan { mod185.hs:3:1-6 })
(Nothing)
@@ -46,7 +47,12 @@
(NoSourceText)
(False))
(L
- (SrcSpanAnn (EpAnnNotUsed) { mod185.hs:3:8-14 })
+ ((EpAnnS
+ (EpaSpan { mod185.hs:3:8-14 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: Prelude})
(NoRawPkgQual)
(NotBoot)
@@ -55,20 +61,23 @@
(Nothing)
(Nothing)))]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { mod185.hs:5:1-24 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { mod185.hs:5:1-24 })
+ ((EpAnnS
+ (EpaSpan { mod185.hs:5:1-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { mod185.hs:5:1-4 })
+ ((EpAnnS
+ (EpaSpan { mod185.hs:5:1-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: main}))
(MG
@@ -76,18 +85,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { mod185.hs:5:1-24 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { mod185.hs:5:1-24 })
+ ((EpAnnS
+ (EpaSpan { mod185.hs:5:1-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { mod185.hs:5:1-24 }
- (UnchangedAnchor))
+ (EpaSpan { mod185.hs:5:1-24 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { mod185.hs:5:1-4 })
+ ((EpAnnS
+ (EpaSpan { mod185.hs:5:1-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: main}))
(Prefix)
@@ -97,14 +114,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { mod185.hs:5:6-24 })
+ (EpAnnS
+ (EpaSpan { mod185.hs:5:6-24 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { mod185.hs:5:6-24 }
- (UnchangedAnchor))
+ (EpaSpan { mod185.hs:5:6-24 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { mod185.hs:5:6 })))
@@ -112,11 +129,21 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { mod185.hs:5:8-24 })
+ ((EpAnnS
+ (EpaSpan { mod185.hs:5:8-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { mod185.hs:5:8-24 })
+ ((EpAnnS
+ (EpaSpan { mod185.hs:5:8-24 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Qual
{ModuleName: Prelude}
{OccName: undefined}))))))]
diff --git a/testsuite/tests/parser/should_compile/DumpParsedAst.stderr b/testsuite/tests/parser/should_compile/DumpParsedAst.stderr
index b2dc86fece..ab8cf74670 100644
--- a/testsuite/tests/parser/should_compile/DumpParsedAst.stderr
+++ b/testsuite/tests/parser/should_compile/DumpParsedAst.stderr
@@ -6,9 +6,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { DumpParsedAst.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:1:1 })
(AnnsModule
[(AddEpAnn AnnModule (EpaSpan { DumpParsedAst.hs:5:1-6 }))
,(AddEpAnn AnnWhere (EpaSpan { DumpParsedAst.hs:5:22-26 }))]
@@ -26,17 +24,25 @@
(Nothing))
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:5:8-20 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:5:8-20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: DumpParsedAst}))
(Nothing)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:6:1-16 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:6:1-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ImportDecl
(XImportDeclPass
(EpAnn
- (Anchor
- { DumpParsedAst.hs:6:1-6 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:6:1-6 })
(EpAnnImportDecl
(EpaSpan { DumpParsedAst.hs:6:1-6 })
(Nothing)
@@ -49,7 +55,12 @@
(NoSourceText)
(False))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:6:8-16 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:6:8-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: Data.Kind})
(NoRawPkgQual)
(NotBoot)
@@ -58,27 +69,28 @@
(Nothing)
(Nothing)))]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpParsedAst.hs:8:1-30 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpParsedAst.hs:8:1-30 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:8:1-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(DataDecl
(EpAnn
- (Anchor
- { DumpParsedAst.hs:8:1-30 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:8:1-30 })
[(AddEpAnn AnnData (EpaSpan { DumpParsedAst.hs:8:1-4 }))
,(AddEpAnn AnnEqual (EpaSpan { DumpParsedAst.hs:8:12 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:8:6-10 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:8:6-10 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Peano}))
(HsQTvs
@@ -93,25 +105,26 @@
(DataTypeCons
(False)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpParsedAst.hs:8:14-17 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddVbarAnn
- (EpaSpan { DumpParsedAst.hs:8:19 }))])
- (EpaComments
- [])) { DumpParsedAst.hs:8:14-17 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:8:14-17 })
+ (AnnListItem
+ [(AddVbarAnn
+ (EpaSpan { DumpParsedAst.hs:8:19 }))])
+ (EpaComments
+ [])))
(ConDeclH98
(EpAnn
- (Anchor
- { DumpParsedAst.hs:8:14-17 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:8:14-17 })
[]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:8:14-17 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:8:14-17 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Zero}))
(False)
@@ -122,17 +135,25 @@
[])
(Nothing)))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:8:21-30 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:8:21-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclH98
(EpAnn
- (Anchor
- { DumpParsedAst.hs:8:21-30 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:8:21-30 })
[]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:8:21-24 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:8:21-24 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Succ}))
(False)
@@ -150,40 +171,44 @@
(NoTokenLoc)
(HsNormalTok))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:8:26-30 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:8:26-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:8:26-30 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:8:26-30 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:8:26-30 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:8:26-30 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Peano})))))])
(Nothing)))])
[]))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpParsedAst.hs:(10,1)-(12,24) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpParsedAst.hs:(10,1)-(12,24) })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:(10,1)-(12,24) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(FamDecl
(NoExtField)
(FamilyDecl
(EpAnn
- (Anchor
- { DumpParsedAst.hs:(10,1)-(12,24) }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:(10,1)-(12,24) })
[(AddEpAnn AnnType (EpaSpan { DumpParsedAst.hs:10:1-4 }))
,(AddEpAnn AnnFamily (EpaSpan { DumpParsedAst.hs:10:6-11 }))
,(AddEpAnn AnnDcolon (EpaSpan { DumpParsedAst.hs:10:32-33 }))
@@ -193,29 +218,40 @@
(ClosedTypeFamily
(Just
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:3-36 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:3-36 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FamEqn
(EpAnn
- (Anchor
- { DumpParsedAst.hs:11:3-36 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:11:3-36 })
[(AddEpAnn AnnEqual (EpaSpan { DumpParsedAst.hs:11:19 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:3-8 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:3-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Length}))
(HsOuterImplicit
(NoExtField))
[(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:10-17 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:10-17 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnn
- (Anchor
- { DumpParsedAst.hs:11:10 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:11:10 })
(AnnParen
(AnnParens)
(EpaSpan { DumpParsedAst.hs:11:10 })
@@ -223,71 +259,113 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:11-16 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:11-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOpTy
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:11 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:11:11 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:11:11 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:11 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:13 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Exact
{Name: :}))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:15-16 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:15-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:11:15-16 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:11:15-16 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:15-16 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:15-16 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: as})))))))))]
(Prefix)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:21-36 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:21-36 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:21-24 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:21-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:11:21-24 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:11:21-24 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:21-24 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:21-24 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Succ}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:26-36 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:26-36 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnn
- (Anchor
- { DumpParsedAst.hs:11:26 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:11:26 })
(AnnParen
(AnnParens)
(EpaSpan { DumpParsedAst.hs:11:26 })
@@ -295,63 +373,95 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:27-35 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:27-35 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:27-32 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:27-32 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:11:27-32 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:11:27-32 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:27-32 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:27-32 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Length}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:34-35 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:34-35 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:11:34-35 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:11:34-35 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:11:34-35 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:11:34-35 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: as}))))))))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:12:3-24 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:12:3-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FamEqn
(EpAnn
- (Anchor
- { DumpParsedAst.hs:12:3-24 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:12:3-24 })
[(AddEpAnn AnnEqual (EpaSpan { DumpParsedAst.hs:12:19 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:12:3-8 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:12:3-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Length}))
(HsOuterImplicit
(NoExtField))
[(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:12:10-12 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:12:10-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsExplicitListTy
(EpAnn
- (Anchor
- { DumpParsedAst.hs:12:10 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:12:10 })
[(AddEpAnn AnnSimpleQuote (EpaSpan { DumpParsedAst.hs:12:10 }))
,(AddEpAnn AnnOpenS (EpaSpan { DumpParsedAst.hs:12:11 }))
,(AddEpAnn AnnCloseS (EpaSpan { DumpParsedAst.hs:12:12 }))]
@@ -361,34 +471,50 @@
[])))]
(Prefix)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:12:21-24 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:12:21-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:12:21-24 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:12:21-24 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:12:21-24 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:12:21-24 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Zero}))))))]))
(TopLevel)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:10:13-18 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:10:13-18 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Length}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:10:20-30 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:10:20-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(KindedTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:10:20-30 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:10:20-30 })
[(AddEpAnn AnnDcolon (EpaSpan { DumpParsedAst.hs:10:24-25 }))
,(AddEpAnn AnnOpenP (EpaSpan { DumpParsedAst.hs:10:20 }))
,(AddEpAnn AnnCloseP (EpaSpan { DumpParsedAst.hs:10:30 }))]
@@ -396,16 +522,24 @@
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:10:21-22 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:10:21-22 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: as}))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:10:27-29 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:10:27-29 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsListTy
(EpAnn
- (Anchor
- { DumpParsedAst.hs:10:27 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:10:27 })
(AnnParen
(AnnParensSquare)
(EpaSpan { DumpParsedAst.hs:10:27 })
@@ -413,18 +547,26 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:10:28 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:10:28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:10:28 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:10:28 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:10:28 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:10:28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: k}))))))))])
(Prefix)
@@ -435,69 +577,89 @@
(KindSig
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:10:35-39 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:10:35-39 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:10:35-39 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:10:35-39 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:10:35-39 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:10:35-39 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Peano}))))))
(Nothing)))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpParsedAst.hs:15:1-29 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpParsedAst.hs:15:1-29 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:15:1-29 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(DataDecl
(EpAnn
- (Anchor
- { DumpParsedAst.hs:15:1-29 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:15:1-29 })
[(AddEpAnn AnnData (EpaSpan { DumpParsedAst.hs:15:1-4 }))
,(AddEpAnn AnnEqual (EpaSpan { DumpParsedAst.hs:15:19 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:15:6 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:15:6 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: T}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:15:8 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:15:8 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:15:8 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:15:8 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:15:8 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:15:8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: f}))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:15:10-17 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:15:10-17 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(KindedTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:15:10-17 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:15:10-17 })
[(AddEpAnn AnnDcolon (EpaSpan { DumpParsedAst.hs:15:13-14 }))
,(AddEpAnn AnnOpenP (EpaSpan { DumpParsedAst.hs:15:10 }))
,(AddEpAnn AnnCloseP (EpaSpan { DumpParsedAst.hs:15:17 }))]
@@ -505,22 +667,35 @@
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:15:11 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:15:11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:15:16 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:15:16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:15:16 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:15:16 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:15:16 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:15:16 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: k}))))))])
(Prefix)
@@ -532,17 +707,25 @@
(DataTypeCons
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:15:21-29 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:15:21-29 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclH98
(EpAnn
- (Anchor
- { DumpParsedAst.hs:15:21-29 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:15:21-29 })
[]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:15:21-23 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:15:21-23 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: MkT}))
(False)
@@ -560,12 +743,15 @@
(NoTokenLoc)
(HsNormalTok))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:15:25-29 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:15:25-29 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnn
- (Anchor
- { DumpParsedAst.hs:15:25 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:15:25 })
(AnnParen
(AnnParens)
(EpaSpan { DumpParsedAst.hs:15:25 })
@@ -573,59 +759,76 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:15:26-28 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:15:26-28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:15:26 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:15:26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:15:26 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:15:26 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:15:26 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:15:26 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: f}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:15:28 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:15:28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:15:28 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:15:28 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:15:28 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:15:28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a})))))))))])
(Nothing)))])
[]))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpParsedAst.hs:(17,1)-(18,30) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpParsedAst.hs:(17,1)-(18,30) })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:(17,1)-(18,30) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(FamDecl
(NoExtField)
(FamilyDecl
(EpAnn
- (Anchor
- { DumpParsedAst.hs:(17,1)-(18,30) }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:(17,1)-(18,30) })
[(AddEpAnn AnnType (EpaSpan { DumpParsedAst.hs:17:1-4 }))
,(AddEpAnn AnnFamily (EpaSpan { DumpParsedAst.hs:17:6-11 }))
,(AddEpAnn AnnDcolon (EpaSpan { DumpParsedAst.hs:17:42-43 }))
@@ -635,17 +838,25 @@
(ClosedTypeFamily
(Just
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:3-30 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:3-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FamEqn
(EpAnn
- (Anchor
- { DumpParsedAst.hs:18:3-30 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:18:3-30 })
[(AddEpAnn AnnEqual (EpaSpan { DumpParsedAst.hs:18:17 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:3-4 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:3-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: F1}))
(HsOuterImplicit
@@ -656,78 +867,125 @@
(EpaSpan { DumpParsedAst.hs:18:6 }))
(HsTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:7-11 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:7-11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:18:7-11 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:18:7-11 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:7-11 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:7-11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Peano})))))
,(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:13 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:18:13 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:18:13 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:13 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a})))))
,(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:15 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:18:15 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:18:15 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:15 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: f})))))]
(Prefix)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:19-30 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:19-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:19-28 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:19-28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:19-26 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:19-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppKindTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:19 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:19 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:18:19 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:18:19 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:19 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:19 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: T}))))
(L
@@ -735,64 +993,96 @@
(EpaSpan { DumpParsedAst.hs:18:21 }))
(HsTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:22-26 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:22-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:18:22-26 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:18:22-26 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:22-26 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:22-26 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Peano}))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:28 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:18:28 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:18:28 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:28 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: f}))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:30 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:18:30 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:18:30 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:18:30 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:18:30 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))))))]))
(TopLevel)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:17:13-14 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:17:13-14 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: F1}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:17:16-23 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:17:16-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(KindedTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:17:16-23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:17:16-23 })
[(AddEpAnn AnnDcolon (EpaSpan { DumpParsedAst.hs:17:19-20 }))
,(AddEpAnn AnnOpenP (EpaSpan { DumpParsedAst.hs:17:16 }))
,(AddEpAnn AnnCloseP (EpaSpan { DumpParsedAst.hs:17:23 }))]
@@ -800,31 +1090,47 @@
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:17:17 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:17:17 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:17:22 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:17:22 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:17:22 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:17:22 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:17:22 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:17:22 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: k}))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:17:25-40 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:17:25-40 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(KindedTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:17:25-40 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:17:25-40 })
[(AddEpAnn AnnDcolon (EpaSpan { DumpParsedAst.hs:17:28-29 }))
,(AddEpAnn AnnOpenP (EpaSpan { DumpParsedAst.hs:17:25 }))
,(AddEpAnn AnnCloseP (EpaSpan { DumpParsedAst.hs:17:40 }))]
@@ -832,16 +1138,24 @@
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:17:26 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:17:26 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: f}))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:17:31-39 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:17:31-39 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { DumpParsedAst.hs:17:31 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:17:31 })
(NoEpAnns)
(EpaComments
[]))
@@ -851,33 +1165,49 @@
(EpaSpan { DumpParsedAst.hs:17:33-34 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:17:31 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:17:31 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:17:31 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:17:31 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:17:31 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:17:31 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: k}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:17:36-39 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:17:36-39 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:17:36-39 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:17:36-39 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:17:36-39 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:17:36-39 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type}))))))))])
(Prefix)
@@ -888,39 +1218,43 @@
(KindSig
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:17:45-48 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:17:45-48 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:17:45-48 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:17:45-48 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:17:45-48 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:17:45-48 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type}))))))
(Nothing)))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpParsedAst.hs:20:1-33 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpParsedAst.hs:20:1-33 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:20:1-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(FamDecl
(NoExtField)
(FamilyDecl
(EpAnn
- (Anchor
- { DumpParsedAst.hs:20:1-33 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:20:1-33 })
[(AddEpAnn AnnData (EpaSpan { DumpParsedAst.hs:20:1-4 }))
,(AddEpAnn AnnFamily (EpaSpan { DumpParsedAst.hs:20:6-11 }))
,(AddEpAnn AnnDcolon (EpaSpan { DumpParsedAst.hs:20:17-18 }))]
@@ -929,7 +1263,12 @@
(DataFamily)
(TopLevel)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:20:13-15 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:20:13-15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Nat}))
(HsQTvs
@@ -943,12 +1282,15 @@
(KindSig
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:20:20-33 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:20:20-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { DumpParsedAst.hs:20:20 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:20:20 })
(NoEpAnns)
(EpaComments
[]))
@@ -958,27 +1300,38 @@
(EpaSpan { DumpParsedAst.hs:20:22-23 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:20:20 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:20:20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:20:20 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:20:20 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:20:20 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:20:20 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: k}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:20:25-33 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:20:25-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { DumpParsedAst.hs:20:25 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:20:25 })
(NoEpAnns)
(EpaComments
[]))
@@ -988,45 +1341,59 @@
(EpaSpan { DumpParsedAst.hs:20:27-28 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:20:25 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:20:25 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:20:25 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:20:25 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:20:25 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:20:25 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: k}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:20:30-33 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:20:30-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:20:30-33 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:20:30-33 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:20:30-33 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:20:30-33 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type}))))))))))
(Nothing)))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpParsedAst.hs:(21,1)-(22,45) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpParsedAst.hs:(21,1)-(22,45) })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:(21,1)-(22,45) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(InstD
(NoExtField)
(DataFamInstD
@@ -1034,9 +1401,7 @@
(DataFamInstDecl
(FamEqn
(EpAnn
- (Anchor
- { DumpParsedAst.hs:(21,1)-(22,45) }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:(21,1)-(22,45) })
[(AddEpAnn AnnNewtype (EpaSpan { DumpParsedAst.hs:21:1-7 }))
,(AddEpAnn AnnInstance (EpaSpan { DumpParsedAst.hs:21:9-16 }))
,(AddEpAnn AnnDcolon (EpaSpan { DumpParsedAst.hs:21:39-40 }))
@@ -1044,19 +1409,27 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:18-20 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:18-20 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Nat}))
(HsOuterImplicit
(NoExtField))
[(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:22-37 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:22-37 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnn
- (Anchor
- { DumpParsedAst.hs:21:22 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:21:22 })
(AnnParen
(AnnParens)
(EpaSpan { DumpParsedAst.hs:21:22 })
@@ -1064,37 +1437,51 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:23-36 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:23-36 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsKindSig
(EpAnn
- (Anchor
- { DumpParsedAst.hs:21:23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:21:23 })
[(AddEpAnn AnnDcolon (EpaSpan { DumpParsedAst.hs:21:25-26 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:23 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:21:23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:21:23 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:23 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:23 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:28-36 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:28-36 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { DumpParsedAst.hs:21:28 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:21:28 })
(NoEpAnns)
(EpaComments
[]))
@@ -1104,33 +1491,49 @@
(EpaSpan { DumpParsedAst.hs:21:30-31 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:28 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:21:28 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:21:28 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:28 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: k}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:33-36 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:33-36 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:21:33-36 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:21:33-36 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:33-36 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:33-36 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type})))))))))))]
(Prefix)
@@ -1140,12 +1543,15 @@
(Nothing)
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:42-60 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:42-60 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { DumpParsedAst.hs:21:42-52 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:21:42-52 })
(NoEpAnns)
(EpaComments
[]))
@@ -1155,12 +1561,15 @@
(EpaSpan { DumpParsedAst.hs:21:54-55 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:42-52 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:42-52 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnn
- (Anchor
- { DumpParsedAst.hs:21:42 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:21:42 })
(AnnParen
(AnnParens)
(EpaSpan { DumpParsedAst.hs:21:42 })
@@ -1168,12 +1577,15 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:43-51 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:43-51 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { DumpParsedAst.hs:21:43 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:21:43 })
(NoEpAnns)
(EpaComments
[]))
@@ -1183,64 +1595,96 @@
(EpaSpan { DumpParsedAst.hs:21:45-46 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:43 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:43 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:21:43 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:21:43 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:43 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:43 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: k}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:48-51 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:48-51 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:21:48-51 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:21:48-51 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:48-51 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:48-51 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type}))))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:57-60 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:57-60 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:21:57-60 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:21:57-60 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:21:57-60 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:21:57-60 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type})))))))
(NewTypeCon
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:3-45 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:3-45 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclGADT
(EpAnn
- (Anchor
- { DumpParsedAst.hs:22:3-45 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:22:3-45 })
[]
(EpaComments
[]))
(:|
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:3-5 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:3-5 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Nat}))
[])
@@ -1249,7 +1693,12 @@
(EpaSpan { DumpParsedAst.hs:22:7-8 }))
(HsNormalTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:10-45 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:10-45 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOuterImplicit
(NoExtField)))
(Nothing)
@@ -1261,19 +1710,15 @@
(EpaSpan { DumpParsedAst.hs:22:36-37 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpParsedAst.hs:22:10-34 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpParsedAst.hs:22:10-34 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:10-34 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnn
- (Anchor
- { DumpParsedAst.hs:22:10 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:22:10 })
(AnnParen
(AnnParens)
(EpaSpan { DumpParsedAst.hs:22:10 })
@@ -1281,41 +1726,55 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:11-33 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:11-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsForAllTy
(NoExtField)
(HsForAllInvis
(EpAnn
- (Anchor
- { DumpParsedAst.hs:22:11-16 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:22:11-16 })
((,)
(AddEpAnn AnnForall (EpaSpan { DumpParsedAst.hs:22:11-16 }))
(AddEpAnn AnnDot (EpaSpan { DumpParsedAst.hs:22:20 })))
(EpaComments
[]))
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:18-19 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:18-19 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:22:18-19 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:22:18-19 })
[]
(EpaComments
[]))
(SpecifiedSpec)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:18-19 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:18-19 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: xx}))))])
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:22-33 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:22-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { DumpParsedAst.hs:22:22-25 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:22:22-25 })
(NoEpAnns)
(EpaComments
[]))
@@ -1325,143 +1784,222 @@
(EpaSpan { DumpParsedAst.hs:22:27-28 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:22-25 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:22-25 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:22 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:22 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:22:22 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:22:22 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:22 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:22 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: f}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:24-25 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:24-25 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:22:24-25 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:22:24-25 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:24-25 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:24-25 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: xx}))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:30-33 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:30-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:30 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:22:30 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:22:30 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:30 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:30 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: g}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:32-33 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:32-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:22:32-33 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:22:32-33 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:32-33 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:32-33 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: xx})))))))))))))])
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:39-45 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:39-45 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:39-43 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:39-43 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:39-41 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:39-41 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:22:39-41 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:22:39-41 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:39-41 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:39-41 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Nat}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:43 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:43 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:22:43 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:22:43 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:43 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:43 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: f}))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:45 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:45 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpParsedAst.hs:22:45 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:22:45 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:22:45 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:22:45 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: g}))))))
(Nothing))))
[]))))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpParsedAst.hs:24:1-23 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpParsedAst.hs:24:1-23 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:24:1-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:24:1-4 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:24:1-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: main}))
(MG
@@ -1469,18 +2007,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:24:1-23 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:24:1-23 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:24:1-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpParsedAst.hs:24:1-23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:24:1-23 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:24:1-4 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:24:1-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: main}))
(Prefix)
@@ -1490,14 +2036,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpParsedAst.hs:24:6-23 })
+ (EpAnnS
+ (EpaSpan { DumpParsedAst.hs:24:6-23 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpParsedAst.hs:24:6-23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:24:6-23 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { DumpParsedAst.hs:24:6 })))
@@ -1505,30 +2051,46 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:24:8-23 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:24:8-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { DumpParsedAst.hs:24:8-23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:24:8-23 })
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:24:8-15 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:24:8-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:24:8-15 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:24:8-15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: putStrLn}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAst.hs:24:17-23 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAst.hs:24:17-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { DumpParsedAst.hs:24:17-23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAst.hs:24:17-23 })
(NoEpAnns)
(EpaComments
[]))
@@ -1537,5 +2099,3 @@
{FastString: "hello"})))))))]
(EmptyLocalBinds
(NoExtField)))))])))))]))
-
-
diff --git a/testsuite/tests/parser/should_compile/DumpParsedAstComments.stderr b/testsuite/tests/parser/should_compile/DumpParsedAstComments.stderr
index 7fce349864..7bdc641837 100644
--- a/testsuite/tests/parser/should_compile/DumpParsedAstComments.stderr
+++ b/testsuite/tests/parser/should_compile/DumpParsedAstComments.stderr
@@ -6,9 +6,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { DumpParsedAstComments.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:1:1 })
(AnnsModule
[(AddEpAnn AnnModule (EpaSpan { DumpParsedAstComments.hs:5:1-6 }))
,(AddEpAnn AnnWhere (EpaSpan { DumpParsedAstComments.hs:5:30-34
@@ -20,33 +18,25 @@
{ DumpParsedAstComments.hs:19:17-23 })))
(EpaCommentsBalanced
[(L
- (Anchor
- { DumpParsedAstComments.hs:1:1-28 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:1:1-28 })
(EpaComment
(EpaBlockComment
"{-# LANGUAGE Haskell2010 #-}")
{ DumpParsedAstComments.hs:1:1 }))
,(L
- (Anchor
- { DumpParsedAstComments.hs:(2,1)-(4,4) }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:(2,1)-(4,4) })
(EpaComment
(EpaBlockComment
"{-/n Block comment at the beginning/n -}")
{ DumpParsedAstComments.hs:1:1-28 }))
,(L
- (Anchor
- { DumpParsedAstComments.hs:7:1-20 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:7:1-20 })
(EpaComment
(EpaLineComment
"-- comment 1 for bar")
{ DumpParsedAstComments.hs:5:30-34 }))
,(L
- (Anchor
- { DumpParsedAstComments.hs:8:1-20 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:8:1-20 })
(EpaComment
(EpaLineComment
"-- comment 2 for bar")
@@ -58,25 +48,33 @@
(Nothing))
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:5:8-28 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:5:8-28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: DumpParsedAstComments}))
(Nothing)
[]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpParsedAstComments.hs:9:1-7 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpParsedAstComments.hs:9:1-7 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:9:1-7 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:9:1-3 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:9:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: bar}))
(MG
@@ -84,18 +82,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:9:1-7 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:9:1-7 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:9:1-7 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpParsedAstComments.hs:9:1-7 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:9:1-7 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:9:1-3 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:9:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: bar}))
(Prefix)
@@ -105,14 +111,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpParsedAstComments.hs:9:5-7 })
+ (EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:9:5-7 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpParsedAstComments.hs:9:5-7 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:9:5-7 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { DumpParsedAstComments.hs:9:5 })))
@@ -120,12 +126,15 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:9:7 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:9:7 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOverLit
(EpAnn
- (Anchor
- { DumpParsedAstComments.hs:9:7 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:9:7 })
(NoEpAnns)
(EpaComments
[]))
@@ -139,44 +148,40 @@
(EmptyLocalBinds
(NoExtField)))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpParsedAstComments.hs:(14,1)-(16,3) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [(L
- (Anchor
- { DumpParsedAstComments.hs:10:1-16 }
- (UnchangedAnchor))
- (EpaComment
- (EpaLineComment
- "-- Other comment")
- { DumpParsedAstComments.hs:9:7 }))
- ,(L
- (Anchor
- { DumpParsedAstComments.hs:12:1-20 }
- (UnchangedAnchor))
- (EpaComment
- (EpaLineComment
- "-- comment 1 for foo")
- { DumpParsedAstComments.hs:10:1-16 }))
- ,(L
- (Anchor
- { DumpParsedAstComments.hs:13:1-20 }
- (UnchangedAnchor))
- (EpaComment
- (EpaLineComment
- "-- comment 2 for foo")
- { DumpParsedAstComments.hs:12:1-20
- }))])) { DumpParsedAstComments.hs:(14,1)-(16,3) })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:(14,1)-(16,3) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [(L
+ (EpaSpan { DumpParsedAstComments.hs:10:1-16 })
+ (EpaComment
+ (EpaLineComment
+ "-- Other comment")
+ { DumpParsedAstComments.hs:9:7 }))
+ ,(L
+ (EpaSpan { DumpParsedAstComments.hs:12:1-20 })
+ (EpaComment
+ (EpaLineComment
+ "-- comment 1 for foo")
+ { DumpParsedAstComments.hs:10:1-16 }))
+ ,(L
+ (EpaSpan { DumpParsedAstComments.hs:13:1-20 })
+ (EpaComment
+ (EpaLineComment
+ "-- comment 2 for foo")
+ { DumpParsedAstComments.hs:12:1-20 }))])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:14:1-3 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:14:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: foo}))
(MG
@@ -185,19 +190,26 @@
(SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:(14,1)-(16,3)
})
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:(14,1)-(16,3)
- })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:(14,1)-(16,3) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpParsedAstComments.hs:(14,1)-(16,3) }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:(14,1)-(16,3) })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:14:1-3 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:14:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: foo}))
(Prefix)
@@ -207,14 +219,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpParsedAstComments.hs:(14,5)-(16,3) })
+ (EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:(14,5)-(16,3) })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpParsedAstComments.hs:(14,5)-(16,3) }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:(14,5)-(16,3) })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { DumpParsedAstComments.hs:14:5 })))
@@ -222,27 +234,25 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:(14,7)-(16,3)
- })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:(14,7)-(16,3) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsDo
(EpAnn
- (Anchor
- { DumpParsedAstComments.hs:(14,7)-(16,3) }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:(14,7)-(16,3) })
(AnnList
(Just
- (Anchor
- { DumpParsedAstComments.hs:16:3 }
- (UnchangedAnchor)))
+ (EpaSpan { DumpParsedAstComments.hs:16:3 }))
(Nothing)
(Nothing)
[(AddEpAnn AnnDo (EpaSpan { DumpParsedAstComments.hs:14:7-8 }))]
[])
(EpaComments
[(L
- (Anchor
- { DumpParsedAstComments.hs:15:3-19 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:15:3-19 })
(EpaComment
(EpaLineComment
"-- normal comment")
@@ -251,14 +261,10 @@
(Nothing))
(L
(SrcSpanAnn (EpAnn
- (Anchor
- { DumpParsedAstComments.hs:16:3 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:16:3 })
(AnnList
(Just
- (Anchor
- { DumpParsedAstComments.hs:16:3 }
- (UnchangedAnchor)))
+ (EpaSpan { DumpParsedAstComments.hs:16:3 }))
(Nothing)
(Nothing)
[]
@@ -266,16 +272,24 @@
(EpaComments
[])) { DumpParsedAstComments.hs:16:3 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:16:3 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:16:3 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(BodyStmt
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:16:3 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:16:3 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOverLit
(EpAnn
- (Anchor
- { DumpParsedAstComments.hs:16:3 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:16:3 })
(NoEpAnns)
(EpaComments
[]))
@@ -291,28 +305,28 @@
(EmptyLocalBinds
(NoExtField)))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpParsedAstComments.hs:19:1-23 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [(L
- (Anchor
- { DumpParsedAstComments.hs:18:1-20 }
- (UnchangedAnchor))
- (EpaComment
- (EpaLineComment
- "-- | Haddock comment")
- { DumpParsedAstComments.hs:16:3
- }))])) { DumpParsedAstComments.hs:19:1-23 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:19:1-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [(L
+ (EpaSpan { DumpParsedAstComments.hs:18:1-20 })
+ (EpaComment
+ (EpaLineComment
+ "-- | Haddock comment")
+ { DumpParsedAstComments.hs:16:3 }))])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:19:1-4 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:19:1-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: main}))
(MG
@@ -320,18 +334,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:19:1-23 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:19:1-23 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:19:1-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpParsedAstComments.hs:19:1-23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:19:1-23 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:19:1-4 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:19:1-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: main}))
(Prefix)
@@ -341,14 +363,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpParsedAstComments.hs:19:6-23 })
+ (EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:19:6-23 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpParsedAstComments.hs:19:6-23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:19:6-23 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { DumpParsedAstComments.hs:19:6 })))
@@ -356,30 +378,46 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:19:8-23 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:19:8-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { DumpParsedAstComments.hs:19:8-23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:19:8-23 })
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:19:8-15 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:19:8-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:19:8-15 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:19:8-15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: putStrLn}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpParsedAstComments.hs:19:17-23 })
+ ((EpAnnS
+ (EpaSpan { DumpParsedAstComments.hs:19:17-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { DumpParsedAstComments.hs:19:17-23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpParsedAstComments.hs:19:17-23 })
(NoEpAnns)
(EpaComments
[]))
diff --git a/testsuite/tests/parser/should_compile/DumpRenamedAst.stderr b/testsuite/tests/parser/should_compile/DumpRenamedAst.stderr
index e297ee8b84..03b2e88cc1 100644
--- a/testsuite/tests/parser/should_compile/DumpRenamedAst.stderr
+++ b/testsuite/tests/parser/should_compile/DumpRenamedAst.stderr
@@ -11,31 +11,44 @@
(NonRecursive)
{Bag(LocatedA (HsBind Name)):
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpRenamedAst.hs:34:1-23 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpRenamedAst.hs:34:1-23 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:34:1-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FunBind
{NameSet:
[]}
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:34:1-4 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:34:1-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.main})
(MG
(FromSource)
(L
(SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:34:1-23 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:34:1-23 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:34:1-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnnNotUsed)
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:34:1-4 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:34:1-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.main})
(Prefix)
(NoSrcStrict))
@@ -44,36 +57,54 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpRenamedAst.hs:34:6-23 })
+ (EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:34:6-23 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnnNotUsed)
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:34:8-23 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:34:8-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:34:8-23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:34:8-23 })
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:34:8-15 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:34:8-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:34:8-15 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:34:8-15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: System.IO.putStrLn})))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:34:17-23 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:34:17-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:34:17-23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:34:17-23 })
(NoEpAnns)
(EpaComments
[]))
@@ -87,21 +118,24 @@
[(TyClGroup
(NoExtField)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpRenamedAst.hs:10:1-30 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpRenamedAst.hs:10:1-30 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:10:1-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(DataDecl
(DataDeclRn
(True)
{NameSet:
[{Name: DumpRenamedAst.Peano}]})
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:10:6-10 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:10:6-10 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.Peano})
(HsQTvs
[]
@@ -115,19 +149,22 @@
(DataTypeCons
(False)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpRenamedAst.hs:10:14-17 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddVbarAnn
- (EpaSpan { DumpRenamedAst.hs:10:19 }))])
- (EpaComments
- [])) { DumpRenamedAst.hs:10:14-17 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:10:14-17 })
+ (AnnListItem
+ [(AddVbarAnn
+ (EpaSpan { DumpRenamedAst.hs:10:19 }))])
+ (EpaComments
+ [])))
(ConDeclH98
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:10:14-17 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:10:14-17 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.Zero})
(False)
[]
@@ -137,11 +174,21 @@
[])
(Nothing)))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:10:21-30 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:10:21-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclH98
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:10:21-24 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:10:21-24 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.Succ})
(False)
[]
@@ -158,12 +205,22 @@
(NoTokenLoc)
(HsNormalTok))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:10:26-30 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:10:26-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:10:26-30 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:10:26-30 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.Peano}))))])
(Nothing)))])
[])))]
@@ -173,14 +230,12 @@
,(TyClGroup
(NoExtField)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpRenamedAst.hs:(12,1)-(14,24) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpRenamedAst.hs:(12,1)-(14,24) })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:(12,1)-(14,24) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FamDecl
(NoExtField)
(FamilyDecl
@@ -188,119 +243,242 @@
(ClosedTypeFamily
(Just
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:3-36 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:3-36 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FamEqn
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:3-8 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:3-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.Length})
(HsOuterImplicit
[{Name: a}
,{Name: as}])
[(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:10-17 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:10-17 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:11-16 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:11-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOpTy
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:11 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:11 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: a})))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:13 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: :})
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:15-16 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:15-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:15-16 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:15-16 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: as}))))))))]
(Prefix)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:21-36 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:21-36 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:21-24 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:21-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:21-24 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:21-24 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.Succ})))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:26-36 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:26-36 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:27-35 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:27-35 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:27-32 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:27-32 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:27-32 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:27-32 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.Length})))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:34-35 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:34-35 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:13:34-35 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:13:34-35 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: as})))))))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:14:3-24 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:14:3-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FamEqn
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:14:3-8 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:14:3-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.Length})
(HsOuterImplicit
[])
[(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:14:10-12 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:14:10-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsExplicitListTy
(NoExtField)
(IsPromoted)
[])))]
(Prefix)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:14:21-24 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:14:21-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:14:21-24 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:14:21-24 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.Zero})))))]))
(TopLevel)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:12:13-18 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:12:13-18 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.Length})
(HsQTvs
[{Name: k}]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:12:20-30 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:12:20-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(KindedTyVar
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:12:20-30 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:12:20-30 })
[(AddEpAnn AnnDcolon (EpaSpan { DumpRenamedAst.hs:12:24-25 }))
,(AddEpAnn AnnOpenP (EpaSpan { DumpRenamedAst.hs:12:20 }))
,(AddEpAnn AnnCloseP (EpaSpan { DumpRenamedAst.hs:12:30 }))]
@@ -308,15 +486,23 @@
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:12:21-22 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:12:21-22 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: as})
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:12:27-29 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:12:27-29 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsListTy
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:12:27 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:12:27 })
(AnnParen
(AnnParensSquare)
(EpaSpan { DumpRenamedAst.hs:12:27 })
@@ -324,12 +510,22 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:12:28 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:12:28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:12:28 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:12:28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: k})))))))])
(Prefix)
(L
@@ -339,12 +535,22 @@
(KindSig
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:12:35-39 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:12:35-39 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:12:35-39 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:12:35-39 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.Peano})))))
(Nothing))))]
[]
@@ -353,14 +559,12 @@
,(TyClGroup
(NoExtField)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpRenamedAst.hs:16:1-33 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpRenamedAst.hs:16:1-33 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:16:1-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FamDecl
(NoExtField)
(FamilyDecl
@@ -368,7 +572,12 @@
(DataFamily)
(TopLevel)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:16:13-15 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:16:13-15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.Nat})
(HsQTvs
[{Name: k}]
@@ -381,12 +590,15 @@
(KindSig
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:16:20-33 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:16:20-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:16:20 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:16:20 })
(NoEpAnns)
(EpaComments
[]))
@@ -396,20 +608,33 @@
(EpaSpan { DumpRenamedAst.hs:16:22-23 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:16:20 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:16:20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:16:20 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:16:20 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: k})))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:16:25-33 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:16:25-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:16:25 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:16:25 })
(NoEpAnns)
(EpaComments
[]))
@@ -419,74 +644,118 @@
(EpaSpan { DumpRenamedAst.hs:16:27-28 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:16:25 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:16:25 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:16:25 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:16:25 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: k})))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:16:30-33 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:16:30-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:16:30-33 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:16:30-33 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: GHC.Types.Type})))))))))
(Nothing))))]
[]
[]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpRenamedAst.hs:(19,1)-(20,45) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpRenamedAst.hs:(19,1)-(20,45) })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:(19,1)-(20,45) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(DataFamInstD
(NoExtField)
(DataFamInstDecl
(FamEqn
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:18-20 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:18-20 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.Nat})
(HsOuterImplicit
[{Name: a}
,{Name: k}])
[(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:22-37 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:22-37 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:23-36 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:23-36 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsKindSig
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:19:23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:19:23 })
[(AddEpAnn AnnDcolon (EpaSpan { DumpRenamedAst.hs:19:25-26 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:23 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:23 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:23 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: a})))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:28-36 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:28-36 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:19:28 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:19:28 })
(NoEpAnns)
(EpaComments
[]))
@@ -496,20 +765,40 @@
(EpaSpan { DumpRenamedAst.hs:19:30-31 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:28 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:28 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: k})))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:33-36 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:33-36 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:33-36 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:33-36 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: GHC.Types.Type}))))))))))]
(Prefix)
(HsDataDefn
@@ -518,12 +807,15 @@
(Nothing)
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:42-60 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:42-60 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:19:42-52 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:19:42-52 })
(NoEpAnns)
(EpaComments
[]))
@@ -533,16 +825,24 @@
(EpaSpan { DumpRenamedAst.hs:19:54-55 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:42-52 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:42-52 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:43-51 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:43-51 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:19:43 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:19:43 })
(NoEpAnns)
(EpaComments
[]))
@@ -552,37 +852,77 @@
(EpaSpan { DumpRenamedAst.hs:19:45-46 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:43 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:43 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:43 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:43 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: k})))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:48-51 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:48-51 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:48-51 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:48-51 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: GHC.Types.Type})))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:57-60 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:57-60 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:19:57-60 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:19:57-60 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: GHC.Types.Type}))))))
(NewTypeCon
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:3-45 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:3-45 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclGADT
(EpAnnNotUsed)
(:|
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:3-5 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:3-5 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.Nat})
[])
(L
@@ -590,7 +930,12 @@
(EpaSpan { DumpRenamedAst.hs:20:7-8 }))
(HsNormalTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:10-45 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:10-45 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOuterImplicit
[{Name: f}
,{Name: g}]))
@@ -603,43 +948,57 @@
(EpaSpan { DumpRenamedAst.hs:20:36-37 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpRenamedAst.hs:20:10-34 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpRenamedAst.hs:20:10-34 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:10-34 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:11-33 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:11-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsForAllTy
(NoExtField)
(HsForAllInvis
(EpAnnNotUsed)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:18-19 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:18-19 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:20:18-19 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:20:18-19 })
[]
(EpaComments
[]))
(SpecifiedSpec)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:18-19 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:18-19 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: xx})))])
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:22-33 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:22-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:20:22-25 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:20:22-25 })
(NoEpAnns)
(EpaComments
[]))
@@ -649,90 +1008,178 @@
(EpaSpan { DumpRenamedAst.hs:20:27-28 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:22-25 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:22-25 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:22 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:22 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:22 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:22 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: f})))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:24-25 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:24-25 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:24-25 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:24-25 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: xx})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:30-33 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:30-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:30 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:30 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:30 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: g})))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:32-33 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:32-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:32-33 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:32-33 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: xx}))))))))))))])
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:39-45 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:39-45 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:39-43 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:39-43 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:39-41 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:39-41 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:39-41 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:39-41 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.Nat})))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:43 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:43 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:43 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:43 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: f})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:45 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:45 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:20:45 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:20:45 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: g})))))
(Nothing))))
[])))))])
,(TyClGroup
(NoExtField)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpRenamedAst.hs:22:1-29 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpRenamedAst.hs:22:1-29 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:22:1-29 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(DataDecl
(DataDeclRn
(False)
@@ -740,31 +1187,47 @@
[{Name: a}
,{Name: f}]})
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:22:6 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:22:6 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.T})
(HsQTvs
[{Name: k}]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:22:8 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:22:8 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:22:8 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:22:8 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:22:8 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:22:8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: f})))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:22:10-17 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:22:10-17 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(KindedTyVar
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:22:10-17 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:22:10-17 })
[(AddEpAnn AnnDcolon (EpaSpan { DumpRenamedAst.hs:22:13-14 }))
,(AddEpAnn AnnOpenP (EpaSpan { DumpRenamedAst.hs:22:10 }))
,(AddEpAnn AnnCloseP (EpaSpan { DumpRenamedAst.hs:22:17 }))]
@@ -772,15 +1235,30 @@
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:22:11 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:22:11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: a})
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:22:16 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:22:16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:22:16 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:22:16 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: k})))))])
(Prefix)
(HsDataDefn
@@ -791,11 +1269,21 @@
(DataTypeCons
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:22:21-29 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:22:21-29 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclH98
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:22:21-23 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:22:21-23 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.MkT})
(False)
[]
@@ -812,28 +1300,58 @@
(NoTokenLoc)
(HsNormalTok))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:22:25-29 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:22:25-29 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:22:26-28 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:22:26-28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:22:26 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:22:26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:22:26 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:22:26 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: f})))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:22:28 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:22:28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:22:28 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:22:28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: a}))))))))])
(Nothing)))])
[])))]
@@ -843,14 +1361,12 @@
,(TyClGroup
(NoExtField)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpRenamedAst.hs:(24,1)-(25,30) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpRenamedAst.hs:(24,1)-(25,30) })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:(24,1)-(25,30) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FamDecl
(NoExtField)
(FamilyDecl
@@ -858,11 +1374,21 @@
(ClosedTypeFamily
(Just
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:3-30 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:3-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FamEqn
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:3-4 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:3-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.F1})
(HsOuterImplicit
[{Name: a}
@@ -873,93 +1399,186 @@
(EpaSpan { DumpRenamedAst.hs:25:6 }))
(HsTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:7-11 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:7-11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:7-11 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:7-11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.Peano}))))
,(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:13 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:13 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: a}))))
,(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:15 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:15 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: f}))))]
(Prefix)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:19-30 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:19-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:19-28 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:19-28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:19-26 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:19-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppKindTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:19 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:19 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:19 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:19 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.T})))
(L
(TokenLoc
(EpaSpan { DumpRenamedAst.hs:25:21 }))
(HsTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:22-26 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:22-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:22-26 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:22-26 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.Peano})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:28 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:28 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: f})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:30 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:25:30 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:25:30 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: a})))))))]))
(TopLevel)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:24:13-14 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:24:13-14 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.F1})
(HsQTvs
[{Name: k}]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:24:16-23 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:24:16-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(KindedTyVar
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:24:16-23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:24:16-23 })
[(AddEpAnn AnnDcolon (EpaSpan { DumpRenamedAst.hs:24:19-20 }))
,(AddEpAnn AnnOpenP (EpaSpan { DumpRenamedAst.hs:24:16 }))
,(AddEpAnn AnnCloseP (EpaSpan { DumpRenamedAst.hs:24:23 }))]
@@ -967,23 +1586,41 @@
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:24:17 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:24:17 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: a})
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:24:22 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:24:22 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:24:22 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:24:22 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: k})))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:24:25-40 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:24:25-40 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(KindedTyVar
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:24:25-40 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:24:25-40 })
[(AddEpAnn AnnDcolon (EpaSpan { DumpRenamedAst.hs:24:28-29 }))
,(AddEpAnn AnnOpenP (EpaSpan { DumpRenamedAst.hs:24:25 }))
,(AddEpAnn AnnCloseP (EpaSpan { DumpRenamedAst.hs:24:40 }))]
@@ -991,15 +1628,23 @@
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:24:26 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:24:26 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: f})
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:24:31-39 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:24:31-39 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:24:31 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:24:31 })
(NoEpAnns)
(EpaComments
[]))
@@ -1009,20 +1654,40 @@
(EpaSpan { DumpRenamedAst.hs:24:33-34 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:24:31 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:24:31 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:24:31 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:24:31 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: k})))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:24:36-39 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:24:36-39 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:24:36-39 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:24:36-39 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: GHC.Types.Type})))))))])
(Prefix)
(L
@@ -1032,12 +1697,22 @@
(KindSig
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:24:45-48 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:24:45-48 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:24:45-48 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:24:45-48 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: GHC.Types.Type})))))
(Nothing))))]
[]
@@ -1046,14 +1721,12 @@
,(TyClGroup
(NoExtField)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpRenamedAst.hs:(27,1)-(28,12) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpRenamedAst.hs:(27,1)-(28,12) })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:(27,1)-(28,12) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ClassDecl
{NameSet:
[]}
@@ -1061,23 +1734,36 @@
(3))
(Nothing)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:27:7 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:27:7 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.C})
(HsQTvs
[]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:27:9 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:27:9 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:27:9 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:27:9 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:27:9 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:27:9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: a})))])
(Prefix)
[]
@@ -1085,43 +1771,69 @@
{Bag(LocatedA (HsBind Name)):
[]}
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:28:3-12 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:28:3-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FamilyDecl
(EpAnnNotUsed)
(OpenTypeFamily)
(NotTopLevel)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:28:8 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:28:8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.F})
(HsQTvs
[]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:28:10 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:28:10 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:28:10 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:28:10 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:28:10 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:28:10 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: a})))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:28:12 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:28:12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:28:12 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:28:12 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:28:12 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:28:12 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: b})))])
(Prefix)
(L
@@ -1136,43 +1848,64 @@
[]
[]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpRenamedAst.hs:(30,1)-(31,27) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpRenamedAst.hs:(30,1)-(31,27) })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:(30,1)-(31,27) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ClsInstD
(NoExtField)
(ClsInstDecl
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:30:10-14 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:30:10-14 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
[{Name: a}])
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:30:10-14 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:30:10-14 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:30:10 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:30:10 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:30:10 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:30:10 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.C})))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:30:12-14 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:30:12-14 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsListTy
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:30:12 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:30:12 })
(AnnParen
(AnnParensSquare)
(EpaSpan { DumpRenamedAst.hs:30:12 })
@@ -1180,41 +1913,62 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:30:13 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:30:13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:30:13 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:30:13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: a})))))))))
{Bag(LocatedA (HsBind Name)):
[]}
[]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:31:3-27 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:31:3-27 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyFamInstDecl
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:31:3-27 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:31:3-27 })
[(AddEpAnn AnnType (EpaSpan { DumpRenamedAst.hs:31:3-6 }))]
(EpaComments
[]))
(FamEqn
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:31:8 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:31:8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: DumpRenamedAst.F})
(HsOuterImplicit
[{Name: b}])
[(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:31:10-12 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:31:10-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsListTy
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:31:10 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:31:10 })
(AnnParen
(AnnParensSquare)
(EpaSpan { DumpRenamedAst.hs:31:10 })
@@ -1222,54 +1976,114 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:31:11 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:31:11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:31:11 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:31:11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: a}))))))
,(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:31:14 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:31:14 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:31:14 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:31:14 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: b}))))]
(Prefix)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:31:18-27 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:31:18-27 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:31:18-25 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:31:18-25 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:31:18-23 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:31:18-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:31:18-23 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:31:18-23 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: Data.Either.Either})))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:31:25 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:31:25 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:31:25 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:31:25 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: a})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:31:27 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:31:27 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:31:27 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:31:27 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: b}))))))))]
[]
(Nothing))))])]
@@ -1282,14 +2096,24 @@
[]
[])
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:5:8-21 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:5:8-21 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ImportDecl
(XImportDeclPass
(EpAnnNotUsed)
(NoSourceText)
(True))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:5:8-21 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:5:8-21 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: Prelude})
(NoPkgQual)
(NotBoot)
@@ -1298,13 +2122,16 @@
(Nothing)
(Nothing)))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:6:1-16 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:6:1-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ImportDecl
(XImportDeclPass
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:6:1-6 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:6:1-6 })
(EpAnnImportDecl
(EpaSpan { DumpRenamedAst.hs:6:1-6 })
(Nothing)
@@ -1317,7 +2144,12 @@
(NoSourceText)
(False))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:6:8-16 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:6:8-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: Data.Kind})
(NoPkgQual)
(NotBoot)
@@ -1326,13 +2158,16 @@
(Nothing)
(Nothing)))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:8:1-23 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:8:1-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ImportDecl
(XImportDeclPass
(EpAnn
- (Anchor
- { DumpRenamedAst.hs:8:1-6 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:8:1-6 })
(EpAnnImportDecl
(EpaSpan { DumpRenamedAst.hs:8:1-6 })
(Nothing)
@@ -1345,7 +2180,12 @@
(NoSourceText)
(False))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:8:8-16 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:8:8-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: Data.Kind})
(NoPkgQual)
(NotBoot)
@@ -1357,9 +2197,7 @@
(Exactly)
(L
(SrcSpanAnn (EpAnn
- (Anchor
- { DumpRenamedAst.hs:8:18-23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpRenamedAst.hs:8:18-23 })
(AnnList
(Nothing)
(Just
@@ -1371,17 +2209,30 @@
(EpaComments
[])) { DumpRenamedAst.hs:8:18-23 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:8:19-22 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:8:19-22 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(IEThingAbs
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:8:19-22 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:8:19-22 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(IEName
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpRenamedAst.hs:8:19-22 })
+ ((EpAnnS
+ (EpaSpan { DumpRenamedAst.hs:8:19-22 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: GHC.Types.Type})))))])))))]
(Nothing)
(Nothing)))
-
-
diff --git a/testsuite/tests/parser/should_compile/DumpSemis.stderr b/testsuite/tests/parser/should_compile/DumpSemis.stderr
index 60eff755cb..332cf1c4a9 100644
--- a/testsuite/tests/parser/should_compile/DumpSemis.stderr
+++ b/testsuite/tests/parser/should_compile/DumpSemis.stderr
@@ -6,9 +6,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { DumpSemis.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:1:1 })
(AnnsModule
[(AddEpAnn AnnModule (EpaSpan { DumpSemis.hs:1:1-6 }))
,(AddEpAnn AnnWhere (EpaSpan { DumpSemis.hs:1:18-22 }))]
@@ -37,29 +35,30 @@
(Nothing))
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:1:8-16 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:1:8-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: DumpSemis}))
(Nothing)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:5:1-19 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:6:1 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:6:3 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:6:5 }))])
- (EpaComments
- [])) { DumpSemis.hs:5:1-19 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:5:1-19 })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:6:1 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:6:3 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:6:5 }))])
+ (EpaComments
+ [])))
(ImportDecl
(XImportDeclPass
(EpAnn
- (Anchor
- { DumpSemis.hs:5:1-6 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:5:1-6 })
(EpAnnImportDecl
(EpaSpan { DumpSemis.hs:5:1-6 })
(Nothing)
@@ -72,7 +71,12 @@
(NoSourceText)
(False))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:5:8-16 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:5:8-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: Data.List})
(NoRawPkgQual)
(NotBoot)
@@ -84,9 +88,7 @@
(Exactly)
(L
(SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:5:18-19 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:5:18-19 })
(AnnList
(Nothing)
(Just
@@ -99,25 +101,21 @@
[])) { DumpSemis.hs:5:18-19 })
[])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:7:1-16 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:8:4 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:8:6 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:8:7 }))])
- (EpaComments
- [])) { DumpSemis.hs:7:1-16 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:7:1-16 })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:8:4 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:8:6 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:8:7 }))])
+ (EpaComments
+ [])))
(ImportDecl
(XImportDeclPass
(EpAnn
- (Anchor
- { DumpSemis.hs:7:1-6 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:7:1-6 })
(EpAnnImportDecl
(EpaSpan { DumpSemis.hs:7:1-6 })
(Nothing)
@@ -130,7 +128,12 @@
(NoSourceText)
(False))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:7:8-16 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:7:8-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: Data.Kind})
(NoRawPkgQual)
(NotBoot)
@@ -139,64 +142,86 @@
(Nothing)
(Nothing)))]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:9:1-12 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpSemis.hs:9:1-12 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:9:1-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(SigD
(NoExtField)
(TypeSig
(EpAnn
- (Anchor
- { DumpSemis.hs:9:1-3 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:9:1-3 })
(AnnSig
(AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:9:5-6 }))
[])
(EpaComments
[]))
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:9:1-3 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:9:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: foo}))]
(HsWC
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:9:8-12 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:9:8-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:9:8-12 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:9:8-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:9:8-9 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:9:8-9 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpSemis.hs:9:8-9 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:9:8-9 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:9:8-9 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:9:8-9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: IO}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:9:11-12 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:9:11-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTupleTy
(EpAnn
- (Anchor
- { DumpSemis.hs:9:11 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:9:11 })
(AnnParen
(AnnParens)
(EpaSpan { DumpSemis.hs:9:11 })
@@ -206,25 +231,28 @@
(HsBoxedOrConstraintTuple)
[]))))))))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:(10,1)-(12,3) }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:13:1 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:13:3 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:13:4 }))])
- (EpaComments
- [])) { DumpSemis.hs:(10,1)-(12,3) })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:(10,1)-(12,3) })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:13:1 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:13:3 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:13:4 }))])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:10:1-3 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:10:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: foo}))
(MG
@@ -232,18 +260,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:(10,1)-(12,3) })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:(10,1)-(12,3) })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:(10,1)-(12,3) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpSemis.hs:(10,1)-(12,3) }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:(10,1)-(12,3) })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:10:1-3 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:10:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: foo}))
(Prefix)
@@ -253,14 +289,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpSemis.hs:(10,5)-(12,3) })
+ (EpAnnS
+ (EpaSpan { DumpSemis.hs:(10,5)-(12,3) })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpSemis.hs:(10,5)-(12,3) }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:(10,5)-(12,3) })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:10:5 })))
@@ -268,17 +304,18 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:(10,7)-(12,3) })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:(10,7)-(12,3) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsDo
(EpAnn
- (Anchor
- { DumpSemis.hs:(10,7)-(12,3) }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:(10,7)-(12,3) })
(AnnList
(Just
- (Anchor
- { DumpSemis.hs:(11,3)-(12,3) }
- (UnchangedAnchor)))
+ (EpaSpan { DumpSemis.hs:(11,3)-(12,3) }))
(Nothing)
(Nothing)
[(AddEpAnn AnnDo (EpaSpan { DumpSemis.hs:10:7-8 }))]
@@ -289,14 +326,10 @@
(Nothing))
(L
(SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:(11,3)-(12,3) }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:(11,3)-(12,3) })
(AnnList
(Just
- (Anchor
- { DumpSemis.hs:(11,3)-(12,3) }
- (UnchangedAnchor)))
+ (EpaSpan { DumpSemis.hs:(11,3)-(12,3) }))
(Nothing)
(Nothing)
[]
@@ -304,21 +337,27 @@
(EpaComments
[])) { DumpSemis.hs:(11,3)-(12,3) })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:11:3-15 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:11:3-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(BodyStmt
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:11:3-15 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:11:3-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsDo
(EpAnn
- (Anchor
- { DumpSemis.hs:11:3-15 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:11:3-15 })
(AnnList
(Just
- (Anchor
- { DumpSemis.hs:11:6-15 }
- (UnchangedAnchor)))
+ (EpaSpan { DumpSemis.hs:11:6-15 }))
(Nothing)
(Nothing)
[(AddEpAnn AnnDo (EpaSpan { DumpSemis.hs:11:3-4 }))]
@@ -329,14 +368,10 @@
(Nothing))
(L
(SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:11:6-15 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:11:6-15 })
(AnnList
(Just
- (Anchor
- { DumpSemis.hs:11:8-13 }
- (UnchangedAnchor)))
+ (EpaSpan { DumpSemis.hs:11:8-13 }))
(Just
(AddEpAnn AnnOpenC (EpaSpan { DumpSemis.hs:11:6 })))
(Just
@@ -349,15 +384,30 @@
(EpaComments
[])) { DumpSemis.hs:11:6-15 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:11:13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:11:13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(BodyStmt
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:11:13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:11:13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:11:13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:11:13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))
(NoExtField)
@@ -365,15 +415,30 @@
(NoExtField)
(NoExtField)))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:12:3 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:12:3 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(BodyStmt
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:12:3 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:12:3 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:12:3 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:12:3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))
(NoExtField)
@@ -381,64 +446,86 @@
(EmptyLocalBinds
(NoExtField)))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:14:1-12 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpSemis.hs:14:1-12 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:14:1-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(SigD
(NoExtField)
(TypeSig
(EpAnn
- (Anchor
- { DumpSemis.hs:14:1-3 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:14:1-3 })
(AnnSig
(AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:14:5-6 }))
[])
(EpaComments
[]))
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:14:1-3 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:14:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: bar}))]
(HsWC
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:14:8-12 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:14:8-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:14:8-12 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:14:8-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:14:8-9 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:14:8-9 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpSemis.hs:14:8-9 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:14:8-9 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:14:8-9 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:14:8-9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: IO}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:14:11-12 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:14:11-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTupleTy
(EpAnn
- (Anchor
- { DumpSemis.hs:14:11 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:14:11 })
(AnnParen
(AnnParens)
(EpaSpan { DumpSemis.hs:14:11 })
@@ -448,27 +535,30 @@
(HsBoxedOrConstraintTuple)
[]))))))))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:(15,1)-(19,3) }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:20:2 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:20:4 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:20:5 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:20:8 }))])
- (EpaComments
- [])) { DumpSemis.hs:(15,1)-(19,3) })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:(15,1)-(19,3) })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:20:2 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:20:4 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:20:5 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:20:8 }))])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:15:1-3 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:15:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: bar}))
(MG
@@ -476,18 +566,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:(15,1)-(19,3) })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:(15,1)-(19,3) })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:(15,1)-(19,3) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpSemis.hs:(15,1)-(19,3) }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:(15,1)-(19,3) })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:15:1-3 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:15:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: bar}))
(Prefix)
@@ -497,14 +595,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpSemis.hs:(15,5)-(19,3) })
+ (EpAnnS
+ (EpaSpan { DumpSemis.hs:(15,5)-(19,3) })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpSemis.hs:(15,5)-(19,3) }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:(15,5)-(19,3) })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:15:5 })))
@@ -512,17 +610,18 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:(15,7)-(19,3) })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:(15,7)-(19,3) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsDo
(EpAnn
- (Anchor
- { DumpSemis.hs:(15,7)-(19,3) }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:(15,7)-(19,3) })
(AnnList
(Just
- (Anchor
- { DumpSemis.hs:(16,3)-(19,3) }
- (UnchangedAnchor)))
+ (EpaSpan { DumpSemis.hs:(16,3)-(19,3) }))
(Nothing)
(Nothing)
[(AddEpAnn AnnDo (EpaSpan { DumpSemis.hs:15:7-8 }))]
@@ -533,14 +632,10 @@
(Nothing))
(L
(SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:(16,3)-(19,3) }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:(16,3)-(19,3) })
(AnnList
(Just
- (Anchor
- { DumpSemis.hs:(16,5)-(18,5) }
- (UnchangedAnchor)))
+ (EpaSpan { DumpSemis.hs:(16,5)-(18,5) }))
(Just
(AddEpAnn AnnOpenC (EpaSpan { DumpSemis.hs:16:3 })))
(Just
@@ -551,39 +646,62 @@
(EpaComments
[])) { DumpSemis.hs:(16,3)-(19,3) })
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:17:5 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:17:7 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:17:8 }))])
- (EpaComments
- [])) { DumpSemis.hs:17:5 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:17:5 })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:17:7 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:17:8 }))])
+ (EpaComments
+ [])))
(BodyStmt
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:17:5 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:17:5 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:17:5 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:17:5 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))
(NoExtField)
(NoExtField)))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:18:5 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:18:5 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(BodyStmt
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:18:5 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:18:5 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:18:5 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:18:5 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: b}))))
(NoExtField)
@@ -591,64 +709,86 @@
(EmptyLocalBinds
(NoExtField)))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:21:1-12 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpSemis.hs:21:1-12 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:21:1-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(SigD
(NoExtField)
(TypeSig
(EpAnn
- (Anchor
- { DumpSemis.hs:21:1-3 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:21:1-3 })
(AnnSig
(AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:21:5-6 }))
[])
(EpaComments
[]))
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:21:1-3 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:21:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: baz}))]
(HsWC
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:21:8-12 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:21:8-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:21:8-12 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:21:8-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:21:8-9 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:21:8-9 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpSemis.hs:21:8-9 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:21:8-9 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:21:8-9 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:21:8-9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: IO}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:21:11-12 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:21:11-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTupleTy
(EpAnn
- (Anchor
- { DumpSemis.hs:21:11 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:21:11 })
(AnnParen
(AnnParens)
(EpaSpan { DumpSemis.hs:21:11 })
@@ -658,21 +798,24 @@
(HsBoxedOrConstraintTuple)
[]))))))))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:22:1-30 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:23:1 }))])
- (EpaComments
- [])) { DumpSemis.hs:22:1-30 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:22:1-30 })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:23:1 }))])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:1-3 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:22:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: baz}))
(MG
@@ -680,18 +823,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:1-30 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:1-30 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:22:1-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpSemis.hs:22:1-30 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:22:1-30 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:1-3 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:22:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: baz}))
(Prefix)
@@ -701,14 +852,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpSemis.hs:22:5-30 })
+ (EpAnnS
+ (EpaSpan { DumpSemis.hs:22:5-30 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpSemis.hs:22:5-30 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:22:5-30 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:22:5 })))
@@ -716,17 +867,18 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:7-30 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:22:7-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsDo
(EpAnn
- (Anchor
- { DumpSemis.hs:22:7-30 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:22:7-30 })
(AnnList
(Just
- (Anchor
- { DumpSemis.hs:22:10-30 }
- (UnchangedAnchor)))
+ (EpaSpan { DumpSemis.hs:22:10-30 }))
(Nothing)
(Nothing)
[(AddEpAnn AnnDo (EpaSpan { DumpSemis.hs:22:7-8 }))]
@@ -737,14 +889,10 @@
(Nothing))
(L
(SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:22:10-30 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:22:10-30 })
(AnnList
(Just
- (Anchor
- { DumpSemis.hs:22:12-25 }
- (UnchangedAnchor)))
+ (EpaSpan { DumpSemis.hs:22:12-25 }))
(Just
(AddEpAnn AnnOpenC (EpaSpan { DumpSemis.hs:22:10 })))
(Just
@@ -755,71 +903,95 @@
(EpaComments
[])) { DumpSemis.hs:22:10-30 })
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:22:15 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:22:17 }))])
- (EpaComments
- [])) { DumpSemis.hs:22:15 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:22:15 })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:22:17 }))])
+ (EpaComments
+ [])))
(BodyStmt
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:15 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:22:15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:15 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:22:15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: s}))))
(NoExtField)
(NoExtField)))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:22:19 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:22:21 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:22:23 }))])
- (EpaComments
- [])) { DumpSemis.hs:22:19 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:22:19 })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:22:21 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:22:23 }))])
+ (EpaComments
+ [])))
(BodyStmt
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:19 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:22:19 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:19 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:22:19 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: s}))))
(NoExtField)
(NoExtField)))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:22:25 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:22:27 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:22:28 }))])
- (EpaComments
- [])) { DumpSemis.hs:22:25 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:22:25 })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:22:27 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:22:28 }))])
+ (EpaComments
+ [])))
(BodyStmt
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:25 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:22:25 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:22:25 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:22:25 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: s}))))
(NoExtField)
@@ -827,20 +999,23 @@
(EmptyLocalBinds
(NoExtField)))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:24:1-13 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpSemis.hs:24:1-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:24:1-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:24:1 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:24:1 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))
(MG
@@ -848,18 +1023,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:24:1-13 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:24:1-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:24:1-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpSemis.hs:24:1-13 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:24:1-13 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:24:1 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:24:1 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))
(Prefix)
@@ -869,14 +1052,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpSemis.hs:24:3-13 })
+ (EpAnnS
+ (EpaSpan { DumpSemis.hs:24:3-13 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpSemis.hs:24:3-13 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:24:3-13 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:24:3 })))
@@ -884,30 +1067,43 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:24:5-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:24:5-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:24:5-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:24:5-13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: undefined}))))))]
(EmptyLocalBinds
(NoExtField)))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:25:1-13 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpSemis.hs:25:1-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:25:1-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:25:1 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:25:1 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: b}))
(MG
@@ -915,18 +1111,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:25:1-13 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:25:1-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:25:1-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpSemis.hs:25:1-13 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:25:1-13 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:25:1 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:25:1 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: b}))
(Prefix)
@@ -936,14 +1140,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpSemis.hs:25:3-13 })
+ (EpAnnS
+ (EpaSpan { DumpSemis.hs:25:3-13 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpSemis.hs:25:3-13 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:25:3-13 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:25:3 })))
@@ -951,31 +1155,44 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:25:5-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:25:5-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:25:5-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:25:5-13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: undefined}))))))]
(EmptyLocalBinds
(NoExtField)))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:26:1-13 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:27:1 }))])
- (EpaComments
- [])) { DumpSemis.hs:26:1-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:26:1-13 })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:27:1 }))])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:26:1 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:26:1 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: s}))
(MG
@@ -983,18 +1200,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:26:1-13 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:26:1-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:26:1-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpSemis.hs:26:1-13 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:26:1-13 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:26:1 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:26:1 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: s}))
(Prefix)
@@ -1004,14 +1229,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpSemis.hs:26:3-13 })
+ (EpAnnS
+ (EpaSpan { DumpSemis.hs:26:3-13 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpSemis.hs:26:3-13 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:26:3-13 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:26:3 })))
@@ -1019,33 +1244,39 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:26:5-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:26:5-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:26:5-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:26:5-13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: undefined}))))))]
(EmptyLocalBinds
(NoExtField)))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:(28,1)-(29,23) }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:30:1 }))])
- (EpaComments
- [])) { DumpSemis.hs:(28,1)-(29,23) })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:(28,1)-(29,23) })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:30:1 }))])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(ClassDecl
((,)
(EpAnn
- (Anchor
- { DumpSemis.hs:(28,1)-(29,23) }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:(28,1)-(29,23) })
[(AddEpAnn AnnClass (EpaSpan { DumpSemis.hs:28:1-5 }))
,(AddEpAnn AnnWhere (EpaSpan { DumpSemis.hs:28:40-44 }))]
(EpaComments
@@ -1055,18 +1286,26 @@
(3))
(Nothing)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:28:7-19 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:28:7-19 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: LiftingMonad2}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:28:22-38 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:28:22-38 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(KindedTyVar
(EpAnn
- (Anchor
- { DumpSemis.hs:28:22-38 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:28:22-38 })
[(AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:28:30-31 }))
,(AddEpAnn AnnOpenP (EpaSpan { DumpSemis.hs:28:22 }))
,(AddEpAnn AnnOpenP (EpaSpan { DumpSemis.hs:28:23 }))
@@ -1076,33 +1315,49 @@
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:28:24-28 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:28:24-28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: trans}))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:28:33-36 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:28:33-36 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpSemis.hs:28:33-36 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:28:33-36 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:28:33-36 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:28:33-36 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type}))))))])
(Prefix)
[]
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:29:3-23 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:29:3-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ClassOpSig
(EpAnn
- (Anchor
- { DumpSemis.hs:29:3-7 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:29:3-7 })
(AnnSig
(AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:29:9-10 }))
[])
@@ -1110,22 +1365,35 @@
[]))
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:29:3-7 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:29:3-7 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: proof}))]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:29:12-23 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:29:12-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:29:12-23 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:29:12-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { DumpSemis.hs:29:12-16 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:29:12-16 })
(NoEpAnns)
(EpaComments
[]))
@@ -1135,33 +1403,49 @@
(EpaSpan { DumpSemis.hs:29:18-19 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:29:12-16 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:29:12-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpSemis.hs:29:12-16 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:29:12-16 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:29:12-16 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:29:12-16 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: trans}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:29:21-23 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:29:21-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpSemis.hs:29:21-23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:29:21-23 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:29:21-23 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:29:21-23 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))))))]
{Bag(LocatedA (HsBind GhcPs)):
@@ -1170,47 +1454,56 @@
[]
[])))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:31:1-30 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpSemis.hs:31:1-30 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:1-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(SigD
(NoExtField)
(TypeSig
(EpAnn
- (Anchor
- { DumpSemis.hs:31:1 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:31:1 })
(AnnSig
(AddEpAnn AnnDcolon (EpaSpan { DumpSemis.hs:31:3-4 }))
[])
(EpaComments
[]))
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:1 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:1 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: f}))]
(HsWC
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:6-30 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:6-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:6-30 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:6-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsQualTy
(NoExtField)
(L
(SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:31:6-20 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:31:6-20 })
(AnnContext
(Just
((,)
@@ -1223,88 +1516,126 @@
(EpaComments
[])) { DumpSemis.hs:31:6-20 })
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:31:8-11 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddCommaAnn
- (EpaSpan { DumpSemis.hs:31:12 }))])
- (EpaComments
- [])) { DumpSemis.hs:31:8-11 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:8-11 })
+ (AnnListItem
+ [(AddCommaAnn
+ (EpaSpan { DumpSemis.hs:31:12 }))])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:8-9 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:8-9 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpSemis.hs:31:8-9 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:31:8-9 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:8-9 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:8-9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Eq}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:11 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpSemis.hs:31:11 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:31:11 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:11 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:14-18 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:14-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:14-16 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:14-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpSemis.hs:31:14-16 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:31:14-16 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:14-16 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:14-16 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Ord}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:18 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpSemis.hs:31:18 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:31:18 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:18 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:18 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))))])
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:25-30 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:25-30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { DumpSemis.hs:31:25 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:31:25 })
(NoEpAnns)
(EpaComments
[]))
@@ -1314,50 +1645,69 @@
(EpaSpan { DumpSemis.hs:31:27-28 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:25 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:25 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpSemis.hs:31:25 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:31:25 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:25 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:25 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:30 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:30 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { DumpSemis.hs:31:30 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:31:30 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:31:30 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:31:30 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))))))))))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:32:1-7 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpSemis.hs:32:1-7 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:32:1-7 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:32:1 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:32:1 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: f}))
(MG
@@ -1365,54 +1715,65 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:32:1-7 })
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:32:1-7 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:33:1 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:34:6 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:34:7 }))])
- (EpaComments
- [])) { DumpSemis.hs:32:1-7 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:32:1-7 })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:33:1 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:6 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:7 }))])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpSemis.hs:32:1-7 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:32:1-7 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:32:1 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:32:1 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: f}))
(Prefix)
(NoSrcStrict))
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:32:3 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:32:3 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarPat
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:32:3 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:32:3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: x}))))]
(GRHSs
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpSemis.hs:32:5-7 })
+ (EpAnnS
+ (EpaSpan { DumpSemis.hs:32:5-7 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpSemis.hs:32:5-7 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:32:5-7 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:32:5 })))
@@ -1420,33 +1781,46 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:32:7 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:32:7 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:32:7 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:32:7 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: x}))))))]
(EmptyLocalBinds
(NoExtField)))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:34:8-35 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:34:36 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:35:1 }))])
- (EpaComments
- [])) { DumpSemis.hs:34:8-35 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:34:8-35 })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:36 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:35:1 }))])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:8 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:34:8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: x}))
(MG
@@ -1454,18 +1828,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:8-35 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:8-35 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:34:8-35 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpSemis.hs:34:8-35 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:34:8-35 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:8 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:34:8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: x}))
(Prefix)
@@ -1475,14 +1857,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpSemis.hs:34:9-35 })
+ (EpAnnS
+ (EpaSpan { DumpSemis.hs:34:9-35 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpSemis.hs:34:9-35 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:34:9-35 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:34:9 })))
@@ -1490,12 +1872,15 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:10-35 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:34:10-35 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLet
(EpAnn
- (Anchor
- { DumpSemis.hs:34:10-35 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:34:10-35 })
(NoEpAnns)
(EpaComments
[]))
@@ -1505,14 +1890,10 @@
(HsTok))
(HsValBinds
(EpAnn
- (Anchor
- { DumpSemis.hs:34:13-31 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:34:13-31 })
(AnnList
(Just
- (Anchor
- { DumpSemis.hs:34:14-30 }
- (UnchangedAnchor)))
+ (EpaSpan { DumpSemis.hs:34:14-30 }))
(Just
(AddEpAnn AnnOpenC (EpaSpan { DumpSemis.hs:34:13 })))
(Just
@@ -1534,21 +1915,24 @@
(NoAnnSortKey)
{Bag(LocatedA (HsBind GhcPs)):
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:34:19-21 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:34:22 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:34:23 }))])
- (EpaComments
- [])) { DumpSemis.hs:34:19-21 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:34:19-21 })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:22 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:23 }))])
+ (EpaComments
+ [])))
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:19 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:34:19 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: y}))
(MG
@@ -1556,18 +1940,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:19-21 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:19-21 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:34:19-21 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpSemis.hs:34:19-21 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:34:19-21 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:19 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:34:19 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: y}))
(Prefix)
@@ -1577,14 +1969,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpSemis.hs:34:20-21 })
+ (EpAnnS
+ (EpaSpan { DumpSemis.hs:34:20-21 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpSemis.hs:34:20-21 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:34:20-21 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:34:20 })))
@@ -1592,12 +1984,15 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:21 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:34:21 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOverLit
(EpAnn
- (Anchor
- { DumpSemis.hs:34:21 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:34:21 })
(NoEpAnns)
(EpaComments
[]))
@@ -1611,25 +2006,28 @@
(EmptyLocalBinds
(NoExtField)))))]))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:34:24-26 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:34:27 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:34:28 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:34:29 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:34:30 }))])
- (EpaComments
- [])) { DumpSemis.hs:34:24-26 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:34:24-26 })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:27 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:28 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:29 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:34:30 }))])
+ (EpaComments
+ [])))
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:24 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:34:24 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: z}))
(MG
@@ -1637,18 +2035,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:24-26 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:24-26 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:34:24-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpSemis.hs:34:24-26 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:34:24-26 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:24 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:34:24 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: z}))
(Prefix)
@@ -1658,14 +2064,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpSemis.hs:34:25-26 })
+ (EpAnnS
+ (EpaSpan { DumpSemis.hs:34:25-26 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpSemis.hs:34:25-26 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:34:25-26 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:34:25 })))
@@ -1673,12 +2079,15 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:26 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:34:26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOverLit
(EpAnn
- (Anchor
- { DumpSemis.hs:34:26 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:34:26 })
(NoEpAnns)
(EpaComments
[]))
@@ -1697,30 +2106,43 @@
(EpaSpan { DumpSemis.hs:34:32-33 }))
(HsTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:35 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:34:35 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:34:35 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:34:35 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: y}))))))))]
(EmptyLocalBinds
(NoExtField)))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:(36,1)-(44,4) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpSemis.hs:(36,1)-(44,4) })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:(36,1)-(44,4) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:36:1-3 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:36:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: fot}))
(MG
@@ -1728,50 +2150,61 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:(36,1)-(44,4) })
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:(36,1)-(44,4) }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:45:1 }))])
- (EpaComments
- [])) { DumpSemis.hs:(36,1)-(44,4) })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:(36,1)-(44,4) })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:45:1 }))])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpSemis.hs:(36,1)-(44,4) }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:(36,1)-(44,4) })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:36:1-3 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:36:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: fot}))
(Prefix)
(NoSrcStrict))
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:36:5 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:36:5 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarPat
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:36:5 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:36:5 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: x}))))]
(GRHSs
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpSemis.hs:(36,7)-(44,4) })
+ (EpAnnS
+ (EpaSpan { DumpSemis.hs:(36,7)-(44,4) })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpSemis.hs:(36,7)-(44,4) }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:(36,7)-(44,4) })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { DumpSemis.hs:36:7 })))
@@ -1779,12 +2212,15 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:(37,3)-(44,4) })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:(37,3)-(44,4) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsCase
(EpAnn
- (Anchor
- { DumpSemis.hs:(37,3)-(44,4) }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:(37,3)-(44,4) })
(EpAnnHsCase
(EpaSpan { DumpSemis.hs:37:3-6 })
(EpaSpan { DumpSemis.hs:37:10-11 })
@@ -1792,25 +2228,31 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:37:8 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:37:8 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:37:8 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:37:8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: x}))))
(MG
(FromSource)
(L
(SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:(38,4)-(44,4) }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:(38,4)-(44,4) })
(AnnList
(Just
- (Anchor
- { DumpSemis.hs:(38,6)-(43,13) }
- (UnchangedAnchor)))
+ (EpaSpan { DumpSemis.hs:(38,6)-(43,13) }))
(Just
(AddEpAnn AnnOpenC (EpaSpan { DumpSemis.hs:38:4 })))
(Just
@@ -1822,26 +2264,27 @@
(EpaComments
[])) { DumpSemis.hs:(38,4)-(44,4) })
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:39:6-13 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:39:14 }))])
- (EpaComments
- [])) { DumpSemis.hs:39:6-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:39:6-13 })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:39:14 }))])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpSemis.hs:39:6 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:39:6 })
[]
(EpaComments
[]))
(CaseAlt)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:39:6 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:39:6 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(NPat
(EpAnnNotUsed)
(L
@@ -1861,14 +2304,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpSemis.hs:39:8-13 })
+ (EpAnnS
+ (EpaSpan { DumpSemis.hs:39:8-13 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpSemis.hs:39:8-9 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:39:8-9 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnRarrow (EpaSpan { DumpSemis.hs:39:8-9 })))
@@ -1876,12 +2319,15 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:39:11-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:39:11-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { DumpSemis.hs:39:11-13 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:39:11-13 })
(NoEpAnns)
(EpaComments
[]))
@@ -1891,26 +2337,27 @@
(EmptyLocalBinds
(NoExtField)))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:40:6-13 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:41:4 }))])
- (EpaComments
- [])) { DumpSemis.hs:40:6-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:40:6-13 })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:41:4 }))])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpSemis.hs:40:6 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:40:6 })
[]
(EpaComments
[]))
(CaseAlt)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:40:6 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:40:6 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(NPat
(EpAnnNotUsed)
(L
@@ -1930,14 +2377,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpSemis.hs:40:8-13 })
+ (EpAnnS
+ (EpaSpan { DumpSemis.hs:40:8-13 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpSemis.hs:40:8-9 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:40:8-9 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnRarrow (EpaSpan { DumpSemis.hs:40:8-9 })))
@@ -1945,12 +2392,15 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:40:11-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:40:11-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { DumpSemis.hs:40:11-13 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:40:11-13 })
(NoEpAnns)
(EpaComments
[]))
@@ -1960,28 +2410,29 @@
(EmptyLocalBinds
(NoExtField)))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:41:6-13 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:41:15 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:42:4 }))])
- (EpaComments
- [])) { DumpSemis.hs:41:6-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:41:6-13 })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:41:15 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:42:4 }))])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpSemis.hs:41:6 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:41:6 })
[]
(EpaComments
[]))
(CaseAlt)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:41:6 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:41:6 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(NPat
(EpAnnNotUsed)
(L
@@ -2001,14 +2452,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpSemis.hs:41:8-13 })
+ (EpAnnS
+ (EpaSpan { DumpSemis.hs:41:8-13 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpSemis.hs:41:8-9 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:41:8-9 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnRarrow (EpaSpan { DumpSemis.hs:41:8-9 })))
@@ -2016,12 +2467,15 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:41:11-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:41:11-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { DumpSemis.hs:41:11-13 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:41:11-13 })
(NoEpAnns)
(EpaComments
[]))
@@ -2031,30 +2485,31 @@
(EmptyLocalBinds
(NoExtField)))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpSemis.hs:42:6-13 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddSemiAnn
- (EpaSpan { DumpSemis.hs:43:11 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:43:12 }))
- ,(AddSemiAnn
- (EpaSpan { DumpSemis.hs:43:13 }))])
- (EpaComments
- [])) { DumpSemis.hs:42:6-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:42:6-13 })
+ (AnnListItem
+ [(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:43:11 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:43:12 }))
+ ,(AddSemiAnn
+ (EpaSpan { DumpSemis.hs:43:13 }))])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { DumpSemis.hs:42:6 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:42:6 })
[]
(EpaComments
[]))
(CaseAlt)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:42:6 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:42:6 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(NPat
(EpAnnNotUsed)
(L
@@ -2074,14 +2529,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpSemis.hs:42:8-13 })
+ (EpAnnS
+ (EpaSpan { DumpSemis.hs:42:8-13 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { DumpSemis.hs:42:8-9 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:42:8-9 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnRarrow (EpaSpan { DumpSemis.hs:42:8-9 })))
@@ -2089,12 +2544,15 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpSemis.hs:42:11-13 })
+ ((EpAnnS
+ (EpaSpan { DumpSemis.hs:42:11-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { DumpSemis.hs:42:11-13 }
- (UnchangedAnchor))
+ (EpaSpan { DumpSemis.hs:42:11-13 })
(NoEpAnns)
(EpaComments
[]))
@@ -2105,5 +2563,3 @@
(NoExtField)))))]))))))]
(EmptyLocalBinds
(NoExtField)))))])))))]))
-
-
diff --git a/testsuite/tests/parser/should_compile/DumpTypecheckedAst.stderr b/testsuite/tests/parser/should_compile/DumpTypecheckedAst.stderr
index 8f31c0a248..27f929f14c 100644
--- a/testsuite/tests/parser/should_compile/DumpTypecheckedAst.stderr
+++ b/testsuite/tests/parser/should_compile/DumpTypecheckedAst.stderr
@@ -3,137 +3,197 @@
{Bag(LocatedA (HsBind Var)):
[(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarBind
(NoExtField)
{Var: DumpTypecheckedAst.$tcT}
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
{HsWord{64}Prim (1374752024144278257) (NoSourceText)}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
{HsWord{64}Prim (13654949607623281177) (NoSourceText)}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: DumpTypecheckedAst.$trModule})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsPar
(EpAnnNotUsed)
(L
(NoTokenLoc)
(HsTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
@@ -144,155 +204,228 @@
(NoTokenLoc)
(HsTok))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
{HsInt{64}Prim (1) (NoSourceText)}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: $krep})))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarBind
(NoExtField)
{Var: DumpTypecheckedAst.$tc'MkT}
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
{HsWord{64}Prim (10715337633704422415) (NoSourceText)}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
{HsWord{64}Prim (12411373583424111944) (NoSourceText)}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: DumpTypecheckedAst.$trModule})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsPar
(EpAnnNotUsed)
(L
(NoTokenLoc)
(HsTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
@@ -303,155 +436,228 @@
(NoTokenLoc)
(HsTok))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
{HsInt{64}Prim (3) (NoSourceText)}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: $krep})))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarBind
(NoExtField)
{Var: DumpTypecheckedAst.$tcPeano}
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
{HsWord{64}Prim (14073232900889011755) (NoSourceText)}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
{HsWord{64}Prim (2739668351064589274) (NoSourceText)}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: DumpTypecheckedAst.$trModule})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsPar
(EpAnnNotUsed)
(L
(NoTokenLoc)
(HsTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
@@ -462,155 +668,228 @@
(NoTokenLoc)
(HsTok))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
{HsInt{64}Prim (0) (NoSourceText)}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: GHC.Types.krep$*})))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarBind
(NoExtField)
{Var: DumpTypecheckedAst.$tc'Zero}
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
{HsWord{64}Prim (13760111476013868540) (NoSourceText)}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
{HsWord{64}Prim (12314848029315386153) (NoSourceText)}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: DumpTypecheckedAst.$trModule})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsPar
(EpAnnNotUsed)
(L
(NoTokenLoc)
(HsTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
@@ -621,155 +900,228 @@
(NoTokenLoc)
(HsTok))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
{HsInt{64}Prim (0) (NoSourceText)}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: $krep})))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarBind
(NoExtField)
{Var: DumpTypecheckedAst.$tc'Succ}
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
{HsWord{64}Prim (1143980031331647856) (NoSourceText)}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
{HsWord{64}Prim (14802086722010293686) (NoSourceText)}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: DumpTypecheckedAst.$trModule})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsPar
(EpAnnNotUsed)
(L
(NoTokenLoc)
(HsTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
@@ -780,52 +1132,81 @@
(NoTokenLoc)
(HsTok))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
{HsInt{64}Prim (0) (NoSourceText)}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: $krep})))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarBind
(NoExtField)
{Var: $krep}
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
@@ -836,34 +1217,50 @@
(False)
(2)))))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarBind
(NoExtField)
{Var: $krep}
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
@@ -874,34 +1271,50 @@
(False)
(1)))))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarBind
(NoExtField)
{Var: $krep}
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
@@ -912,303 +1325,525 @@
(False)
(0)))))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarBind
(NoExtField)
{Var: $krep}
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: $krep})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: $krep})))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarBind
(NoExtField)
{Var: $krep}
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: $krep})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: GHC.Types.krep$*})))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarBind
(NoExtField)
{Var: $krep}
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: $krep})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: $krep})))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarBind
(NoExtField)
{Var: $krep}
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: $krep})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: $krep})))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarBind
(NoExtField)
{Var: $krep}
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: $krep})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: $krep})))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarBind
(NoExtField)
{Var: $krep}
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: DumpTypecheckedAst.$tcT})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsPar
(EpAnnNotUsed)
(L
(NoTokenLoc)
(HsTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(WrapExpr
(HsWrap
@@ -1222,41 +1857,67 @@
[]
[]))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: $krep})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsPar
(EpAnnNotUsed)
(L
(NoTokenLoc)
(HsTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(WrapExpr
(HsWrap
@@ -1270,41 +1931,67 @@
[]
[]))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: $krep})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsPar
(EpAnnNotUsed)
(L
(NoTokenLoc)
(HsTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(WrapExpr
(HsWrap
@@ -1318,14 +2005,29 @@
[]
[]))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: $krep})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(WrapExpr
(HsWrap
@@ -1348,46 +2050,77 @@
(NoTokenLoc)
(HsTok))))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarBind
(NoExtField)
{Var: $krep}
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: DumpTypecheckedAst.$tcPeano})))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(WrapExpr
(HsWrap
@@ -1401,68 +2134,100 @@
[]
[]))))))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(VarBind
(NoExtField)
{Var: DumpTypecheckedAst.$trModule}
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsPar
(EpAnnNotUsed)
(L
(NoTokenLoc)
(HsTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
@@ -1473,36 +2238,52 @@
(NoTokenLoc)
(HsTok))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsPar
(EpAnnNotUsed)
(L
(NoTokenLoc)
(HsTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XExpr
(ConLikeTc
({abstract:ConLike})
[]
[])))
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { placeholder:-1:-1 }
- (UnchangedAnchor))
+ (EpaDelta (SameLine 0) [])
(NoEpAnns)
(EpaComments
[]))
@@ -1513,7 +2294,12 @@
(NoTokenLoc)
(HsTok))))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpTypecheckedAst.hs:19:1-23 })
+ ((EpAnnS
+ (EpaSpan { DumpTypecheckedAst.hs:19:1-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(XHsBindsLR
(AbsBinds
[]
@@ -1527,20 +2313,23 @@
[({abstract:TcEvBinds})]
{Bag(LocatedA (HsBind Var)):
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { DumpTypecheckedAst.hs:19:1-23 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { DumpTypecheckedAst.hs:19:1-23 })
+ ((EpAnnS
+ (EpaSpan { DumpTypecheckedAst.hs:19:1-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FunBind
((,)
(WpHole)
[])
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpTypecheckedAst.hs:19:1-4 })
+ ((EpAnnS
+ (EpaSpan { DumpTypecheckedAst.hs:19:1-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: main})
(MG
(MatchGroupTc
@@ -1554,12 +2343,22 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { DumpTypecheckedAst.hs:19:1-23 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpTypecheckedAst.hs:19:1-23 })
+ ((EpAnnS
+ (EpaSpan { DumpTypecheckedAst.hs:19:1-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnnNotUsed)
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpTypecheckedAst.hs:19:1-4 })
+ ((EpAnnS
+ (EpaSpan { DumpTypecheckedAst.hs:19:1-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: main})
(Prefix)
(NoSrcStrict))
@@ -1568,30 +2367,50 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { DumpTypecheckedAst.hs:19:6-23 })
+ (EpAnnS
+ (EpaSpan { DumpTypecheckedAst.hs:19:6-23 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnnNotUsed)
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpTypecheckedAst.hs:19:8-23 })
+ ((EpAnnS
+ (EpaSpan { DumpTypecheckedAst.hs:19:8-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsApp
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpTypecheckedAst.hs:19:8-15 })
+ ((EpAnnS
+ (EpaSpan { DumpTypecheckedAst.hs:19:8-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { <no location info> })
+ ((EpAnnS
+ (EpaSpan { <no location info> })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Var: putStrLn})))
(L
- (SrcSpanAnn (EpAnnNotUsed) { DumpTypecheckedAst.hs:19:17-23 })
+ ((EpAnnS
+ (EpaSpan { DumpTypecheckedAst.hs:19:17-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsLit
(EpAnn
- (Anchor
- { DumpTypecheckedAst.hs:19:17-23 }
- (UnchangedAnchor))
+ (EpaSpan { DumpTypecheckedAst.hs:19:17-23 })
(NoEpAnns)
(EpaComments
[]))
@@ -1601,5 +2420,3 @@
(EmptyLocalBinds
(NoExtField)))))]))))]}
(False))))]}
-
-
diff --git a/testsuite/tests/parser/should_compile/KindSigs.stderr b/testsuite/tests/parser/should_compile/KindSigs.stderr
index 020d16aeb4..2076ec0023 100644
--- a/testsuite/tests/parser/should_compile/KindSigs.stderr
+++ b/testsuite/tests/parser/should_compile/KindSigs.stderr
@@ -6,9 +6,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { KindSigs.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:1:1 })
(AnnsModule
[(AddEpAnn AnnModule (EpaSpan { KindSigs.hs:6:1-6 }))
,(AddEpAnn AnnWhere (EpaSpan { KindSigs.hs:6:17-21 }))]
@@ -26,17 +24,25 @@
(Nothing))
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:6:8-15 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:6:8-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: KindSigs}))
(Nothing)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:8:1-16 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:8:1-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ImportDecl
(XImportDeclPass
(EpAnn
- (Anchor
- { KindSigs.hs:8:1-6 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:8:1-6 })
(EpAnnImportDecl
(EpaSpan { KindSigs.hs:8:1-6 })
(Nothing)
@@ -49,7 +55,12 @@
(NoSourceText)
(False))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:8:8-16 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:8:8-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: Data.Kind})
(NoRawPkgQual)
(NotBoot)
@@ -58,23 +69,19 @@
(Nothing)
(Nothing)))]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:(11,1)-(12,21) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { KindSigs.hs:(11,1)-(12,21) })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:(11,1)-(12,21) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(FamDecl
(NoExtField)
(FamilyDecl
(EpAnn
- (Anchor
- { KindSigs.hs:(11,1)-(12,21) }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:(11,1)-(12,21) })
[(AddEpAnn AnnType (EpaSpan { KindSigs.hs:11:1-4 }))
,(AddEpAnn AnnFamily (EpaSpan { KindSigs.hs:11:6-11 }))
,(AddEpAnn AnnWhere (EpaSpan { KindSigs.hs:11:19-23 }))]
@@ -83,98 +90,146 @@
(ClosedTypeFamily
(Just
[(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:12:3-21 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:12:3-21 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FamEqn
(EpAnn
- (Anchor
- { KindSigs.hs:12:3-21 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:12:3-21 })
[(AddEpAnn AnnEqual (EpaSpan { KindSigs.hs:12:9 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:12:3-5 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:12:3-5 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Foo}))
(HsOuterImplicit
(NoExtField))
[(HsValArg
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:12:7 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:12:7 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:12:7 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:12:7 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:12:7 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:12:7 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a})))))]
(Prefix)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:12:11-21 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:12:11-21 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsKindSig
(EpAnn
- (Anchor
- { KindSigs.hs:12:11-13 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:12:11-13 })
[(AddEpAnn AnnDcolon (EpaSpan { KindSigs.hs:12:15-16 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:12:11-13 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:12:11-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:12:11-13 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:12:11-13 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:12:11-13 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:12:11-13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:12:18-21 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:12:18-21 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:12:18-21 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:12:18-21 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:12:18-21 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:12:18-21 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type}))))))))]))
(TopLevel)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:11:13-15 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:11:13-15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Foo}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:11:17 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:11:17 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:11:17 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:11:17 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:11:17 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:11:17 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
@@ -186,54 +241,66 @@
(NoExtField)))
(Nothing)))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:15:1-51 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { KindSigs.hs:15:1-51 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:1-51 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(SynDecl
(EpAnn
- (Anchor
- { KindSigs.hs:15:1-51 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:15:1-51 })
[(AddEpAnn AnnType (EpaSpan { KindSigs.hs:15:1-4 }))
,(AddEpAnn AnnEqual (EpaSpan { KindSigs.hs:15:12 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:15:6-8 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:6-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Bar}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:15:10 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:10 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:15:10 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:15:10 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:15:10 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:10 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:15:14-51 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:14-51 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTupleTy
(EpAnn
- (Anchor
- { KindSigs.hs:15:14 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:15:14 })
(AnnParen
(AnnParens)
(EpaSpan { KindSigs.hs:15:14 })
@@ -242,184 +309,241 @@
[]))
(HsBoxedOrConstraintTuple)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:15:16-26 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddCommaAnn
- (EpaSpan { KindSigs.hs:15:27 }))])
- (EpaComments
- [])) { KindSigs.hs:15:16-26 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:16-26 })
+ (AnnListItem
+ [(AddCommaAnn
+ (EpaSpan { KindSigs.hs:15:27 }))])
+ (EpaComments
+ [])))
(HsKindSig
(EpAnn
- (Anchor
- { KindSigs.hs:15:16-18 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:15:16-18 })
[(AddEpAnn AnnDcolon (EpaSpan { KindSigs.hs:15:20-21 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:15:16-18 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:16-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:15:16-18 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:15:16-18 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:15:16-18 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:16-18 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:15:23-26 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:23-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:15:23-26 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:15:23-26 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:15:23-26 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:23-26 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type}))))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:15:29-32 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddCommaAnn
- (EpaSpan { KindSigs.hs:15:33 }))])
- (EpaComments
- [])) { KindSigs.hs:15:29-32 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:29-32 })
+ (AnnListItem
+ [(AddCommaAnn
+ (EpaSpan { KindSigs.hs:15:33 }))])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:15:29-32 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:15:29-32 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:15:29-32 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:29-32 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Bool}))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:15:35-49 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:35-49 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsKindSig
(EpAnn
- (Anchor
- { KindSigs.hs:15:35-41 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:15:35-41 })
[(AddEpAnn AnnDcolon (EpaSpan { KindSigs.hs:15:43-44 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:15:35-41 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:35-41 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:15:35-39 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:35-39 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:15:35-39 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:15:35-39 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:15:35-39 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:35-39 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Maybe}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:15:41 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:41 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:15:41 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:15:41 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:15:41 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:41 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:15:46-49 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:46-49 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:15:46-49 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:15:46-49 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:15:46-49 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:15:46-49 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type}))))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:16:1-54 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { KindSigs.hs:16:1-54 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:1-54 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(SynDecl
(EpAnn
- (Anchor
- { KindSigs.hs:16:1-54 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:16:1-54 })
[(AddEpAnn AnnType (EpaSpan { KindSigs.hs:16:1-4 }))
,(AddEpAnn AnnEqual (EpaSpan { KindSigs.hs:16:13 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:16:6-9 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:6-9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Bar'}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:16:11 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:16:11 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:16:11 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:16:11 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))])
(Prefix)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:16:15-54 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:15-54 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTupleTy
(EpAnn
- (Anchor
- { KindSigs.hs:16:15-16 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:16:15-16 })
(AnnParen
(AnnParensHash)
(EpaSpan { KindSigs.hs:16:15-16 })
@@ -428,157 +552,203 @@
[]))
(HsUnboxedTuple)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:16:18-28 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddCommaAnn
- (EpaSpan { KindSigs.hs:16:29 }))])
- (EpaComments
- [])) { KindSigs.hs:16:18-28 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:18-28 })
+ (AnnListItem
+ [(AddCommaAnn
+ (EpaSpan { KindSigs.hs:16:29 }))])
+ (EpaComments
+ [])))
(HsKindSig
(EpAnn
- (Anchor
- { KindSigs.hs:16:18-20 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:16:18-20 })
[(AddEpAnn AnnDcolon (EpaSpan { KindSigs.hs:16:22-23 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:16:18-20 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:18-20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:16:18-20 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:16:18-20 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:16:18-20 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:18-20 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:16:25-28 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:25-28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:16:25-28 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:16:25-28 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:16:25-28 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:25-28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type}))))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:16:31-34 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddCommaAnn
- (EpaSpan { KindSigs.hs:16:35 }))])
- (EpaComments
- [])) { KindSigs.hs:16:31-34 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:31-34 })
+ (AnnListItem
+ [(AddCommaAnn
+ (EpaSpan { KindSigs.hs:16:35 }))])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:16:31-34 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:16:31-34 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:16:31-34 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:31-34 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Bool}))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:16:37-51 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:37-51 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsKindSig
(EpAnn
- (Anchor
- { KindSigs.hs:16:37-43 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:16:37-43 })
[(AddEpAnn AnnDcolon (EpaSpan { KindSigs.hs:16:45-46 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:16:37-43 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:37-43 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:16:37-41 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:37-41 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:16:37-41 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:16:37-41 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:16:37-41 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:37-41 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Maybe}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:16:43 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:43 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:16:43 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:16:43 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:16:43 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:43 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:16:48-51 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:48-51 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:16:48-51 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:16:48-51 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:16:48-51 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:16:48-51 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type}))))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:19:1-26 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { KindSigs.hs:19:1-26 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:19:1-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(SynDecl
(EpAnn
- (Anchor
- { KindSigs.hs:19:1-26 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:19:1-26 })
[(AddEpAnn AnnType (EpaSpan { KindSigs.hs:19:1-4 }))
,(AddEpAnn AnnEqual (EpaSpan { KindSigs.hs:19:10 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:19:6-8 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:19:6-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Baz}))
(HsQTvs
@@ -586,12 +756,15 @@
[])
(Prefix)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:19:12-26 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:19:12-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsListTy
(EpAnn
- (Anchor
- { KindSigs.hs:19:12 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:19:12 })
(AnnParen
(AnnParensSquare)
(EpaSpan { KindSigs.hs:19:12 })
@@ -599,85 +772,113 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:19:14-24 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:19:14-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsKindSig
(EpAnn
- (Anchor
- { KindSigs.hs:19:14-16 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:19:14-16 })
[(AddEpAnn AnnDcolon (EpaSpan { KindSigs.hs:19:18-19 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:19:14-16 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:19:14-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:19:14-16 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:19:14-16 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:19:14-16 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:19:14-16 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:19:21-24 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:19:21-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:19:21-24 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:19:21-24 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:19:21-24 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:19:21-24 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type})))))))))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:22:1-44 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { KindSigs.hs:22:1-44 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:1-44 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(SigD
(NoExtField)
(TypeSig
(EpAnn
- (Anchor
- { KindSigs.hs:22:1-3 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:22:1-3 })
(AnnSig
(AddEpAnn AnnDcolon (EpaSpan { KindSigs.hs:22:5-6 }))
[])
(EpaComments
[]))
[(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:22:1-3 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: qux}))]
(HsWC
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:22:8-44 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:8-44 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:22:8-44 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:8-44 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { KindSigs.hs:22:8-20 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:22:8-20 })
(NoEpAnns)
(EpaComments
[]))
@@ -687,12 +888,15 @@
(EpaSpan { KindSigs.hs:22:22-23 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:22:8-20 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:8-20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnn
- (Anchor
- { KindSigs.hs:22:8 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:22:8 })
(AnnParen
(AnnParens)
(EpaSpan { KindSigs.hs:22:8 })
@@ -700,52 +904,74 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:22:9-19 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:9-19 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsKindSig
(EpAnn
- (Anchor
- { KindSigs.hs:22:9-11 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:22:9-11 })
[(AddEpAnn AnnDcolon (EpaSpan { KindSigs.hs:22:13-14 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:22:9-11 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:9-11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:22:9-11 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:22:9-11 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:22:9-11 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:9-11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:22:16-19 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:16-19 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:22:16-19 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:22:16-19 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:22:16-19 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:16-19 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type}))))))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:22:25-44 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:25-44 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsFunTy
(EpAnn
- (Anchor
- { KindSigs.hs:22:25-28 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:22:25-28 })
(NoEpAnns)
(EpaComments
[]))
@@ -755,27 +981,38 @@
(EpaSpan { KindSigs.hs:22:30-31 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:22:25-28 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:25-28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:22:25-28 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:22:25-28 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:22:25-28 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:25-28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Bool}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:22:33-44 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:33-44 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnn
- (Anchor
- { KindSigs.hs:22:33 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:22:33 })
(AnnParen
(AnnParens)
(EpaSpan { KindSigs.hs:22:33 })
@@ -783,22 +1020,28 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:22:34-43 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:34-43 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsKindSig
(EpAnn
- (Anchor
- { KindSigs.hs:22:34-35 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:22:34-35 })
[(AddEpAnn AnnDcolon (EpaSpan { KindSigs.hs:22:37-38 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:22:34-35 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:34-35 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTupleTy
(EpAnn
- (Anchor
- { KindSigs.hs:22:34 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:22:34 })
(AnnParen
(AnnParens)
(EpaSpan { KindSigs.hs:22:34 })
@@ -808,35 +1051,46 @@
(HsBoxedOrConstraintTuple)
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:22:40-43 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:40-43 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:22:40-43 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:22:40-43 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:22:40-43 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:22:40-43 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type}))))))))))))))))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:23:1-12 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { KindSigs.hs:23:1-12 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:23:1-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:23:1-3 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:23:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: qux}))
(MG
@@ -844,49 +1098,60 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:23:1-12 })
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:23:1-12 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { KindSigs.hs:23:1-12 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:23:1-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { KindSigs.hs:23:1-12 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:23:1-12 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:23:1-3 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:23:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: qux}))
(Prefix)
(NoSrcStrict))
[(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:23:5 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:23:5 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(WildPat
(NoExtField)))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:23:7 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:23:7 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(WildPat
(NoExtField)))]
(GRHSs
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { KindSigs.hs:23:9-12 })
+ (EpAnnS
+ (EpaSpan { KindSigs.hs:23:9-12 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { KindSigs.hs:23:9-12 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:23:9-12 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { KindSigs.hs:23:9 })))
@@ -894,47 +1159,51 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:23:11-12 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:23:11-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:23:11-12 }
- (UnchangedAnchor))
- (NameAnnOnly
- (NameParens)
- (EpaSpan { KindSigs.hs:23:11 })
- (EpaSpan { KindSigs.hs:23:12 })
- [])
- (EpaComments
- [])) { KindSigs.hs:23:11-12 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:23:11-12 })
+ (NameAnnOnly
+ (NameParens)
+ (EpaSpan { KindSigs.hs:23:11 })
+ (EpaSpan { KindSigs.hs:23:12 })
+ [])
+ (EpaComments
+ [])))
(Exact
{Name: ()}))))))]
(EmptyLocalBinds
(NoExtField)))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:26:1-29 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { KindSigs.hs:26:1-29 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:26:1-29 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(SynDecl
(EpAnn
- (Anchor
- { KindSigs.hs:26:1-29 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:26:1-29 })
[(AddEpAnn AnnType (EpaSpan { KindSigs.hs:26:1-4 }))
,(AddEpAnn AnnEqual (EpaSpan { KindSigs.hs:26:11 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:26:6-9 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:26:6-9 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Quux}))
(HsQTvs
@@ -942,12 +1211,15 @@
[])
(Prefix)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:26:13-29 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:26:13-29 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsExplicitListTy
(EpAnn
- (Anchor
- { KindSigs.hs:26:13 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:26:13 })
[(AddEpAnn AnnSimpleQuote (EpaSpan { KindSigs.hs:26:13 }))
,(AddEpAnn AnnOpenS (EpaSpan { KindSigs.hs:26:14 }))
,(AddEpAnn AnnCloseS (EpaSpan { KindSigs.hs:26:29 }))]
@@ -955,67 +1227,87 @@
[]))
(IsPromoted)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:26:16-27 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:26:16-27 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsKindSig
(EpAnn
- (Anchor
- { KindSigs.hs:26:16-19 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:26:16-19 })
[(AddEpAnn AnnDcolon (EpaSpan { KindSigs.hs:26:21-22 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:26:16-19 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:26:16-19 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:26:16-19 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:26:16-19 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:26:16-19 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:26:16-19 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: True}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:26:24-27 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:26:24-27 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:26:24-27 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:26:24-27 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:26:24-27 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:26:24-27 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Bool}))))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:27:1-45 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { KindSigs.hs:27:1-45 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:27:1-45 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(SynDecl
(EpAnn
- (Anchor
- { KindSigs.hs:27:1-45 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:27:1-45 })
[(AddEpAnn AnnType (EpaSpan { KindSigs.hs:27:1-4 }))
,(AddEpAnn AnnEqual (EpaSpan { KindSigs.hs:27:12 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:27:6-10 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:27:6-10 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Quux'}))
(HsQTvs
@@ -1023,234 +1315,291 @@
[])
(Prefix)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:27:14-45 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:27:14-45 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsExplicitListTy
(EpAnn
- (Anchor
- { KindSigs.hs:27:14 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:27:14 })
[(AddEpAnn AnnOpenS (EpaSpan { KindSigs.hs:27:14 }))
,(AddEpAnn AnnCloseS (EpaSpan { KindSigs.hs:27:45 }))]
(EpaComments
[]))
(NotPromoted)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:27:16-27 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddCommaAnn
- (EpaSpan { KindSigs.hs:27:28 }))])
- (EpaComments
- [])) { KindSigs.hs:27:16-27 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:27:16-27 })
+ (AnnListItem
+ [(AddCommaAnn
+ (EpaSpan { KindSigs.hs:27:28 }))])
+ (EpaComments
+ [])))
(HsKindSig
(EpAnn
- (Anchor
- { KindSigs.hs:27:16-19 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:27:16-19 })
[(AddEpAnn AnnDcolon (EpaSpan { KindSigs.hs:27:21-22 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:27:16-19 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:27:16-19 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:27:16-19 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:27:16-19 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:27:16-19 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:27:16-19 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: True}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:27:24-27 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:27:24-27 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:27:24-27 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:27:24-27 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:27:24-27 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:27:24-27 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Bool}))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:27:30-42 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:27:30-42 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsKindSig
(EpAnn
- (Anchor
- { KindSigs.hs:27:30-34 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:27:30-34 })
[(AddEpAnn AnnDcolon (EpaSpan { KindSigs.hs:27:36-37 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:27:30-34 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:27:30-34 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:27:30-34 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:27:30-34 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:27:30-34 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:27:30-34 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: False}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:27:39-42 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:27:39-42 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:27:39-42 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:27:39-42 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:27:39-42 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:27:39-42 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Bool}))))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:28:1-44 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { KindSigs.hs:28:1-44 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:28:1-44 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(SynDecl
(EpAnn
- (Anchor
- { KindSigs.hs:28:1-44 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:28:1-44 })
[(AddEpAnn AnnType (EpaSpan { KindSigs.hs:28:1-4 }))
,(AddEpAnn AnnEqual (EpaSpan { KindSigs.hs:28:14 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:28:6-10 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:28:6-10 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Quuux}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:28:12 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:28:12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:28:12 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:28:12 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:28:12 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:28:12 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: b}))))])
(Prefix)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:28:16-44 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:28:16-44 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsExplicitTupleTy
(EpAnn
- (Anchor
- { KindSigs.hs:28:16 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:28:16 })
[(AddEpAnn AnnSimpleQuote (EpaSpan { KindSigs.hs:28:16 }))
,(AddEpAnn AnnOpenP (EpaSpan { KindSigs.hs:28:17 }))
,(AddEpAnn AnnCloseP (EpaSpan { KindSigs.hs:28:44 }))]
(EpaComments
[]))
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:28:19-39 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddCommaAnn
- (EpaSpan { KindSigs.hs:28:40 }))])
- (EpaComments
- [])) { KindSigs.hs:28:19-39 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:28:19-39 })
+ (AnnListItem
+ [(AddCommaAnn
+ (EpaSpan { KindSigs.hs:28:40 }))])
+ (EpaComments
+ [])))
(HsKindSig
(EpAnn
- (Anchor
- { KindSigs.hs:28:19-29 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:28:19-29 })
[(AddEpAnn AnnDcolon (EpaSpan { KindSigs.hs:28:31-32 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:28:19-29 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:28:19-29 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsExplicitListTy
(EpAnn
- (Anchor
- { KindSigs.hs:28:19 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:28:19 })
[(AddEpAnn AnnOpenS (EpaSpan { KindSigs.hs:28:19 }))
,(AddEpAnn AnnCloseS (EpaSpan { KindSigs.hs:28:29 }))]
(EpaComments
[]))
(NotPromoted)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:28:20-22 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddCommaAnn
- (EpaSpan { KindSigs.hs:28:23 }))])
- (EpaComments
- [])) { KindSigs.hs:28:20-22 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:28:20-22 })
+ (AnnListItem
+ [(AddCommaAnn
+ (EpaSpan { KindSigs.hs:28:23 }))])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:28:20-22 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:28:20-22 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:28:20-22 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:28:20-22 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:28:25-28 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:28:25-28 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:28:25-28 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:28:25-28 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:28:25-28 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:28:25-28 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Bool}))))]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:28:34-39 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:28:34-39 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsListTy
(EpAnn
- (Anchor
- { KindSigs.hs:28:34 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:28:34 })
(AnnParen
(AnnParensSquare)
(EpaSpan { KindSigs.hs:28:34 })
@@ -1258,57 +1607,74 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:28:35-38 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:28:35-38 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:28:35-38 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:28:35-38 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:28:35-38 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:28:35-38 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type}))))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:28:42 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:28:42 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:28:42 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:28:42 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:28:42 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:28:42 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: b}))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:31:1-31 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { KindSigs.hs:31:1-31 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:31:1-31 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(SynDecl
(EpAnn
- (Anchor
- { KindSigs.hs:31:1-31 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:31:1-31 })
[(AddEpAnn AnnType (EpaSpan { KindSigs.hs:31:1-4 }))
,(AddEpAnn AnnEqual (EpaSpan { KindSigs.hs:31:19 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:31:6-17 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:31:6-17 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Sarsaparilla}))
(HsQTvs
@@ -1316,85 +1682,113 @@
[])
(Prefix)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:31:21-31 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:31:21-31 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsKindSig
(EpAnn
- (Anchor
- { KindSigs.hs:31:21-23 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:31:21-23 })
[(AddEpAnn AnnDcolon (EpaSpan { KindSigs.hs:31:25-26 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:31:21-23 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:31:21-23 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:31:21-23 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:31:21-23 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:31:21-23 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:31:21-23 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:31:28-31 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:31:28-31 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:31:28-31 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:31:28-31 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:31:28-31 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:31:28-31 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type})))))))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:34:1-22 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { KindSigs.hs:34:1-22 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:34:1-22 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(SigD
(NoExtField)
(TypeSig
(EpAnn
- (Anchor
- { KindSigs.hs:34:1-4 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:34:1-4 })
(AnnSig
(AddEpAnn AnnDcolon (EpaSpan { KindSigs.hs:34:6-7 }))
[])
(EpaComments
[]))
[(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:34:1-4 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:34:1-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: true}))]
(HsWC
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:34:9-22 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:34:9-22 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsSig
(NoExtField)
(HsOuterImplicit
(NoExtField))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:34:9-22 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:34:9-22 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnn
- (Anchor
- { KindSigs.hs:34:9 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:34:9 })
(AnnParen
(AnnParens)
(EpaSpan { KindSigs.hs:34:9 })
@@ -1402,60 +1796,82 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:34:10-21 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:34:10-21 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsKindSig
(EpAnn
- (Anchor
- { KindSigs.hs:34:10-13 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:34:10-13 })
[(AddEpAnn AnnDcolon (EpaSpan { KindSigs.hs:34:15-16 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:34:10-13 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:34:10-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:34:10-13 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:34:10-13 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:34:10-13 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:34:10-13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Bool}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:34:18-21 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:34:18-21 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { KindSigs.hs:34:18-21 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:34:18-21 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:34:18-21 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:34:18-21 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Type}))))))))))))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { KindSigs.hs:35:1-11 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { KindSigs.hs:35:1-11 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:35:1-11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:35:1-4 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:35:1-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: true}))
(MG
@@ -1463,18 +1879,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:35:1-11 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:35:1-11 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:35:1-11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { KindSigs.hs:35:1-11 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:35:1-11 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:35:1-4 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:35:1-4 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: true}))
(Prefix)
@@ -1484,14 +1908,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { KindSigs.hs:35:6-11 })
+ (EpAnnS
+ (EpaSpan { KindSigs.hs:35:6-11 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { KindSigs.hs:35:6-11 }
- (UnchangedAnchor))
+ (EpaSpan { KindSigs.hs:35:6-11 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { KindSigs.hs:35:6 })))
@@ -1499,11 +1923,21 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:35:8-11 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:35:8-11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { KindSigs.hs:35:8-11 })
+ ((EpAnnS
+ (EpaSpan { KindSigs.hs:35:8-11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: True}))))))]
(EmptyLocalBinds
diff --git a/testsuite/tests/parser/should_compile/T14189.stderr b/testsuite/tests/parser/should_compile/T14189.stderr
index 1bd38be52a..fd6269770e 100644
--- a/testsuite/tests/parser/should_compile/T14189.stderr
+++ b/testsuite/tests/parser/should_compile/T14189.stderr
@@ -13,21 +13,24 @@
[(TyClGroup
(NoExtField)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T14189.hs:6:1-42 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T14189.hs:6:1-42 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:6:1-42 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(DataDecl
(DataDeclRn
(True)
{NameSet:
[{Name: GHC.Types.Int}]})
(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:6:6-11 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:6:6-11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: T14189.MyType})
(HsQTvs
[]
@@ -41,19 +44,22 @@
(DataTypeCons
(False)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T14189.hs:6:15-20 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddVbarAnn
- (EpaSpan { T14189.hs:6:22 }))])
- (EpaComments
- [])) { T14189.hs:6:15-20 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:6:15-20 })
+ (AnnListItem
+ [(AddVbarAnn
+ (EpaSpan { T14189.hs:6:22 }))])
+ (EpaComments
+ [])))
(ConDeclH98
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:6:15-16 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:6:15-16 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: T14189.MT})
(False)
[]
@@ -70,28 +76,41 @@
(NoTokenLoc)
(HsNormalTok))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:6:18-20 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:6:18-20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:6:18-20 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:6:18-20 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: GHC.Types.Int}))))])
(Nothing)))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T14189.hs:6:24-25 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddVbarAnn
- (EpaSpan { T14189.hs:6:27 }))])
- (EpaComments
- [])) { T14189.hs:6:24-25 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:6:24-25 })
+ (AnnListItem
+ [(AddVbarAnn
+ (EpaSpan { T14189.hs:6:27 }))])
+ (EpaComments
+ [])))
(ConDeclH98
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:6:24-25 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:6:24-25 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: T14189.NT})
(False)
[]
@@ -101,11 +120,21 @@
[])
(Nothing)))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:6:29-42 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:6:29-42 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclH98
(EpAnnNotUsed)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:6:29 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:6:29 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: T14189.F})
(False)
[]
@@ -113,14 +142,10 @@
(RecCon
(L
(SrcSpanAnn (EpAnn
- (Anchor
- { T14189.hs:6:31 }
- (UnchangedAnchor))
+ (EpaSpan { T14189.hs:6:31 })
(AnnList
(Just
- (Anchor
- { T14189.hs:6:33-40 }
- (UnchangedAnchor)))
+ (EpaSpan { T14189.hs:6:33-40 }))
(Just
(AddEpAnn AnnOpenC (EpaSpan { T14189.hs:6:31 })))
(Just
@@ -130,26 +155,48 @@
(EpaComments
[])) { T14189.hs:6:31-42 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:6:33-40 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:6:33-40 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclField
(EpAnnNotUsed)
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { T14189.hs:6:33 })
+ (EpAnnS
+ (EpaSpan { T14189.hs:6:33 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(FieldOcc
{Name: T14189.f}
(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:6:33 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:6:33 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: f}))))]
(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:6:38-40 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:6:38-40 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnnNotUsed)
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:6:38-40 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:6:38-40 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: GHC.Types.Int})))
(Nothing)))]))
(Nothing)))])
@@ -166,14 +213,24 @@
[]
[])
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:1:8-13 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:1:8-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ImportDecl
(XImportDeclPass
(EpAnnNotUsed)
(NoSourceText)
(True))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:1:8-13 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:1:8-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: Prelude})
(NoPkgQual)
(NotBoot)
@@ -184,51 +241,75 @@
(Just
[((,)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:3:3-15 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:3:3-15 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(IEThingWith
(EpAnn
- (Anchor
- { T14189.hs:3:3-8 }
- (UnchangedAnchor))
+ (EpaSpan { T14189.hs:3:3-8 })
[(AddEpAnn AnnOpenP (EpaSpan { T14189.hs:3:10 }))
,(AddEpAnn AnnCloseP (EpaSpan { T14189.hs:3:15 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:3:3-8 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:3:3-8 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(IEName
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:3:3-8 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:3:3-8 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: T14189.MyType})))
(NoIEWildcard)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T14189.hs:3:11 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddCommaAnn
- (EpaSpan { T14189.hs:3:12 }))])
- (EpaComments
- [])) { T14189.hs:3:11 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:3:11 })
+ (AnnListItem
+ [(AddCommaAnn
+ (EpaSpan { T14189.hs:3:12 }))])
+ (EpaComments
+ [])))
(IEName
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:3:11 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:3:11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: T14189.f})))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:3:13-14 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:3:13-14 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(IEName
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T14189.hs:3:13-14 })
+ ((EpAnnS
+ (EpaSpan { T14189.hs:3:13-14 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
{Name: T14189.NT})))]))
[(AvailTC
{Name: T14189.MyType}
[{Name: T14189.MyType}
,{Name: T14189.f}
,{Name: T14189.NT}])])])
- (Nothing)))
-
-
+ (Nothing))) \ No newline at end of file
diff --git a/testsuite/tests/parser/should_compile/T15323.stderr b/testsuite/tests/parser/should_compile/T15323.stderr
index e4911a91b3..84cb8555cc 100644
--- a/testsuite/tests/parser/should_compile/T15323.stderr
+++ b/testsuite/tests/parser/should_compile/T15323.stderr
@@ -6,9 +6,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { T15323.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { T15323.hs:1:1 })
(AnnsModule
[(AddEpAnn AnnModule (EpaSpan { T15323.hs:3:1-6 }))
,(AddEpAnn AnnWhere (EpaSpan { T15323.hs:3:15-19 }))]
@@ -26,49 +24,63 @@
(Nothing))
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:3:8-13 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:3:8-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: T15323}))
(Nothing)
[]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T15323.hs:(5,1)-(6,54) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T15323.hs:(5,1)-(6,54) })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:(5,1)-(6,54) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(DataDecl
(EpAnn
- (Anchor
- { T15323.hs:(5,1)-(6,54) }
- (UnchangedAnchor))
+ (EpaSpan { T15323.hs:(5,1)-(6,54) })
[(AddEpAnn AnnData (EpaSpan { T15323.hs:5:1-4 }))
,(AddEpAnn AnnWhere (EpaSpan { T15323.hs:5:21-25 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:5:6-17 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:5:6-17 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: MaybeDefault}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:5:19 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:5:19 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T15323.hs:5:19 }
- (UnchangedAnchor))
+ (EpaSpan { T15323.hs:5:19 })
[]
(EpaComments
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:5:19 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:5:19 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: v}))))])
(Prefix)
@@ -80,18 +92,26 @@
(DataTypeCons
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:6:5-54 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:6:5-54 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclGADT
(EpAnn
- (Anchor
- { T15323.hs:6:5-54 }
- (UnchangedAnchor))
+ (EpaSpan { T15323.hs:6:5-54 })
[]
(EpaComments
[]))
(:|
(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:6:5-14 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:6:5-14 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: TestParens}))
[])
@@ -100,38 +120,47 @@
(EpaSpan { T15323.hs:6:17-18 }))
(HsNormalTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:6:20-54 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:6:20-54 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOuterExplicit
(EpAnn
- (Anchor
- { T15323.hs:6:20-25 }
- (UnchangedAnchor))
+ (EpaSpan { T15323.hs:6:20-25 })
((,)
(AddEpAnn AnnForall (EpaSpan { T15323.hs:6:20-25 }))
(AddEpAnn AnnDot (EpaSpan { T15323.hs:6:29 })))
(EpaComments
[]))
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:6:27 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:6:27 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(UserTyVar
(EpAnn
- (Anchor
- { T15323.hs:6:27 }
- (UnchangedAnchor))
+ (EpaSpan { T15323.hs:6:27 })
[]
(EpaComments
[]))
(SpecifiedSpec)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:6:27 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:6:27 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: v}))))]))
(Just
(L
(SrcSpanAnn (EpAnn
- (Anchor
- { T15323.hs:6:31-36 }
- (UnchangedAnchor))
+ (EpaSpan { T15323.hs:6:31-36 })
(AnnContext
(Just
((,)
@@ -142,12 +171,15 @@
(EpaComments
[])) { T15323.hs:6:31-36 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:6:31-36 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:6:31-36 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsParTy
(EpAnn
- (Anchor
- { T15323.hs:6:31 }
- (UnchangedAnchor))
+ (EpaSpan { T15323.hs:6:31 })
(AnnParen
(AnnParens)
(EpaSpan { T15323.hs:6:31 })
@@ -155,76 +187,116 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:6:32-35 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:6:32-35 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:6:32-33 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:6:32-33 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T15323.hs:6:32-33 }
- (UnchangedAnchor))
+ (EpaSpan { T15323.hs:6:32-33 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:6:32-33 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:6:32-33 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Eq}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:6:35 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:6:35 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T15323.hs:6:35 }
- (UnchangedAnchor))
+ (EpaSpan { T15323.hs:6:35 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:6:35 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:6:35 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: v}))))))))]))
(PrefixConGADT
[])
(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:6:41-54 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:6:41-54 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsAppTy
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:6:41-52 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:6:41-52 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T15323.hs:6:41-52 }
- (UnchangedAnchor))
+ (EpaSpan { T15323.hs:6:41-52 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:6:41-52 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:6:41-52 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: MaybeDefault}))))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:6:54 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:6:54 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T15323.hs:6:54 }
- (UnchangedAnchor))
+ (EpaSpan { T15323.hs:6:54 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T15323.hs:6:54 })
+ ((EpAnnS
+ (EpaSpan { T15323.hs:6:54 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: v}))))))
(Nothing)))])
[]))))]))
-
-
diff --git a/testsuite/tests/parser/should_compile/T20452.stderr b/testsuite/tests/parser/should_compile/T20452.stderr
index af4da2d5a9..e2d5949a06 100644
--- a/testsuite/tests/parser/should_compile/T20452.stderr
+++ b/testsuite/tests/parser/should_compile/T20452.stderr
@@ -6,9 +6,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { T20452.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:1:1 })
(AnnsModule
[(AddEpAnn AnnModule (EpaSpan { T20452.hs:3:1-6 }))
,(AddEpAnn AnnWhere (EpaSpan { T20452.hs:3:15-19 }))]
@@ -26,43 +24,52 @@
(Nothing))
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:3:8-13 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:3:8-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: T20452}))
(Nothing)
[]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T20452.hs:5:1-31 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T20452.hs:5:1-31 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:5:1-31 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(DataDecl
(EpAnn
- (Anchor
- { T20452.hs:5:1-31 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:5:1-31 })
[(AddEpAnn AnnData (EpaSpan { T20452.hs:5:1-4 }))
,(AddEpAnn AnnEqual (EpaSpan { T20452.hs:5:24 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:5:6-11 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:5:6-11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Proxy1}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:5:14-21 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:5:14-21 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(KindedTyVar
(EpAnn
- (Anchor
- { T20452.hs:5:14-21 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:5:14-21 })
[(AddEpAnn AnnDcolon (EpaSpan { T20452.hs:5:17-18 }))
,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:5:14 }))
,(AddEpAnn AnnCloseP (EpaSpan { T20452.hs:5:21 }))]
@@ -70,22 +77,35 @@
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:5:15 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:5:15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:5:20 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:5:20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T20452.hs:5:20 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:5:20 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:5:20 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:5:20 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: k}))))))])
(Prefix)
@@ -97,17 +117,25 @@
(DataTypeCons
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:5:26-31 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:5:26-31 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclH98
(EpAnn
- (Anchor
- { T20452.hs:5:26-31 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:5:26-31 })
[]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:5:26-31 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:5:26-31 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Proxy1}))
(False)
@@ -119,38 +147,42 @@
(Nothing)))])
[]))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T20452.hs:6:1-31 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T20452.hs:6:1-31 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:6:1-31 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(DataDecl
(EpAnn
- (Anchor
- { T20452.hs:6:1-31 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:6:1-31 })
[(AddEpAnn AnnData (EpaSpan { T20452.hs:6:1-4 }))
,(AddEpAnn AnnEqual (EpaSpan { T20452.hs:6:24 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:6:6-11 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:6:6-11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Proxy2}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:6:13-22 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:6:13-22 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(KindedTyVar
(EpAnn
- (Anchor
- { T20452.hs:6:13-22 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:6:13-22 })
[(AddEpAnn AnnDcolon (EpaSpan { T20452.hs:6:17-18 }))
,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:6:13 }))
,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:6:14 }))
@@ -160,22 +192,35 @@
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:6:15 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:6:15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: a}))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:6:20 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:6:20 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T20452.hs:6:20 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:6:20 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:6:20 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:6:20 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: k}))))))])
(Prefix)
@@ -187,17 +232,25 @@
(DataTypeCons
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:6:26-31 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:6:26-31 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclH98
(EpAnn
- (Anchor
- { T20452.hs:6:26-31 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:6:26-31 })
[]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:6:26-31 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:6:26-31 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Proxy2}))
(False)
@@ -209,22 +262,18 @@
(Nothing)))])
[]))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T20452.hs:8:1-85 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T20452.hs:8:1-85 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:1-85 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(ClassDecl
((,)
(EpAnn
- (Anchor
- { T20452.hs:8:1-85 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:8:1-85 })
[(AddEpAnn AnnClass (EpaSpan { T20452.hs:8:1-5 }))
,(AddEpAnn AnnWhere (EpaSpan { T20452.hs:8:78-82 }))
,(AddEpAnn AnnOpenC (EpaSpan { T20452.hs:8:84 }))
@@ -243,18 +292,26 @@
(HsTok)))
(Nothing)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:8:7-12 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:7-12 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Prods1}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:8:15-26 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:15-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(KindedTyVar
(EpAnn
- (Anchor
- { T20452.hs:8:15-26 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:8:15-26 })
[(AddEpAnn AnnDcolon (EpaSpan { T20452.hs:8:20-21 }))
,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:8:15 }))
,(AddEpAnn AnnCloseP (EpaSpan { T20452.hs:8:26 }))]
@@ -262,31 +319,47 @@
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:8:16-18 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:16-18 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: lhs}))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:8:23-25 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:23-25 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T20452.hs:8:23-25 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:8:23-25 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:8:23-25 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:23-25 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:8:30-45 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:30-45 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(KindedTyVar
(EpAnn
- (Anchor
- { T20452.hs:8:30-45 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:8:30-45 })
[(AddEpAnn AnnDcolon (EpaSpan { T20452.hs:8:36-37 }))
,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:8:30 }))
,(AddEpAnn AnnCloseP (EpaSpan { T20452.hs:8:45 }))]
@@ -294,31 +367,47 @@
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:8:31-34 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:31-34 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: name}))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:8:39-44 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:39-44 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T20452.hs:8:39-44 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:8:39-44 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:8:39-44 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:39-44 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: String}))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:8:49-75 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:49-75 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(KindedTyVar
(EpAnn
- (Anchor
- { T20452.hs:8:49-75 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:8:49-75 })
[(AddEpAnn AnnDcolon (EpaSpan { T20452.hs:8:54-55 }))
,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:8:49 }))
,(AddEpAnn AnnCloseP (EpaSpan { T20452.hs:8:75 }))]
@@ -326,16 +415,24 @@
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:8:50-52 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:50-52 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: rhs}))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:8:57-74 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:57-74 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsListTy
(EpAnn
- (Anchor
- { T20452.hs:8:57 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:8:57 })
(AnnParen
(AnnParensSquare)
(EpaSpan { T20452.hs:8:57 })
@@ -343,12 +440,15 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:8:58-73 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:58-73 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTupleTy
(EpAnn
- (Anchor
- { T20452.hs:8:58 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:8:58 })
(AnnParen
(AnnParens)
(EpaSpan { T20452.hs:8:58 })
@@ -357,41 +457,50 @@
[]))
(HsBoxedOrConstraintTuple)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T20452.hs:8:59-64 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddCommaAnn
- (EpaSpan { T20452.hs:8:65 }))])
- (EpaComments
- [])) { T20452.hs:8:59-64 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:59-64 })
+ (AnnListItem
+ [(AddCommaAnn
+ (EpaSpan { T20452.hs:8:65 }))])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T20452.hs:8:59-64 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:8:59-64 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:8:59-64 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:59-64 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: String}))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:8:67-72 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:67-72 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T20452.hs:8:67-72 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:8:67-72 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:8:67-72 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:8:67-72 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: String}))))]))))))])
(Prefix)
@@ -403,22 +512,18 @@
[]
[])))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T20452.hs:9:1-85 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T20452.hs:9:1-85 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:1-85 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(ClassDecl
((,)
(EpAnn
- (Anchor
- { T20452.hs:9:1-85 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:9:1-85 })
[(AddEpAnn AnnClass (EpaSpan { T20452.hs:9:1-5 }))
,(AddEpAnn AnnWhere (EpaSpan { T20452.hs:9:78-82 }))
,(AddEpAnn AnnOpenC (EpaSpan { T20452.hs:9:84 }))
@@ -437,18 +542,26 @@
(HsTok)))
(Nothing)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:9:7-12 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:7-12 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Prods2}))
(HsQTvs
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:9:14-27 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:14-27 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(KindedTyVar
(EpAnn
- (Anchor
- { T20452.hs:9:14-27 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:9:14-27 })
[(AddEpAnn AnnDcolon (EpaSpan { T20452.hs:9:20-21 }))
,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:9:14 }))
,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:9:15 }))
@@ -458,31 +571,47 @@
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:9:16-18 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:16-18 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: lhs}))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:9:23-25 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:23-25 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T20452.hs:9:23-25 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:9:23-25 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:9:23-25 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:23-25 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int}))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:9:29-46 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:29-46 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(KindedTyVar
(EpAnn
- (Anchor
- { T20452.hs:9:29-46 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:9:29-46 })
[(AddEpAnn AnnDcolon (EpaSpan { T20452.hs:9:36-37 }))
,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:9:29 }))
,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:9:30 }))
@@ -492,31 +621,47 @@
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:9:31-34 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:31-34 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: name}))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:9:39-44 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:39-44 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T20452.hs:9:39-44 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:9:39-44 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:9:39-44 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:39-44 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: String}))))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:9:48-76 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:48-76 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(KindedTyVar
(EpAnn
- (Anchor
- { T20452.hs:9:48-76 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:9:48-76 })
[(AddEpAnn AnnDcolon (EpaSpan { T20452.hs:9:54-55 }))
,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:9:48 }))
,(AddEpAnn AnnOpenP (EpaSpan { T20452.hs:9:49 }))
@@ -526,16 +671,24 @@
[]))
(())
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:9:50-52 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:50-52 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: rhs}))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:9:57-74 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:57-74 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsListTy
(EpAnn
- (Anchor
- { T20452.hs:9:57 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:9:57 })
(AnnParen
(AnnParensSquare)
(EpaSpan { T20452.hs:9:57 })
@@ -543,12 +696,15 @@
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:9:58-73 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:58-73 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTupleTy
(EpAnn
- (Anchor
- { T20452.hs:9:58 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:9:58 })
(AnnParen
(AnnParens)
(EpaSpan { T20452.hs:9:58 })
@@ -557,41 +713,50 @@
[]))
(HsBoxedOrConstraintTuple)
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T20452.hs:9:59-64 }
- (UnchangedAnchor))
- (AnnListItem
- [(AddCommaAnn
- (EpaSpan { T20452.hs:9:65 }))])
- (EpaComments
- [])) { T20452.hs:9:59-64 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:59-64 })
+ (AnnListItem
+ [(AddCommaAnn
+ (EpaSpan { T20452.hs:9:65 }))])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T20452.hs:9:59-64 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:9:59-64 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:9:59-64 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:59-64 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: String}))))
,(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:9:67-72 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:67-72 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T20452.hs:9:67-72 }
- (UnchangedAnchor))
+ (EpaSpan { T20452.hs:9:67-72 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20452.hs:9:67-72 })
+ ((EpAnnS
+ (EpaSpan { T20452.hs:9:67-72 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: String}))))]))))))])
(Prefix)
@@ -602,5 +767,3 @@
[]
[]
[])))]))
-
-
diff --git a/testsuite/tests/parser/should_compile/T20718.stderr b/testsuite/tests/parser/should_compile/T20718.stderr
index ebd35e96b7..019b67fe7e 100644
--- a/testsuite/tests/parser/should_compile/T20718.stderr
+++ b/testsuite/tests/parser/should_compile/T20718.stderr
@@ -6,9 +6,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { T20718.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { T20718.hs:1:1 })
(AnnsModule
[(AddEpAnn AnnModule (EpaSpan { T20718.hs:3:1-6 }))
,(AddEpAnn AnnWhere (EpaSpan { T20718.hs:3:15-19 }))]
@@ -19,49 +17,37 @@
{ T20718.hs:11:1-8 })))
(EpaCommentsBalanced
[(L
- (Anchor
- { T20718.hs:1:1-16 }
- (UnchangedAnchor))
+ (EpaSpan { T20718.hs:1:1-16 })
(EpaComment
(EpaLineComment
"-- top of file 1")
{ T20718.hs:1:1 }))
,(L
- (Anchor
- { T20718.hs:2:1-16 }
- (UnchangedAnchor))
+ (EpaSpan { T20718.hs:2:1-16 })
(EpaComment
(EpaLineComment
"-- top of file 2")
{ T20718.hs:1:1-16 }))
,(L
- (Anchor
- { T20718.hs:5:1-11 }
- (UnchangedAnchor))
+ (EpaSpan { T20718.hs:5:1-11 })
(EpaComment
(EpaLineComment
"-- before 1")
{ T20718.hs:3:15-19 }))
,(L
- (Anchor
- { T20718.hs:6:1-11 }
- (UnchangedAnchor))
+ (EpaSpan { T20718.hs:6:1-11 })
(EpaComment
(EpaLineComment
"-- before 2")
{ T20718.hs:5:1-11 }))]
[(L
- (Anchor
- { T20718.hs:10:1-8 }
- (UnchangedAnchor))
+ (EpaSpan { T20718.hs:10:1-8 })
(EpaComment
(EpaLineComment
"-- end 1")
{ T20718.hs:8:5 }))
,(L
- (Anchor
- { T20718.hs:11:1-8 }
- (UnchangedAnchor))
+ (EpaSpan { T20718.hs:11:1-8 })
(EpaComment
(EpaLineComment
"-- end 2")
@@ -72,25 +58,33 @@
(Nothing))
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20718.hs:3:8-13 })
+ ((EpAnnS
+ (EpaSpan { T20718.hs:3:8-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: T20718}))
(Nothing)
[]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T20718.hs:8:1-5 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T20718.hs:8:1-5 })
+ ((EpAnnS
+ (EpaSpan { T20718.hs:8:1-5 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20718.hs:8:1 })
+ ((EpAnnS
+ (EpaSpan { T20718.hs:8:1 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: x}))
(MG
@@ -98,18 +92,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { T20718.hs:8:1-5 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T20718.hs:8:1-5 })
+ ((EpAnnS
+ (EpaSpan { T20718.hs:8:1-5 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { T20718.hs:8:1-5 }
- (UnchangedAnchor))
+ (EpaSpan { T20718.hs:8:1-5 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20718.hs:8:1 })
+ ((EpAnnS
+ (EpaSpan { T20718.hs:8:1 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: x}))
(Prefix)
@@ -119,14 +121,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { T20718.hs:8:3-5 })
+ (EpAnnS
+ (EpaSpan { T20718.hs:8:3-5 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { T20718.hs:8:3-5 }
- (UnchangedAnchor))
+ (EpaSpan { T20718.hs:8:3-5 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { T20718.hs:8:3 })))
@@ -134,12 +136,15 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20718.hs:8:5 })
+ ((EpAnnS
+ (EpaSpan { T20718.hs:8:5 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOverLit
(EpAnn
- (Anchor
- { T20718.hs:8:5 }
- (UnchangedAnchor))
+ (EpaSpan { T20718.hs:8:5 })
(NoEpAnns)
(EpaComments
[]))
diff --git a/testsuite/tests/parser/should_compile/T20718b.stderr b/testsuite/tests/parser/should_compile/T20718b.stderr
index 48077c4b6b..a216026bb8 100644
--- a/testsuite/tests/parser/should_compile/T20718b.stderr
+++ b/testsuite/tests/parser/should_compile/T20718b.stderr
@@ -6,9 +6,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { T20718b.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { T20718b.hs:1:1 })
(AnnsModule
[(AddEpAnn AnnModule (EpaSpan { T20718b.hs:4:1-6 }))
,(AddEpAnn AnnWhere (EpaSpan { T20718b.hs:4:16-20 }))]
@@ -19,33 +17,25 @@
{ T20718b.hs:7:1-21 })))
(EpaCommentsBalanced
[(L
- (Anchor
- { T20718b.hs:1:1-19 }
- (UnchangedAnchor))
+ (EpaSpan { T20718b.hs:1:1-19 })
(EpaComment
(EpaLineComment
"-- header comment 1")
{ T20718b.hs:1:1 }))
,(L
- (Anchor
- { T20718b.hs:2:1-19 }
- (UnchangedAnchor))
+ (EpaSpan { T20718b.hs:2:1-19 })
(EpaComment
(EpaLineComment
"-- header comment 2")
{ T20718b.hs:1:1-19 }))
,(L
- (Anchor
- { T20718b.hs:6:1-21 }
- (UnchangedAnchor))
+ (EpaSpan { T20718b.hs:6:1-21 })
(EpaComment
(EpaLineComment
"-- trailing comment 1")
{ T20718b.hs:4:16-20 }))
,(L
- (Anchor
- { T20718b.hs:7:1-21 }
- (UnchangedAnchor))
+ (EpaSpan { T20718b.hs:7:1-21 })
(EpaComment
(EpaLineComment
"-- trailing comment 2")
@@ -57,10 +47,13 @@
(Nothing))
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20718b.hs:4:8-14 })
+ ((EpAnnS
+ (EpaSpan { T20718b.hs:4:8-14 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: T20718b}))
(Nothing)
[]
[]))
-
-
diff --git a/testsuite/tests/parser/should_compile/T20846.stderr b/testsuite/tests/parser/should_compile/T20846.stderr
index 4a1981b6e1..0204e6387d 100644
--- a/testsuite/tests/parser/should_compile/T20846.stderr
+++ b/testsuite/tests/parser/should_compile/T20846.stderr
@@ -6,9 +6,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { T20846.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { T20846.hs:1:1 })
(AnnsModule
[(AddEpAnn AnnModule (EpaSpan { T20846.hs:1:1-6 }))
,(AddEpAnn AnnWhere (EpaSpan { T20846.hs:1:15-19 }))]
@@ -26,62 +24,64 @@
(Nothing))
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20846.hs:1:8-13 })
+ ((EpAnnS
+ (EpaSpan { T20846.hs:1:8-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: T20846}))
(Nothing)
[]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T20846.hs:3:1-11 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T20846.hs:3:1-11 })
+ ((EpAnnS
+ (EpaSpan { T20846.hs:3:1-11 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(SigD
(NoExtField)
(FixSig
(EpAnn
- (Anchor
- { T20846.hs:3:1-6 }
- (UnchangedAnchor))
+ (EpaSpan { T20846.hs:3:1-6 })
[(AddEpAnn AnnInfix (EpaSpan { T20846.hs:3:1-6 }))]
(EpaComments
[]))
(FixitySig
(NoExtField)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T20846.hs:3:8-11 })
+ ((EpAnnS
+ (EpaSpan { T20846.hs:3:8-11 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: ++++}))]
{Fixity: infixr 9}))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T20846.hs:4:1-18 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T20846.hs:4:1-18 })
+ ((EpAnnS
+ (EpaSpan { T20846.hs:4:1-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T20846.hs:4:1-6 }
- (UnchangedAnchor))
- (NameAnn
- (NameParens)
- (EpaSpan { T20846.hs:4:1 })
- (EpaSpan { T20846.hs:4:2-5 })
- (EpaSpan { T20846.hs:4:6 })
- [])
- (EpaComments
- [])) { T20846.hs:4:1-6 })
+ ((EpAnnS
+ (EpaSpan { T20846.hs:4:1-6 })
+ (NameAnn
+ (NameParens)
+ (EpaSpan { T20846.hs:4:1 })
+ (EpaSpan { T20846.hs:4:2-5 })
+ (EpaSpan { T20846.hs:4:6 })
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: ++++}))
(MG
@@ -89,29 +89,30 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { T20846.hs:4:1-18 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T20846.hs:4:1-18 })
+ ((EpAnnS
+ (EpaSpan { T20846.hs:4:1-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { T20846.hs:4:1-18 }
- (UnchangedAnchor))
+ (EpaSpan { T20846.hs:4:1-18 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T20846.hs:4:1-6 }
- (UnchangedAnchor))
- (NameAnn
- (NameParens)
- (EpaSpan { T20846.hs:4:1 })
- (EpaSpan { T20846.hs:4:2-5 })
- (EpaSpan { T20846.hs:4:6 })
- [])
- (EpaComments
- [])) { T20846.hs:4:1-6 })
+ ((EpAnnS
+ (EpaSpan { T20846.hs:4:1-6 })
+ (NameAnn
+ (NameParens)
+ (EpaSpan { T20846.hs:4:1 })
+ (EpaSpan { T20846.hs:4:2-5 })
+ (EpaSpan { T20846.hs:4:6 })
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: ++++}))
(Prefix)
@@ -121,14 +122,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { T20846.hs:4:8-18 })
+ (EpAnnS
+ (EpaSpan { T20846.hs:4:8-18 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { T20846.hs:4:8-18 }
- (UnchangedAnchor))
+ (EpaSpan { T20846.hs:4:8-18 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { T20846.hs:4:8 })))
@@ -136,11 +137,21 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20846.hs:4:10-18 })
+ ((EpAnnS
+ (EpaSpan { T20846.hs:4:10-18 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T20846.hs:4:10-18 })
+ ((EpAnnS
+ (EpaSpan { T20846.hs:4:10-18 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: undefined}))))))]
(EmptyLocalBinds
diff --git a/testsuite/tests/printer/T18791.stderr b/testsuite/tests/printer/T18791.stderr
index d7a0fb6b96..12390cef8c 100644
--- a/testsuite/tests/printer/T18791.stderr
+++ b/testsuite/tests/printer/T18791.stderr
@@ -6,9 +6,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { T18791.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { T18791.hs:1:1 })
(AnnsModule
[(AddEpAnn AnnModule (EpaSpan { T18791.hs:2:1-6 }))
,(AddEpAnn AnnWhere (EpaSpan { T18791.hs:2:15-19 }))]
@@ -26,32 +24,38 @@
(Nothing))
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { T18791.hs:2:8-13 })
+ ((EpAnnS
+ (EpaSpan { T18791.hs:2:8-13 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: T18791}))
(Nothing)
[]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T18791.hs:(4,1)-(5,17) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T18791.hs:(4,1)-(5,17) })
+ ((EpAnnS
+ (EpaSpan { T18791.hs:(4,1)-(5,17) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(TyClD
(NoExtField)
(DataDecl
(EpAnn
- (Anchor
- { T18791.hs:(4,1)-(5,17) }
- (UnchangedAnchor))
+ (EpaSpan { T18791.hs:(4,1)-(5,17) })
[(AddEpAnn AnnData (EpaSpan { T18791.hs:4:1-4 }))
,(AddEpAnn AnnWhere (EpaSpan { T18791.hs:4:8-12 }))]
(EpaComments
[]))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T18791.hs:4:6 })
+ ((EpAnnS
+ (EpaSpan { T18791.hs:4:6 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: T}))
(HsQTvs
@@ -66,18 +70,26 @@
(DataTypeCons
(False)
[(L
- (SrcSpanAnn (EpAnnNotUsed) { T18791.hs:5:3-17 })
+ ((EpAnnS
+ (EpaSpan { T18791.hs:5:3-17 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ConDeclGADT
(EpAnn
- (Anchor
- { T18791.hs:5:3-17 }
- (UnchangedAnchor))
+ (EpaSpan { T18791.hs:5:3-17 })
[]
(EpaComments
[]))
(:|
(L
- (SrcSpanAnn (EpAnnNotUsed) { T18791.hs:5:3-5 })
+ ((EpAnnS
+ (EpaSpan { T18791.hs:5:3-5 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: MkT}))
[])
@@ -86,7 +98,12 @@
(EpaSpan { T18791.hs:5:7-8 }))
(HsNormalTok))
(L
- (SrcSpanAnn (EpAnnNotUsed) { T18791.hs:5:10-17 })
+ ((EpAnnS
+ (EpaSpan { T18791.hs:5:10-17 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsOuterImplicit
(NoExtField)))
(Nothing)
@@ -98,43 +115,50 @@
(EpaSpan { T18791.hs:5:14-15 }))
(HsNormalTok)))
(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { T18791.hs:5:10-12 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { T18791.hs:5:10-12 })
+ ((EpAnnS
+ (EpaSpan { T18791.hs:5:10-12 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T18791.hs:5:10-12 }
- (UnchangedAnchor))
+ (EpaSpan { T18791.hs:5:10-12 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T18791.hs:5:10-12 })
+ ((EpAnnS
+ (EpaSpan { T18791.hs:5:10-12 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: Int})))))])
(L
- (SrcSpanAnn (EpAnnNotUsed) { T18791.hs:5:17 })
+ ((EpAnnS
+ (EpaSpan { T18791.hs:5:17 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsTyVar
(EpAnn
- (Anchor
- { T18791.hs:5:17 }
- (UnchangedAnchor))
+ (EpaSpan { T18791.hs:5:17 })
[]
(EpaComments
[]))
(NotPromoted)
(L
- (SrcSpanAnn (EpAnnNotUsed) { T18791.hs:5:17 })
+ ((EpAnnS
+ (EpaSpan { T18791.hs:5:17 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: T}))))
(Nothing)))])
[]))))]))
-
-
diff --git a/testsuite/tests/printer/Test20297.stdout b/testsuite/tests/printer/Test20297.stdout
index 586d9fae20..ab1767f504 100644
--- a/testsuite/tests/printer/Test20297.stdout
+++ b/testsuite/tests/printer/Test20297.stdout
@@ -6,9 +6,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { Test20297.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.hs:1:1 })
(AnnsModule
[(AddEpAnn AnnModule (EpaSpan { Test20297.hs:2:1-6 }))
,(AddEpAnn AnnWhere (EpaSpan { Test20297.hs:2:18-22 }))]
@@ -19,9 +17,7 @@
{ Test20297.hs:11:22-26 })))
(EpaCommentsBalanced
[(L
- (Anchor
- { Test20297.hs:1:1-33 }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.hs:1:1-33 })
(EpaComment
(EpaBlockComment
"{-# OPTIONS -ddump-parsed-ast #-}")
@@ -33,25 +29,33 @@
(Nothing))
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:2:8-16 })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:2:8-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: Test20297}))
(Nothing)
[]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { Test20297.hs:(5,1)-(7,7) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { Test20297.hs:(5,1)-(7,7) })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:(5,1)-(7,7) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:5:1-3 })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:5:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: bar}))
(MG
@@ -59,18 +63,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:(5,1)-(7,7) })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:(5,1)-(7,7) })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:(5,1)-(7,7) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { Test20297.hs:(5,1)-(7,7) }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.hs:(5,1)-(7,7) })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:5:1-3 })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:5:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: bar}))
(Prefix)
@@ -80,45 +92,48 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { Test20297.hs:(5,5)-(7,7) })
+ (EpAnnS
+ (EpaSpan { Test20297.hs:(5,5)-(7,7) })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { Test20297.hs:(5,5)-(7,7) }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.hs:(5,5)-(7,7) })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { Test20297.hs:5:5 })))
(EpaComments
[(L
- (Anchor
- { Test20297.hs:6:3-13 }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.hs:6:3-13 })
(EpaComment
(EpaLineComment
"-- comment0")
{ Test20297.hs:5:7 }))]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:5:7 })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:5:7 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:5:7 })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:5:7 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: x}))))))]
(HsValBinds
(EpAnn
- (Anchor
- { Test20297.hs:7:3-7 }
- (UnchangedAnchor))
+ (EpaSpan { <no location info> })
(AnnList
- (Just
- (Anchor
- { Test20297.hs:7:3-7 }
- (UnchangedAnchor)))
+ (Nothing)
(Nothing)
(Nothing)
[(AddEpAnn AnnWhere (EpaSpan { Test20297.hs:7:3-7 }))]
@@ -131,27 +146,28 @@
[]}
[])))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { Test20297.hs:(9,1)-(11,26) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [(L
- (Anchor
- { Test20297.hs:7:9-19 }
- (UnchangedAnchor))
- (EpaComment
- (EpaLineComment
- "-- comment1")
- { Test20297.hs:7:3-7 }))])) { Test20297.hs:(9,1)-(11,26) })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:(9,1)-(11,26) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [(L
+ (EpaSpan { Test20297.hs:7:9-19 })
+ (EpaComment
+ (EpaLineComment
+ "-- comment1")
+ { Test20297.hs:7:3-7 }))])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:9:1-3 })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:9:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: foo}))
(MG
@@ -159,18 +175,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:(9,1)-(11,26) })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:(9,1)-(11,26) })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:(9,1)-(11,26) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { Test20297.hs:(9,1)-(11,26) }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.hs:(9,1)-(11,26) })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:9:1-3 })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:9:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: foo}))
(Prefix)
@@ -180,14 +204,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { Test20297.hs:(9,5)-(11,26) })
+ (EpAnnS
+ (EpaSpan { Test20297.hs:(9,5)-(11,26) })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { Test20297.hs:(9,5)-(11,26) }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.hs:(9,5)-(11,26) })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { Test20297.hs:9:5 })))
@@ -195,32 +219,36 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:9:7 })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:9:7 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:9:7 })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:9:7 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: x}))))))]
(HsValBinds
(EpAnn
- (Anchor
- { Test20297.hs:(10,3)-(11,26) }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.hs:(10,3)-(11,26) })
(AnnList
(Just
- (Anchor
- { Test20297.hs:11:9-26 }
- (UnchangedAnchor)))
+ (EpaSpan { Test20297.hs:11:9-26 }))
(Nothing)
(Nothing)
[(AddEpAnn AnnWhere (EpaSpan { Test20297.hs:10:3-7 }))]
[])
(EpaComments
[(L
- (Anchor
- { Test20297.hs:10:9-19 }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.hs:10:9-19 })
(EpaComment
(EpaLineComment
"-- comment2")
@@ -229,18 +257,21 @@
(NoAnnSortKey)
{Bag(LocatedA (HsBind GhcPs)):
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { Test20297.hs:11:9-26 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { Test20297.hs:11:9-26 })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:11:9-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:11:9-15 })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:11:9-15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: doStuff}))
(MG
@@ -248,18 +279,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:11:9-26 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:11:9-26 })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:11:9-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { Test20297.hs:11:9-26 }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.hs:11:9-26 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:11:9-15 })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:11:9-15 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: doStuff}))
(Prefix)
@@ -269,14 +308,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { Test20297.hs:11:17-26 })
+ (EpAnnS
+ (EpaSpan { Test20297.hs:11:17-26 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { Test20297.hs:11:17-26 }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.hs:11:17-26 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { Test20297.hs:11:17 })))
@@ -284,17 +323,18 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:11:19-26 })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:11:19-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsDo
(EpAnn
- (Anchor
- { Test20297.hs:11:19-26 }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.hs:11:19-26 })
(AnnList
(Just
- (Anchor
- { Test20297.hs:11:22-26 }
- (UnchangedAnchor)))
+ (EpaSpan { Test20297.hs:11:22-26 }))
(Nothing)
(Nothing)
[(AddEpAnn AnnDo (EpaSpan { Test20297.hs:11:19-20 }))]
@@ -305,14 +345,10 @@
(Nothing))
(L
(SrcSpanAnn (EpAnn
- (Anchor
- { Test20297.hs:11:22-26 }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.hs:11:22-26 })
(AnnList
(Just
- (Anchor
- { Test20297.hs:11:22-26 }
- (UnchangedAnchor)))
+ (EpaSpan { Test20297.hs:11:22-26 }))
(Nothing)
(Nothing)
[]
@@ -320,15 +356,30 @@
(EpaComments
[])) { Test20297.hs:11:22-26 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:11:22-26 })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:11:22-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(BodyStmt
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:11:22-26 })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:11:22-26 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.hs:11:22-26 })
+ ((EpAnnS
+ (EpaSpan { Test20297.hs:11:22-26 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: stuff}))))
(NoExtField)
@@ -346,9 +397,7 @@
(HsModule
(XModulePs
(EpAnn
- (Anchor
- { Test20297.ppr.hs:1:1 }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.ppr.hs:1:1 })
(AnnsModule
[(AddEpAnn AnnModule (EpaSpan { Test20297.ppr.hs:2:1-6 }))
,(AddEpAnn AnnWhere (EpaSpan { Test20297.ppr.hs:2:18-22 }))]
@@ -359,9 +408,7 @@
{ Test20297.ppr.hs:9:20-24 })))
(EpaCommentsBalanced
[(L
- (Anchor
- { Test20297.ppr.hs:1:1-33 }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.ppr.hs:1:1-33 })
(EpaComment
(EpaBlockComment
"{-# OPTIONS -ddump-parsed-ast #-}")
@@ -373,25 +420,33 @@
(Nothing))
(Just
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:2:8-16 })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:2:8-16 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
{ModuleName: Test20297}))
(Nothing)
[]
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { Test20297.ppr.hs:(3,1)-(5,7) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { Test20297.ppr.hs:(3,1)-(5,7) })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:(3,1)-(5,7) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:3:1-3 })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:3:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: bar}))
(MG
@@ -399,18 +454,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:(3,1)-(5,7) })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:(3,1)-(5,7) })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:(3,1)-(5,7) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { Test20297.ppr.hs:(3,1)-(5,7) }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.ppr.hs:(3,1)-(5,7) })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:3:1-3 })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:3:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: bar}))
(Prefix)
@@ -420,14 +483,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { Test20297.ppr.hs:(4,3)-(5,7) })
+ (EpAnnS
+ (EpaSpan { Test20297.ppr.hs:(4,3)-(5,7) })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { Test20297.ppr.hs:(4,3)-(5,7) }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.ppr.hs:(4,3)-(5,7) })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { Test20297.ppr.hs:4:3 })))
@@ -435,23 +498,28 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:4:5 })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:4:5 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:4:5 })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:4:5 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: x}))))))]
(HsValBinds
(EpAnn
- (Anchor
- { Test20297.ppr.hs:5:3-7 }
- (UnchangedAnchor))
+ (EpaSpan { <no location info> })
(AnnList
- (Just
- (Anchor
- { Test20297.ppr.hs:5:3-7 }
- (UnchangedAnchor)))
+ (Nothing)
(Nothing)
(Nothing)
[(AddEpAnn AnnWhere (EpaSpan { Test20297.ppr.hs:5:3-7 }))]
@@ -464,20 +532,23 @@
[]}
[])))))])))))
,(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { Test20297.ppr.hs:(6,1)-(9,24) }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { Test20297.ppr.hs:(6,1)-(9,24) })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:(6,1)-(9,24) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(ValD
(NoExtField)
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:6:1-3 })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:6:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: foo}))
(MG
@@ -485,18 +556,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:(6,1)-(9,24) })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:(6,1)-(9,24) })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:(6,1)-(9,24) })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { Test20297.ppr.hs:(6,1)-(9,24) }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.ppr.hs:(6,1)-(9,24) })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:6:1-3 })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:6:1-3 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: foo}))
(Prefix)
@@ -506,14 +585,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { Test20297.ppr.hs:(7,3)-(9,24) })
+ (EpAnnS
+ (EpaSpan { Test20297.ppr.hs:(7,3)-(9,24) })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { Test20297.ppr.hs:(7,3)-(9,24) }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.ppr.hs:(7,3)-(9,24) })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { Test20297.ppr.hs:7:3 })))
@@ -521,23 +600,29 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:7:5 })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:7:5 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:7:5 })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:7:5 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: x}))))))]
(HsValBinds
(EpAnn
- (Anchor
- { Test20297.ppr.hs:(8,3)-(9,24) }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.ppr.hs:(8,3)-(9,24) })
(AnnList
(Just
- (Anchor
- { Test20297.ppr.hs:9:7-24 }
- (UnchangedAnchor)))
+ (EpaSpan { Test20297.ppr.hs:9:7-24 }))
(Nothing)
(Nothing)
[(AddEpAnn AnnWhere (EpaSpan { Test20297.ppr.hs:8:3-7 }))]
@@ -548,18 +633,21 @@
(NoAnnSortKey)
{Bag(LocatedA (HsBind GhcPs)):
[(L
- (SrcSpanAnn (EpAnn
- (Anchor
- { Test20297.ppr.hs:9:7-24 }
- (UnchangedAnchor))
- (AnnListItem
- [])
- (EpaComments
- [])) { Test20297.ppr.hs:9:7-24 })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:9:7-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(FunBind
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:9:7-13 })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:9:7-13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: doStuff}))
(MG
@@ -567,18 +655,26 @@
(L
(SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:9:7-24 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:9:7-24 })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:9:7-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(Match
(EpAnn
- (Anchor
- { Test20297.ppr.hs:9:7-24 }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.ppr.hs:9:7-24 })
[]
(EpaComments
[]))
(FunRhs
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:9:7-13 })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:9:7-13 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: doStuff}))
(Prefix)
@@ -588,14 +684,14 @@
(EpaComments
[])
[(L
- (SrcSpanAnn
- (EpAnnNotUsed)
- { Test20297.ppr.hs:9:15-24 })
+ (EpAnnS
+ (EpaSpan { Test20297.ppr.hs:9:15-24 })
+ (NoEpAnns)
+ (EpaComments
+ []))
(GRHS
(EpAnn
- (Anchor
- { Test20297.ppr.hs:9:15-24 }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.ppr.hs:9:15-24 })
(GrhsAnn
(Nothing)
(AddEpAnn AnnEqual (EpaSpan { Test20297.ppr.hs:9:15 })))
@@ -603,17 +699,18 @@
[]))
[]
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:9:17-24 })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:9:17-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsDo
(EpAnn
- (Anchor
- { Test20297.ppr.hs:9:17-24 }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.ppr.hs:9:17-24 })
(AnnList
(Just
- (Anchor
- { Test20297.ppr.hs:9:20-24 }
- (UnchangedAnchor)))
+ (EpaSpan { Test20297.ppr.hs:9:20-24 }))
(Nothing)
(Nothing)
[(AddEpAnn AnnDo (EpaSpan { Test20297.ppr.hs:9:17-18 }))]
@@ -624,14 +721,10 @@
(Nothing))
(L
(SrcSpanAnn (EpAnn
- (Anchor
- { Test20297.ppr.hs:9:20-24 }
- (UnchangedAnchor))
+ (EpaSpan { Test20297.ppr.hs:9:20-24 })
(AnnList
(Just
- (Anchor
- { Test20297.ppr.hs:9:20-24 }
- (UnchangedAnchor)))
+ (EpaSpan { Test20297.ppr.hs:9:20-24 }))
(Nothing)
(Nothing)
[]
@@ -639,15 +732,30 @@
(EpaComments
[])) { Test20297.ppr.hs:9:20-24 })
[(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:9:20-24 })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:9:20-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(BodyStmt
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:9:20-24 })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:9:20-24 })
+ (AnnListItem
+ [])
+ (EpaComments
+ [])))
(HsVar
(NoExtField)
(L
- (SrcSpanAnn (EpAnnNotUsed) { Test20297.ppr.hs:9:20-24 })
+ ((EpAnnS
+ (EpaSpan { Test20297.ppr.hs:9:20-24 })
+ (NameAnnTrailing
+ [])
+ (EpaComments
+ [])))
(Unqual
{OccName: stuff}))))
(NoExtField)
@@ -655,4 +763,3 @@
(EmptyLocalBinds
(NoExtField)))))]))))]}
[])))))])))))]))
-
diff --git a/testsuite/tests/th/TH_dataD1.hs b/testsuite/tests/th/TH_dataD1.hs
index 9d0c95b1a9..4a521b13b4 100644
--- a/testsuite/tests/th/TH_dataD1.hs
+++ b/testsuite/tests/th/TH_dataD1.hs
@@ -1,4 +1,4 @@
-
+{-# LANGUAGE TemplateHaskell #-}
module TH_dataD1 where
import Language.Haskell.TH
@@ -9,4 +9,3 @@ ds = [d|
[normalC (mkName "K") []] []
; return [d]})
|]
-
diff --git a/utils/check-exact/ExactPrint.hs b/utils/check-exact/ExactPrint.hs
index 5db255f765..a0fa33f7cb 100644
--- a/utils/check-exact/ExactPrint.hs
+++ b/utils/check-exact/ExactPrint.hs
@@ -113,6 +113,7 @@ defaultEPState = EPState
, dPriorEndPosition = (1,1)
, uAnchorSpan = badRealSrcSpan
, uExtraDP = Nothing
+ , pAcceptSpan = False
, epComments = []
, epCommentsApplied = []
, epEof = Nothing
@@ -174,6 +175,13 @@ data EPState = EPState
-- Annotation
, uExtraDP :: !(Maybe Anchor) -- ^ Used to anchor a
-- list
+ , pAcceptSpan :: Bool -- ^ When we have processed an
+ -- entry of EpaDelta, accept the
+ -- next `EpaSpan` start as the
+ -- current output position. i.e. do
+ -- not advance epPos. Achieved by
+ -- setting dPriorEndPosition to the
+ -- end of the span.
-- Print phase
, epPos :: !Pos -- ^ Current output position
@@ -233,9 +241,12 @@ instance HasEntry (SrcSpanAnn' (EpAnn an)) where
fromAnn (SrcSpanAnn an _) = fromAnn an
instance HasEntry (EpAnn a) where
- fromAnn (EpAnn anchor _ cs) = mkEntry anchor cs
+ fromAnn (EpAnn anc _ cs) = mkEntry anc cs
fromAnn EpAnnNotUsed = NoEntryVal
+instance HasEntry (EpAnnS a) where
+ fromAnn (EpAnnS anc _ cs) = mkEntry anc cs
+
-- ---------------------------------------------------------------------
fromAnn' :: (HasEntry a) => a -> Entry
@@ -255,6 +266,7 @@ cua NoCanUpdateAnchor _ = return []
-- | "Enter" an annotation, by using the associated 'anchor' field as
-- the new reference point for calculating all DeltaPos positions.
+-- This is the heart of the exact printing process.
--
-- This is combination of the ghc=exactprint Delta.withAST and
-- Print.exactPC functions and effectively does the delta processing
@@ -267,10 +279,20 @@ enterAnn NoEntryVal a = do
debugM $ "enterAnn:done:NO ANN:p =" ++ show (p, astId a)
return r
enterAnn (Entry anchor' cs flush canUpdateAnchor) a = do
+ acceptSpan <- getAcceptSpan
+ setAcceptSpan False
+ case anchor' of
+ EpaDelta _ _ -> setAcceptSpan True
+ EpaSpan _ -> return ()
p <- getPosP
debugM $ "enterAnn:starting:(p,a) =" ++ show (p, astId a)
- -- debugM $ "enterAnn:(cs) =" ++ showGhc (cs)
- let curAnchor = anchor anchor' -- As a base for the current AST element
+ debugM $ "enterAnn:(anchor') =" ++ showGhc anchor'
+ debugM $ "enterAnn:anchor_op=" ++ showGhc (anchor_op anchor')
+ prevAnchor <- getAnchorU
+ let curAnchor = case anchor' of
+ EpaSpan (RealSrcSpan r _) -> r
+ _ -> prevAnchor
+ -- anchor anchor' -- As a base for the current AST element
debugM $ "enterAnn:(curAnchor):=" ++ show (rs2range curAnchor)
case canUpdateAnchor of
CanUpdateAnchor -> pushAppliedComments
@@ -280,14 +302,17 @@ enterAnn (Entry anchor' cs flush canUpdateAnchor) a = do
printComments curAnchor
priorCs <- cua canUpdateAnchor takeAppliedComments -- no pop
-- -------------------------
- case anchor_op anchor' of
- MovedAnchor dp -> do
- debugM $ "enterAnn: MovedAnchor:" ++ show dp
+ case anchor' of
+ EpaDelta dp _ -> do
+ debugM $ "enterAnn: EpaDelta:" ++ show dp
-- Set the original anchor as prior end, so the rest of this AST
-- fragment has a reference
setPriorEndNoLayoutD (ss2pos curAnchor)
_ -> do
- return ()
+ if acceptSpan
+ then setPriorEndNoLayoutD (ss2pos curAnchor)
+ else return ()
+
-- -------------------------
if ((fst $ fst $ rs2range curAnchor) >= 0)
then
@@ -319,19 +344,18 @@ enterAnn (Entry anchor' cs flush canUpdateAnchor) a = do
-- changed.
off (ss2delta priorEndAfterComments curAnchor)
debugM $ "enterAnn: (edp',off,priorEndAfterComments,curAnchor):" ++ show (edp',off,priorEndAfterComments,rs2range curAnchor)
- let edp'' = case anchor_op anchor' of
- MovedAnchor dp -> dp
+ let edp'' = case anchor' of
+ EpaDelta dp _ -> dp
_ -> edp'
-- ---------------------------------------------
- -- let edp = edp''
med <- getExtraDP
setExtraDP Nothing
let edp = case med of
Nothing -> edp''
- Just (Anchor _ (MovedAnchor dp)) -> dp
+ Just (EpaDelta dp _) -> dp
-- Replace original with desired one. Allows all
-- list entry values to be DP (1,0)
- Just (Anchor r _) -> dp
+ Just (EpaSpan (RealSrcSpan r _)) -> dp
where
dp = adjustDeltaForOffset
off (ss2delta priorEndAfterComments r)
@@ -368,6 +392,7 @@ enterAnn (Entry anchor' cs flush canUpdateAnchor) a = do
mapM_ printOneComment (map tokComment $ getFollowingComments cs)
debugM $ "ending trailing comments"
+ -----------------------------------------merge A
eof <- getEofPos
case eof of
Nothing -> return ()
@@ -379,7 +404,10 @@ enterAnn (Entry anchor' cs flush canUpdateAnchor) a = do
printStringAtLsDelta dp ""
setEofPos Nothing -- Only do this once
- let newAchor = anchor' { anchor_op = MovedAnchor edp }
+ -- let newAchor = anchor' { anchor_op = MovedAnchor edp }
+ -----------------------------------------merge A end
+ -- let newAchor = anchor' { anchor_op = MovedAnchor edp }
+ let newAchor = EpaDelta edp []
let r = case canUpdateAnchor of
CanUpdateAnchor -> setAnnotationAnchor a' newAchor (mkEpaComments (priorCs++ postCs) [])
CanUpdateAnchorOnly -> setAnnotationAnchor a' newAchor emptyComments
@@ -387,6 +415,13 @@ enterAnn (Entry anchor' cs flush canUpdateAnchor) a = do
-- debugM $ "calling setAnnotationAnchor:(curAnchor, newAchor,priorCs,postCs)=" ++ showAst (show (rs2range curAnchor), newAchor, priorCs, postCs)
-- debugM $ "calling setAnnotationAnchor:(newAchor,postCs)=" ++ showAst (newAchor, postCs)
debugM $ "enterAnn:done:(p,a) =" ++ show (p0, astId a')
+
+ -- AZ experiment. Under some circumstances we need to do this. Which?
+ -- case anchor' of
+ -- EpaDelta _ _ -> return ()
+ -- EpaSpan r -> do
+ -- debugM $ "enterAnn:end: setPriorEndNoLayoutD:r=" ++ showAst r
+ -- setPriorEndNoLayoutD (ss2posEnd r)
return r
-- ---------------------------------------------------------------------
@@ -482,7 +517,7 @@ printSourceText (SourceText txt) _ = printStringAdvance txt >> return ()
-- ---------------------------------------------------------------------
printStringAtSs :: (Monad m, Monoid w) => SrcSpan -> String -> EP w m ()
-printStringAtSs ss str = printStringAtRs (realSrcSpan ss) str >> return ()
+printStringAtSs ss str = printStringAtRs (realSrcSpan "aa1" ss) str >> return ()
printStringAtRs :: (Monad m, Monoid w) => RealSrcSpan -> String -> EP w m EpaLocation
printStringAtRs pa str = printStringAtRsC CaptureComments pa str
@@ -544,7 +579,7 @@ printStringAtAAL (EpAnn anc an cs) l str = do
printStringAtAAC :: (Monad m, Monoid w)
=> CaptureComments -> EpaLocation -> String -> EP w m EpaLocation
-printStringAtAAC capture (EpaSpan r _) s = printStringAtRsC capture r s
+printStringAtAAC capture (EpaSpan (RealSrcSpan r _)) s = printStringAtRsC capture r s
printStringAtAAC capture (EpaDelta d cs) s = do
mapM_ (printOneComment . tokComment) cs
pe1 <- getPriorEndD
@@ -559,12 +594,13 @@ printStringAtAAC capture (EpaDelta d cs) s = do
NoCaptureComments -> return []
debugM $ "printStringAtAA:(pe1,pe2,p1,p2,cs')=" ++ show (pe1,pe2,p1,p2,cs')
return (EpaDelta d (map comment2LEpaComment cs'))
+printStringAtAAC _ _ _ = error "printStringAtAAC"
-- ---------------------------------------------------------------------
markExternalSourceText :: (Monad m, Monoid w) => SrcSpan -> SourceText -> String -> EP w m ()
-markExternalSourceText l NoSourceText txt = printStringAtRs (realSrcSpan l) txt >> return ()
-markExternalSourceText l (SourceText txt) _ = printStringAtRs (realSrcSpan l) txt >> return ()
+markExternalSourceText l NoSourceText txt = printStringAtRs (realSrcSpan "aa2" l) txt >> return ()
+markExternalSourceText l (SourceText txt) _ = printStringAtRs (realSrcSpan "aa3" l) txt >> return ()
-- ---------------------------------------------------------------------
@@ -1096,11 +1132,10 @@ markLensKwM (EpAnn anc a cs) l kw = do
-- ---------------------------------------------------------------------
-markALocatedA :: (Monad m, Monoid w) => EpAnn AnnListItem -> EP w m (EpAnn AnnListItem)
-markALocatedA EpAnnNotUsed = return EpAnnNotUsed
-markALocatedA (EpAnn anc a cs) = do
+markALocatedA :: (Monad m, Monoid w) => EpAnnS AnnListItem -> EP w m (EpAnnS AnnListItem)
+markALocatedA (EpAnnS anc a cs) = do
t <- markTrailing (lann_trailing a)
- return (EpAnn anc (a { lann_trailing = t }) cs)
+ return (EpAnnS anc (a { lann_trailing = t }) cs)
markEpAnnL :: (Monad m, Monoid w)
=> EpAnn ann -> Lens ann [AddEpAnn] -> AnnKeywordId -> EP w m (EpAnn ann)
@@ -1221,24 +1256,30 @@ printOneComment c@(Comment _str loc _r _mo) = do
MovedAnchor dp -> return dp
_ -> do
pe <- getPriorEndD
- let dp = ss2delta pe (anchor loc)
- debugM $ "printOneComment:(dp,pe,anchor loc)=" ++ showGhc (dp,pe,ss2pos $ anchor loc)
+ debugM $ "printOneComment:pe=" ++ showGhc pe
+ -- let dp = ss2delta pe (anchor loc)
+ let dp = case loc of
+ EpaSpan (RealSrcSpan r _) -> ss2delta pe r
+ EpaSpan ss -> error ("printOneComment:ss=" ++ showGhc ss)
+ EpaDelta dp1 _ -> dp1
+ debugM $ "printOneComment:(dp,pe,loc)=" ++ showGhc (dp,pe,loc)
adjustDeltaForOffsetM dp
mep <- getExtraDP
dp' <- case mep of
- Just (Anchor _ (MovedAnchor edp)) -> do
+ Just (EpaDelta edp _) -> do
debugM $ "printOneComment:edp=" ++ show edp
ddd <- fmap unTweakDelta $ adjustDeltaForOffsetM edp
debugM $ "printOneComment:ddd=" ++ show ddd
fmap unTweakDelta $ adjustDeltaForOffsetM edp
_ -> return dp
-- Start of debug printing
- -- LayoutStartCol dOff <- getLayoutOffsetD
- -- debugM $ "printOneComment:(dp,dp',dOff)=" ++ showGhc (dp,dp',dOff)
+ LayoutStartCol dOff <- getLayoutOffsetD
+ debugM $ "printOneComment:(dp,dp',dOff,loc)=" ++ showGhc (dp,dp',dOff,loc)
-- End of debug printing
-- setPriorEndD (ss2posEnd (anchor loc))
updateAndApplyComment c dp'
- printQueuedComment (anchor loc) c dp'
+
+ printQueuedComment c dp'
-- | For comment-related deltas starting on a new line we have an
-- off-by-one problem. Adjust
@@ -1252,25 +1293,36 @@ updateAndApplyComment (Comment str anc pp mo) dp = do
-- debugM $ "updateAndApplyComment: (dp,anc',co)=" ++ showAst (dp,anc',co)
applyComment (Comment str anc' pp mo)
where
- anc' = anc { anchor_op = op}
+ -- anc' = anc { anchor_op = op}
+ anc' = op
(r,c) = ss2posEnd pp
- la = anchor anc
- dp'' = if r == 0
- then (ss2delta (r,c+0) la)
- else (ss2delta (r,c) la)
- dp' = if pp == anchor anc
- then dp
- else dp''
+ -- la = anchor anc
+ -- dp'' = if r == 0
+ -- then (ss2delta (r,c+0) la)
+ -- else (ss2delta (r,c) la)
+ -- la = anchor anc
+ dp'' = case anc of
+ EpaDelta dp1 _ -> dp1
+ EpaSpan (RealSrcSpan la _) ->
+ if r == 0
+ then (ss2delta (r,c+0) la)
+ else (ss2delta (r,c) la)
+ EpaSpan ss -> error ("updateAndApplyComment:ss=" ++ showGhc ss)
+ dp' = case anc of
+ EpaSpan (RealSrcSpan r1 _) ->
+ if pp == r1
+ then dp
+ else dp''
+ _ -> dp''
op' = case dp' of
SameLine n -> if n >= 0
- then MovedAnchor dp'
- else MovedAnchor dp
- _ -> MovedAnchor dp'
- op = if str == "" && op' == MovedAnchor (SameLine 0) -- EOF comment
- then MovedAnchor dp
- -- else op'
- else MovedAnchor dp
+ then EpaDelta dp' []
+ else EpaDelta dp []
+ _ -> EpaDelta dp' []
+ op = if str == "" && op' == EpaDelta (SameLine 0) [] -- EOF comment
+ then EpaDelta dp []
+ else EpaDelta dp []
-- ---------------------------------------------------------------------
@@ -1281,7 +1333,11 @@ commentAllocation ss = do
-- RealSrcSpan, which affects comparison, as the Ord instance for
-- RealSrcSpan compares the file first. So we sort via ss2pos
-- TODO: this is inefficient, use Pos all the way through
- let (earlier,later) = partition (\(Comment _str loc _r _mo) -> (ss2pos $ anchor loc) <= (ss2pos ss)) cs
+ let (earlier,later) = partition (\(Comment _str loc _r _mo) ->
+ case loc of
+ EpaSpan (RealSrcSpan r _) -> (ss2pos r) <= (ss2pos ss)
+ _ -> True -- Choose one
+ ) cs
putUnallocatedComments later
-- debugM $ "commentAllocation:(ss,earlier,later)" ++ show (rs2range ss,earlier,later)
return earlier
@@ -1309,8 +1365,7 @@ instance (ExactPrint a) => ExactPrint (Located a) where
UnhelpfulSpan _ -> NoEntryVal
_ -> Entry (hackSrcSpanToAnchor l) emptyComments NoFlushComments CanUpdateAnchorOnly
- setAnnotationAnchor (L _ a) anc _cs = (L (hackAnchorToSrcSpan anc) a)
- `debug` ("setAnnotationAnchor(Located):" ++ showAst anc)
+ setAnnotationAnchor (L l a) _anc _cs = L l a
exact (L l a) = L l <$> markAnnotated a
@@ -1320,16 +1375,24 @@ instance (ExactPrint a) => ExactPrint (LocatedA a) where
exact (L la a) = do
debugM $ "LocatedA a:la loc=" ++ show (ss2range $ locA la)
a' <- markAnnotated a
- ann' <- markALocatedA (ann la)
- return (L (la { ann = ann'}) a')
+ la' <- markALocatedA la
+ return (L la' a')
instance (ExactPrint a) => ExactPrint (LocatedAn NoEpAnns a) where
+ getAnnotationEntry = entryFromLocatedI
+ setAnnotationAnchor la anc cs = setAnchorAnI la anc cs
+ exact (L la a) = do
+ a' <- markAnnotated a
+ return (L la a')
+
+instance (ExactPrint a) => ExactPrint (LocatedAnS NoEpAnns a) where
getAnnotationEntry = entryFromLocatedA
setAnnotationAnchor la anc cs = setAnchorAn la anc cs
exact (L la a) = do
a' <- markAnnotated a
return (L la a')
+
instance (ExactPrint a) => ExactPrint [a] where
getAnnotationEntry = const NoEntryVal
setAnnotationAnchor ls _ _ = ls
@@ -1391,6 +1454,8 @@ instance ExactPrint (HsModule GhcPs) where
Just (pos, prior) -> do
debugM $ "am_eof:" ++ showGhc (pos, prior)
setEofPos (Just (pos, prior))
+ -- let dp = origDelta pos prior
+ -- printStringAtLsDelta dp ""
let anf = an0 { anns = (anns an0) { am_decls = am_decls' }}
debugM $ "HsModule, anf=" ++ showAst anf
@@ -1410,24 +1475,24 @@ instance ExactPrint ModuleName where
-- ---------------------------------------------------------------------
instance ExactPrint (LocatedP (WarningTxt GhcPs)) where
- getAnnotationEntry = entryFromLocatedA
- setAnnotationAnchor = setAnchorAn
+ getAnnotationEntry = entryFromLocatedI
+ setAnnotationAnchor = setAnchorAnI
- exact (L (SrcSpanAnn an l) (WarningTxt mb_cat (L la src) ws)) = do
+ exact (L (SrcSpanAnn an l) (WarningTxt mb_cat src ws)) = do
an0 <- markAnnOpenP an src "{-# WARNING"
an1 <- markEpAnnL an0 lapr_rest AnnOpenS
ws' <- markAnnotated ws
an2 <- markEpAnnL an1 lapr_rest AnnCloseS
an3 <- markAnnCloseP an2
- return (L (SrcSpanAnn an3 l) (WarningTxt mb_cat (L la src) ws'))
+ return (L (SrcSpanAnn an3 l) (WarningTxt mb_cat src ws'))
- exact (L (SrcSpanAnn an l) (DeprecatedTxt (L ls src) ws)) = do
+ exact (L (SrcSpanAnn an l) (DeprecatedTxt src ws)) = do
an0 <- markAnnOpenP an src "{-# DEPRECATED"
an1 <- markEpAnnL an0 lapr_rest AnnOpenS
ws' <- markAnnotated ws
an2 <- markEpAnnL an1 lapr_rest AnnCloseS
an3 <- markAnnCloseP an2
- return (L (SrcSpanAnn an3 l) (DeprecatedTxt (L ls src) ws'))
+ return (L (SrcSpanAnn an3 l) (DeprecatedTxt src ws'))
-- ---------------------------------------------------------------------
@@ -2052,8 +2117,8 @@ instance ExactPrint (TyFamInstDecl GhcPs) where
-- ---------------------------------------------------------------------
instance ExactPrint (LocatedP OverlapMode) where
- getAnnotationEntry = entryFromLocatedA
- setAnnotationAnchor = setAnchorAn
+ getAnnotationEntry = entryFromLocatedI
+ setAnnotationAnchor = setAnchorAnI
-- NOTE: NoOverlap is only used in the typechecker
exact (L (SrcSpanAnn an l) (NoOverlap src)) = do
@@ -2317,13 +2382,17 @@ instance ExactPrint (HsValBindsLR GhcPs GhcPs) where
setAnnotationAnchor a _ _ = a
exact (ValBinds sortKey binds sigs) = do
- ds <- setLayoutBoth $ withSortKey sortKey
- (prepareListAnnotationA (bagToList binds)
- ++ prepareListAnnotationA sigs
- )
+ -- ds <- setLayoutBoth $ withSortKeyBind sortKey
+ -- (prepareListAnnotationA (bagToList binds)
+ -- ++ prepareListAnnotationA sigs
+ -- )
+ -- let
+ -- binds' = listToBag $ undynamic ds
+ -- sigs' = undynamic ds
+ setLayoutBoth $ mapM markAnnotated $ hsDeclsValBinds (ValBinds sortKey binds sigs)
let
- binds' = listToBag $ undynamic ds
- sigs' = undynamic ds
+ binds' = binds
+ sigs' = sigs
return (ValBinds sortKey binds' sigs')
exact (XValBindsLR _) = panic "XValBindsLR"
@@ -2364,21 +2433,37 @@ instance ExactPrint HsIPName where
prepareListAnnotationF :: (Monad m, Monoid w) =>
EpAnn [AddEpAnn] -> [LDataFamInstDecl GhcPs] -> [(RealSrcSpan,EP w m Dynamic)]
-prepareListAnnotationF an ls = map (\b -> (realSrcSpan $ getLocA b, go b)) ls
+prepareListAnnotationF an ls = map (\b -> (realSrcSpan "aa4" $ getLocA b, go b)) ls
where
go (L l a) = do
d' <- markAnnotated (DataFamInstDeclWithContext an NotTopLevel a)
return (toDyn (L l (dc_d d')))
-prepareListAnnotationA :: (Monad m, Monoid w, ExactPrint (LocatedAn an a))
- => [LocatedAn an a] -> [(RealSrcSpan,EP w m Dynamic)]
-prepareListAnnotationA ls = map (\b -> (realSrcSpan $ getLocA b,go b)) ls
+prepareListAnnotationA :: (Monad m, Monoid w, ExactPrint (LocatedAnS an a))
+ => [LocatedAnS an a] -> [(RealSrcSpan,EP w m Dynamic)]
+prepareListAnnotationA ls = map (\b -> (realSrcSpan "aa5" $ getLocA b,go b)) ls
where
go b = do
b' <- markAnnotated b
return (toDyn b')
-withSortKey :: (Monad m, Monoid w) => AnnSortKey -> [(RealSrcSpan, EP w m Dynamic)] -> EP w m [Dynamic]
+-- withSortKeyBind :: (Monad m, Monoid w)
+-- => AnnSortKey [(DeclTag, Int)] -> [(RealSrcSpan, EP w m Dynamic)] -> EP w m [Dynamic]
+-- withSortKeyBind annSortKey xs = do
+-- debugM $ "withSortKey:annSortKey=" ++ showAst annSortKey
+-- let ordered = case annSortKey of
+-- NoAnnSortKey -> sortBy orderByFst xs
+-- -- Just keys -> error $ "withSortKey: keys" ++ show keys
+-- AnnSortKey keys -> orderByKey xs keys
+-- -- `debug` ("withSortKey:" ++
+-- -- showPprUnsafe (map fst (sortBy (comparing (flip elemIndex keys . fst)) xs),
+-- -- map fst xs,
+-- -- keys)
+-- -- )
+-- mapM snd ordered
+
+withSortKey :: (Monad m, Monoid w)
+ => AnnSortKey [RealSrcSpan] -> [(RealSrcSpan, EP w m Dynamic)] -> EP w m [Dynamic]
withSortKey annSortKey xs = do
debugM $ "withSortKey:annSortKey=" ++ showAst annSortKey
let ordered = case annSortKey of
@@ -2701,7 +2786,12 @@ instance ExactPrint (HsExpr GhcPs) where
setAnnotationAnchor a@(HsPragE{}) _ _s = a
exact (HsVar x n) = do
- n' <- markAnnotated n
+ -- The parser inserts a placeholder value for a record pun rhs. This must be
+ -- filtered.
+ let pun_RDR = "pun-right-hand-side"
+ n' <- if (showPprUnsafe n /= pun_RDR)
+ then markAnnotated n
+ else return n
return (HsVar x n')
exact x@(HsUnboundVar an _) = do
case an of
@@ -2865,7 +2955,9 @@ instance ExactPrint (HsExpr GhcPs) where
expr' <- markAnnotated expr
an0 <- markEpAnnL an lidl AnnOpenC
fields' <- markAnnotated fields
+ debugM $ "RecordUpd after fields"
an1 <- markEpAnnL an0 lidl AnnCloseC
+ debugM $ "RecordUpd after AnnCLoseC"
return (RecordUpd an1 expr' fields')
exact (HsGetField an expr field) = do
expr' <- markAnnotated expr
@@ -3006,7 +3098,7 @@ exactMdo an (Just module_name) kw = markEpAnnLMS an lal_rest kw (Just n)
markMaybeDodgyStmts :: (Monad m, Monoid w, ExactPrint (LocatedAn an a))
=> EpAnn AnnList -> LocatedAn an a -> EP w m (EpAnn AnnList, LocatedAn an a)
markMaybeDodgyStmts an stmts =
- if isGoodSrcSpan (getLocA stmts)
+ if isGoodSrcSpan (getLocI stmts)
then do
r <- markAnnotatedWithLayout stmts
return (an, r)
@@ -3061,7 +3153,7 @@ instance ExactPrint (MatchGroup GhcPs (LocatedA (HsExpr GhcPs))) where
setAnnotationAnchor a _ _ = a
exact (MG x matches) = do
-- TODO:AZ use SortKey, in MG ann.
- matches' <- if isGoodSrcSpan (getLocA matches)
+ matches' <- if isGoodSrcSpan (getLocI matches)
then markAnnotated matches
else return matches
return (MG x matches')
@@ -3071,7 +3163,7 @@ instance ExactPrint (MatchGroup GhcPs (LocatedA (HsCmd GhcPs))) where
setAnnotationAnchor a _ _ = a
exact (MG x matches) = do
-- TODO:AZ use SortKey, in MG ann.
- matches' <- if isGoodSrcSpan (getLocA matches)
+ matches' <- if isGoodSrcSpan (getLocI matches)
then markAnnotated matches
else return matches
return (MG x matches')
@@ -3093,7 +3185,7 @@ instance (ExactPrint body) => ExactPrint (HsRecFields GhcPs body) where
-- ---------------------------------------------------------------------
instance (ExactPrint body)
- => ExactPrint (HsFieldBind (LocatedAn NoEpAnns (FieldOcc GhcPs)) body) where
+ => ExactPrint (HsFieldBind (LocatedAnS NoEpAnns (FieldOcc GhcPs)) body) where
getAnnotationEntry x = fromAnn (hfbAnn x)
setAnnotationAnchor (HsFieldBind an f arg isPun) anc cs = (HsFieldBind (setAnchorEpa an anc cs) f arg isPun)
exact (HsFieldBind an f arg isPun) = do
@@ -3101,9 +3193,9 @@ instance (ExactPrint body)
f' <- markAnnotated f
(an0, arg') <- if isPun then return (an, arg)
else do
- an0 <- markEpAnnL an lidl AnnEqual
- arg' <- markAnnotated arg
- return (an0, arg')
+ an0 <- markEpAnnL an lidl AnnEqual
+ arg' <- markAnnotated arg
+ return (an0, arg')
return (HsFieldBind an0 f' arg' isPun)
-- ---------------------------------------------------------------------
@@ -3118,16 +3210,32 @@ instance (ExactPrint body)
f' <- markAnnotated f
(an0, arg') <- if isPun then return (an, arg)
else do
- an0 <- markEpAnnL an lidl AnnEqual
- arg' <- markAnnotated arg
- return (an0, arg')
+ an0 <- markEpAnnL an lidl AnnEqual
+ arg' <- markAnnotated arg
+ return (an0, arg')
+ return (HsFieldBind an0 f' arg' isPun)
+
+-- Odd that we need this one too.
+instance (ExactPrint body)
+ => ExactPrint (HsFieldBind (LocatedAnS NoEpAnns (FieldLabelStrings GhcPs)) body) where
+ getAnnotationEntry x = fromAnn (hfbAnn x)
+ setAnnotationAnchor (HsFieldBind an f arg isPun) anc cs = (HsFieldBind (setAnchorEpa an anc cs) f arg isPun)
+
+ exact (HsFieldBind an f arg isPun) = do
+ debugM $ "HsFieldBind FieldLabelStrings"
+ f' <- markAnnotated f
+ (an0, arg') <- if isPun then return (an, arg)
+ else do
+ an0 <- markEpAnnL an lidl AnnEqual
+ arg' <- markAnnotated arg
+ return (an0, arg')
return (HsFieldBind an0 f' arg' isPun)
-- ---------------------------------------------------------------------
-- instance ExactPrint (HsRecUpdField GhcPs q) where
instance (ExactPrint (LocatedA body))
- => ExactPrint (HsFieldBind (LocatedAn NoEpAnns (AmbiguousFieldOcc GhcPs)) (LocatedA body)) where
+ => ExactPrint (HsFieldBind (LocatedAnS NoEpAnns (AmbiguousFieldOcc GhcPs)) (LocatedA body)) where
getAnnotationEntry x = fromAnn (hfbAnn x)
setAnnotationAnchor (HsFieldBind an f arg isPun) anc cs = (HsFieldBind (setAnchorEpa an anc cs) f arg isPun)
exact (HsFieldBind an f arg isPun) = do
@@ -3135,7 +3243,7 @@ instance (ExactPrint (LocatedA body))
f' <- markAnnotated f
an0 <- if isPun then return an
else markEpAnnL an lidl AnnEqual
- arg' <- if ((locA $ getLoc arg) == noSrcSpan )
+ arg' <- if isPun
then return arg
else markAnnotated arg
return (HsFieldBind an0 f' arg' isPun)
@@ -4018,7 +4126,7 @@ instance ExactPrint (DerivStrategy GhcPs) where
instance (ExactPrint a) => ExactPrint (LocatedC a) where
getAnnotationEntry (L sann _) = fromAnn sann
- setAnnotationAnchor = setAnchorAn
+ setAnnotationAnchor = setAnchorAnI
exact (L (SrcSpanAnn EpAnnNotUsed l) a) = do
a' <- markAnnotated a
@@ -4063,10 +4171,7 @@ instance ExactPrint (LocatedN RdrName) where
getAnnotationEntry (L sann _) = fromAnn sann
setAnnotationAnchor = setAnchorAn
- exact x@(L (SrcSpanAnn EpAnnNotUsed l) n) = do
- _ <- printUnicode (spanAsAnchor l) n
- return x
- exact (L (SrcSpanAnn (EpAnn anc ann cs) ll) n) = do
+ exact (L (EpAnnS anc ann cs) n) = do
ann' <-
case ann of
NameAnn a o l c t -> do
@@ -4108,7 +4213,7 @@ instance ExactPrint (LocatedN RdrName) where
_anc' <- printUnicode anc n
t' <- markTrailing t
return (NameAnnTrailing t')
- return (L (SrcSpanAnn (EpAnn anc ann' cs) ll) n)
+ return (L (EpAnnS anc ann' cs) n)
locFromAdd :: AddEpAnn -> EpaLocation
locFromAdd (AddEpAnn _ loc) = loc
@@ -4117,12 +4222,16 @@ printUnicode :: (Monad m, Monoid w) => Anchor -> RdrName -> EP w m Anchor
printUnicode anc n = do
let str = case (showPprUnsafe n) of
-- TODO: unicode support?
- "forall" -> if spanLength (anchor anc) == 1 then "∀" else "forall"
+ -- "forall" -> if spanLength (anchor anc) == 1 then "∀" else "forall"
+ "forall" -> case anc of
+ EpaSpan (RealSrcSpan r _) -> if spanLength r == 1 then "∀" else "forall"
+ _ -> "forall"
s -> s
- loc <- printStringAtAAC NoCaptureComments (EpaDelta (SameLine 0) []) str
+ loc <- printStringAtAAC NoCaptureComments anc str
case loc of
- EpaSpan _ _ -> return anc
- EpaDelta dp [] -> return anc { anchor_op = MovedAnchor dp }
+ EpaSpan _ -> return anc
+ -- EpaDelta dp [] -> return anc { anchor_op = MovedAnchor dp }
+ EpaDelta dp [] -> return $ EpaDelta dp []
EpaDelta _ _cs -> error "printUnicode should not capture comments"
@@ -4132,12 +4241,15 @@ markName :: (Monad m, Monoid w)
markName adorn open mname close = do
let (kwo,kwc) = adornments adorn
(AddEpAnn _ open') <- markKwC CaptureComments (AddEpAnn kwo open)
+ -- debugM $ "mname: " ++ showAst mname
mname' <-
case mname of
Nothing -> return Nothing
- Just (name, a) -> do
- name' <- printStringAtAAC CaptureComments name (showPprUnsafe a)
- return (Just (name',a))
+ Just (loc, name) -> do
+ debugM $ "(loc,name): " ++ showAst (loc,name)
+ -- debugM $ "name:[" ++ (showPprUnsafe name) ++ "]"
+ loc' <- printStringAtAAC CaptureComments loc (showPprUnsafe name)
+ return (Just (loc',name))
(AddEpAnn _ close') <- markKwC CaptureComments (AddEpAnn kwc close)
return (open', mname', close')
@@ -4342,8 +4454,8 @@ instance (ExactPrint a) => ExactPrint (HsScaled GhcPs a) where
-- ---------------------------------------------------------------------
instance ExactPrint (LocatedP CType) where
- getAnnotationEntry = entryFromLocatedA
- setAnnotationAnchor = setAnchorAn
+ getAnnotationEntry = entryFromLocatedI
+ setAnnotationAnchor = setAnchorAnI
exact x@(L (SrcSpanAnn EpAnnNotUsed _) ct) = withPpr ct >> return x
exact (L (SrcSpanAnn an ll)
@@ -4382,8 +4494,8 @@ instance ExactPrint (SourceText, RuleName) where
-- ---------------------------------------------------------------------
instance ExactPrint (LocatedL [LocatedA (IE GhcPs)]) where
- getAnnotationEntry = entryFromLocatedA
- setAnnotationAnchor = setAnchorAn
+ getAnnotationEntry = entryFromLocatedI
+ setAnnotationAnchor = setAnchorAnI
exact (L (SrcSpanAnn an l) ies) = do
debugM $ "LocatedL [LIE"
@@ -4395,8 +4507,8 @@ instance ExactPrint (LocatedL [LocatedA (IE GhcPs)]) where
instance (ExactPrint (Match GhcPs (LocatedA body)))
=> ExactPrint (LocatedL [LocatedA (Match GhcPs (LocatedA body))]) where
- getAnnotationEntry = entryFromLocatedA
- setAnnotationAnchor = setAnchorAn
+ getAnnotationEntry = entryFromLocatedI
+ setAnnotationAnchor = setAnchorAnI
exact (L la a) = do
let an = ann la
debugM $ "LocatedL [LMatch"
@@ -4409,8 +4521,8 @@ instance (ExactPrint (Match GhcPs (LocatedA body)))
return (L (la { ann = an3}) a')
instance ExactPrint (LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsExpr GhcPs)))]) where
- getAnnotationEntry = entryFromLocatedA
- setAnnotationAnchor = setAnchorAn
+ getAnnotationEntry = entryFromLocatedI
+ setAnnotationAnchor = setAnchorAnI
exact (L (SrcSpanAnn an l) stmts) = do
debugM $ "LocatedL [ExprLStmt"
(an'', stmts') <- markAnnList True an $ do
@@ -4426,8 +4538,8 @@ instance ExactPrint (LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsExpr Gh
-- instance ExactPrint (LocatedL [CmdLStmt GhcPs]) where
instance ExactPrint (LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsCmd GhcPs)))]) where
- getAnnotationEntry = entryFromLocatedA
- setAnnotationAnchor = setAnchorAn
+ getAnnotationEntry = entryFromLocatedI
+ setAnnotationAnchor = setAnchorAnI
exact (L (SrcSpanAnn ann l) es) = do
debugM $ "LocatedL [CmdLStmt"
an0 <- markLensMAA ann lal_open
@@ -4436,16 +4548,16 @@ instance ExactPrint (LocatedL [LocatedA (StmtLR GhcPs GhcPs (LocatedA (HsCmd Ghc
return (L (SrcSpanAnn an1 l) es')
instance ExactPrint (LocatedL [LocatedA (ConDeclField GhcPs)]) where
- getAnnotationEntry = entryFromLocatedA
- setAnnotationAnchor = setAnchorAn
+ getAnnotationEntry = entryFromLocatedI
+ setAnnotationAnchor = setAnchorAnI
exact (L (SrcSpanAnn an l) fs) = do
debugM $ "LocatedL [LConDeclField"
(an', fs') <- markAnnList True an (markAnnotated fs)
return (L (SrcSpanAnn an' l) fs')
instance ExactPrint (LocatedL (BF.BooleanFormula (LocatedN RdrName))) where
- getAnnotationEntry = entryFromLocatedA
- setAnnotationAnchor = setAnchorAn
+ getAnnotationEntry = entryFromLocatedI
+ setAnnotationAnchor = setAnchorAnI
exact (L (SrcSpanAnn an l) bf) = do
debugM $ "LocatedL [LBooleanFormula"
(an', bf') <- markAnnList True an (markAnnotated bf)
@@ -4568,9 +4680,9 @@ instance ExactPrint (Pat GhcPs) where
setAnnotationAnchor (SigPat an a b) anc cs = (SigPat (setAnchorEpa an anc cs) a b)
exact (WildPat w) = do
- anchor <- getAnchorU
- debugM $ "WildPat:anchor=" ++ show anchor
- _ <- printStringAtRs anchor "_"
+ anc <- getAnchorU
+ debugM $ "WildPat:anc=" ++ show anc
+ _ <- printStringAtRs anc "_"
return (WildPat w)
exact (VarPat x n) = do
-- The parser inserts a placeholder value for a record pun rhs. This must be
@@ -4751,9 +4863,12 @@ exactConArgs (RecCon rpats) = do
-- ---------------------------------------------------------------------
-entryFromLocatedA :: LocatedAn ann a -> Entry
+entryFromLocatedA :: LocatedAnS ann a -> Entry
entryFromLocatedA (L la _) = fromAnn la
+entryFromLocatedI :: LocatedAn ann a -> Entry
+entryFromLocatedI (L la _) = fromAnn la
+
-- =====================================================================
-- Utility stuff
-- ---------------------------------------------------------------------
@@ -4783,8 +4898,8 @@ isGoodDeltaWithOffset dp colOffset = isGoodDelta (deltaPos l c)
-- | Print a comment, using the current layout offset to convert the
-- @DeltaPos@ to an absolute position.
-printQueuedComment :: (Monad m, Monoid w) => RealSrcSpan -> Comment -> DeltaPos -> EP w m ()
-printQueuedComment _loc Comment{commentContents} dp = do
+printQueuedComment :: (Monad m, Monoid w) => Comment -> DeltaPos -> EP w m ()
+printQueuedComment Comment{commentContents} dp = do
p <- getPosP
d <- getPriorEndD
colOffset <- getLayoutOffsetP
@@ -4850,6 +4965,13 @@ getPriorEndD = gets dPriorEndPosition
getAnchorU :: (Monad m, Monoid w) => EP w m RealSrcSpan
getAnchorU = gets uAnchorSpan
+getAcceptSpan ::(Monad m, Monoid w) => EP w m Bool
+getAcceptSpan = gets pAcceptSpan
+
+setAcceptSpan ::(Monad m, Monoid w) => Bool -> EP w m ()
+setAcceptSpan f =
+ modify (\s -> s { pAcceptSpan = f })
+
setPriorEndD :: (Monad m, Monoid w) => Pos -> EP w m ()
setPriorEndD pe = do
setPriorEndNoLayoutD pe
diff --git a/utils/check-exact/Main.hs b/utils/check-exact/Main.hs
index 74525dd5f9..84e913ad7e 100644
--- a/utils/check-exact/Main.hs
+++ b/utils/check-exact/Main.hs
@@ -36,8 +36,8 @@ import GHC.Data.FastString
-- ---------------------------------------------------------------------
_tt :: IO ()
-_tt = testOneFile changers "/home/alanz/mysrc/git.haskell.org/worktree/master/_build/stage1/lib/"
--- _tt = testOneFile changers "/home/alanz/mysrc/git.haskell.org/ghc/_build/stage1/lib/"
+-- _tt = testOneFile changers "/home/alanz/mysrc/git.haskell.org/worktree/master/_build/stage1/lib/"
+_tt = testOneFile changers "/home/alanz/mysrc/git.haskell.org/ghc/_build/stage1/lib/"
-- _tt = testOneFile changers "/home/alanz/mysrc/git.haskell.org/worktree/exactprint/_build/stage1/lib"
-- _tt = testOneFile changers "/home/alanz/mysrc/git.haskell.org/worktree/epw/_build/stage1/lib"
@@ -61,7 +61,7 @@ _tt = testOneFile changers "/home/alanz/mysrc/git.haskell.org/worktree/master/_b
-- "../../testsuite/tests/ghc-api/exactprint/LocalDecls.hs" (Just changeLocalDecls)
-- "../../testsuite/tests/ghc-api/exactprint/LocalDecls2.hs" (Just changeLocalDecls2)
-- "../../testsuite/tests/ghc-api/exactprint/WhereIn3a.hs" (Just changeWhereIn3a)
- -- "../../testsuite/tests/ghc-api/exactprint/WhereIn3b.hs" (Just changeWhereIn3b)
+ "../../testsuite/tests/ghc-api/exactprint/WhereIn3b.hs" (Just changeWhereIn3b)
-- "../../testsuite/tests/ghc-api/exactprint/AddLocalDecl1.hs" (Just addLocaLDecl1)
-- "../../testsuite/tests/ghc-api/exactprint/AddLocalDecl2.hs" (Just addLocaLDecl2)
-- "../../testsuite/tests/ghc-api/exactprint/AddLocalDecl3.hs" (Just addLocaLDecl3)
@@ -205,8 +205,12 @@ _tt = testOneFile changers "/home/alanz/mysrc/git.haskell.org/worktree/master/_b
-- "../../testsuite/tests/printer/Test16279.hs" Nothing
-- "../../testsuite/tests/printer/HsDocTy.hs" Nothing
-- "../../testsuite/tests/printer/Test22765.hs" Nothing
- "../../testsuite/tests/printer/Test22771.hs" Nothing
-
+ -- "../../testsuite/tests/printer/Test22771.hs" Nothing
+ -- "../../testsuite/tests/hiefile/should_compile/hie003.hs" Nothing
+ -- "../../testsuite/tests/th/TH_dataD1.hs" Nothing
+ -- "../../testsuite/tests/printer/Test20297.hs" Nothing
+ -- "../../testsuite/tests/overloadedlists/should_fail/overloadedlistsfail01.hs" Nothing
+ -- "../../testsuite/tests/typecheck/should_fail/tcfail181.hs" Nothing
-- cloneT does not need a test, function can be retired
@@ -412,7 +416,8 @@ changeRename2 _libdir parsed = return (rename "joe" [((2,1),(2,5))] parsed)
rename :: (Data a, ExactPrint a) => String -> [(Pos, Pos)] -> a -> a
rename newNameStr spans' a
- = everywhere (mkT replaceRdr) (makeDeltaAst a)
+ -- = everywhere (mkT replaceRdr) (makeDeltaAst a)
+ = everywhere (mkT replaceRdr) a
where
newName = mkRdrUnqual (mkVarOcc newNameStr)
@@ -421,18 +426,19 @@ rename newNameStr spans' a
replaceRdr :: LocatedN RdrName -> LocatedN RdrName
replaceRdr (L ln _)
- | cond (locA ln) = L ln newName
+ | cond (locN ln) = L ln newName
replaceRdr x = x
-- ---------------------------------------------------------------------
changeWhereIn4 :: Changer
changeWhereIn4 _libdir parsed
- = return (everywhere (mkT replace) (makeDeltaAst parsed))
+ -- = return (everywhere (mkT replace) (makeDeltaAst parsed))
+ = return (everywhere (mkT replace) parsed)
where
replace :: LocatedN RdrName -> LocatedN RdrName
replace (L ln _n)
- | ss2range (locA ln) == ((12,16),(12,17)) = L ln (mkRdrUnqual (mkVarOcc "p_2"))
+ | ss2range (locN ln) == ((12,16),(12,17)) = L ln (mkRdrUnqual (mkVarOcc "p_2"))
replace x = x
-- ---------------------------------------------------------------------
@@ -447,8 +453,8 @@ changeLetIn1 _libdir parsed
let (HsValBinds x (ValBinds xv bagDecls sigs)) = localDecls
[l2,_l1] = map wrapDecl $ bagToList bagDecls
bagDecls' = listToBag $ concatMap decl2Bind [l2]
- (L (SrcSpanAnn _ le) e) = expr
- a = (SrcSpanAnn (EpAnn (Anchor (realSrcSpan le) (MovedAnchor (SameLine 1))) mempty emptyComments) le)
+ (L (EpAnnS _ _ _) e) = expr
+ a = (EpAnnS (EpaDelta (SameLine 1) []) mempty emptyComments)
expr' = L a e
tkIn' = L (TokenLoc (EpaDelta (DifferentLine 1 0) [])) HsTok
in (HsLet an tkLet
@@ -464,10 +470,12 @@ changeAddDecl1 libdir top = do
Right decl <- withDynFlags libdir (\df -> parseDecl df "<interactive>" "nn = n2")
let decl' = setEntryDP decl (DifferentLine 2 0)
- let (p',_,_) = runTransform doAddDecl
+ let (p',_,_w) = runTransform doAddDecl
doAddDecl = everywhereM (mkM replaceTopLevelDecls) top
replaceTopLevelDecls :: ParsedSource -> Transform ParsedSource
replaceTopLevelDecls m = insertAtStart m decl'
+
+ debugM $ "log:[\n" ++ intercalate "\n" _w ++ "]log end\n"
return p'
-- ---------------------------------------------------------------------
@@ -475,10 +483,12 @@ changeAddDecl1 libdir top = do
changeAddDecl2 :: Changer
changeAddDecl2 libdir top = do
Right decl <- withDynFlags libdir (\df -> parseDecl df "<interactive>" "nn = n2")
- let decl' = setEntryDP (makeDeltaAst decl) (DifferentLine 2 0)
+ -- let decl' = setEntryDP (makeDeltaAst decl) (DifferentLine 2 0)
+ let decl' = setEntryDP decl (DifferentLine 2 0)
let (p',_,_) = runTransform doAddDecl
- doAddDecl = everywhereM (mkM replaceTopLevelDecls) (makeDeltaAst top)
+ -- doAddDecl = everywhereM (mkM replaceTopLevelDecls) (makeDeltaAst top)
+ doAddDecl = everywhereM (mkM replaceTopLevelDecls) top
replaceTopLevelDecls :: ParsedSource -> Transform ParsedSource
replaceTopLevelDecls m = insertAtEnd m decl'
return p'
@@ -520,9 +530,9 @@ changeLocalDecls libdir (L l p) = do
let oldBinds = concatMap decl2Bind oldDecls'
(os:oldSigs) = concatMap decl2Sig oldDecls'
os' = setEntryDP os (DifferentLine 2 0)
- let sortKey = captureOrder decls
- let (EpAnn anc (AnnList (Just (Anchor anc2 _)) a b c dd) cs) = van
- let van' = (EpAnn anc (AnnList (Just (Anchor anc2 (MovedAnchor (DifferentLine 1 4)))) a b c dd) cs)
+ let sortKey = captureOrderBinds decls
+ let (EpAnn anc (AnnList (Just _) a b c dd) cs) = van
+ let van' = (EpAnn anc (AnnList (Just (EpaDelta (DifferentLine 1 4) [])) a b c dd) cs)
let binds' = (HsValBinds van'
(ValBinds sortKey (listToBag $ decl':oldBinds)
(sig':os':oldSigs)))
@@ -545,15 +555,14 @@ changeLocalDecls2 libdir (L l p) = do
replaceLocalBinds :: LMatch GhcPs (LHsExpr GhcPs)
-> Transform (LMatch GhcPs (LHsExpr GhcPs))
replaceLocalBinds (L lm (Match ma mln pats (GRHSs _ rhs EmptyLocalBinds{}))) = do
- newSpan <- uniqueSrcSpanT
- let anc = (Anchor (rs newSpan) (MovedAnchor (DifferentLine 1 2)))
- let anc2 = (Anchor (rs newSpan) (MovedAnchor (DifferentLine 1 4)))
+ let anc = (EpaDelta (DifferentLine 1 2) [])
+ let anc2 = (EpaDelta (DifferentLine 1 4) [])
let an = EpAnn anc
(AnnList (Just anc2) Nothing Nothing
[AddEpAnn AnnWhere (EpaDelta (SameLine 0) [])] [])
emptyComments
let decls = [s,d]
- let sortKey = captureOrder decls
+ let sortKey = captureOrderBinds decls
let binds = (HsValBinds an (ValBinds sortKey (listToBag $ [decl'])
[sig']))
return (L lm (Match ma mln pats (GRHSs emptyComments rhs binds)))
@@ -582,8 +591,9 @@ changeWhereIn3b _libdir (L l p) = do
de1' = setEntryDP de1 (DifferentLine 2 0)
d2' = setEntryDP d2 (DifferentLine 2 0)
decls' = d2':de1':de0':tdecls
+ -- decls' = decls
debugM $ unlines w
- debugM $ "changeWhereIn3b:de1':" ++ showAst de1'
+ -- debugM $ "changeWhereIn3b:de1':" ++ showAst de1'
let p2 = p { hsmodDecls = decls'}
return (L l p2)
@@ -594,12 +604,14 @@ addLocaLDecl1 libdir top = do
Right (L ld (ValD _ decl)) <- withDynFlags libdir (\df -> parseDecl df "decl" "nn = 2")
let decl' = setEntryDP (L ld decl) (DifferentLine 1 5)
doAddLocal = do
- let lp = makeDeltaAst top
+ -- let lp = makeDeltaAst top
+ let lp = top
(de1:d2:d3:_) <- hsDecls lp
(de1'',d2') <- balanceComments de1 d2
(de1',_) <- modifyValD (getLocA de1'') de1'' $ \_m d -> do
return ((wrapDecl decl' : d),Nothing)
replaceDecls lp [de1', d2', d3]
+ -- `debug` ("addLocaLDecl1: (de1'', de1):" ++ showAst (de1'', de1))
(lp',_,w) <- runTransformT doAddLocal
debugM $ "addLocaLDecl1:" ++ intercalate "\n" w
@@ -633,7 +645,8 @@ addLocaLDecl3 libdir top = do
Right newDecl <- withDynFlags libdir (\df -> parseDecl df "decl" "nn = 2")
let
doAddLocal = do
- let lp = makeDeltaAst top
+ -- let lp = makeDeltaAst top
+ let lp = top
(de1:d2:_) <- hsDecls lp
(de1'',d2') <- balanceComments de1 d2
@@ -718,7 +731,8 @@ addLocaLDecl6 libdir lp = do
rmDecl1 :: Changer
rmDecl1 _libdir top = do
let doRmDecl = do
- let lp = makeDeltaAst top
+ -- let lp = makeDeltaAst top
+ let lp = top
tlDecs0 <- hsDecls lp
tlDecs <- balanceCommentsList $ captureLineSpacing tlDecs0
let (de1:_s1:_d2:d3:ds) = tlDecs
@@ -798,7 +812,8 @@ rmDecl5 _libdir lp = do
let
go :: HsExpr GhcPs -> Transform (HsExpr GhcPs)
go (HsLet a tkLet lb tkIn expr) = do
- decs <- hsDeclsValBinds lb
+ let decs = hsDeclsLocalBinds lb
+ -- decs <- hsDeclsValBinds lb
let hdecs : _ = decs
let dec = last decs
_ <- transferEntryDP hdecs dec
@@ -838,7 +853,8 @@ rmDecl7 :: Changer
rmDecl7 _libdir top = do
let
doRmDecl = do
- let lp = makeDeltaAst top
+ -- let lp = makeDeltaAst top
+ let lp = top
tlDecs <- hsDecls lp
[s1,de1,d2,d3] <- balanceCommentsList tlDecs
@@ -894,11 +910,11 @@ addHiding1 _libdir (L l p) = do
l2 <- uniqueSrcSpanT
let
[L li imp1,imp2] = hsmodImports p
- n1 = L (noAnnSrcSpanDP0 l1) (mkVarUnqual (mkFastString "n1"))
- n2 = L (noAnnSrcSpanDP0 l2) (mkVarUnqual (mkFastString "n2"))
- v1 = L (addComma $ noAnnSrcSpanDP0 l1) (IEVar noExtField (L (noAnnSrcSpanDP0 l1) (IEName noExtField n1)))
- v2 = L ( noAnnSrcSpanDP0 l2) (IEVar noExtField (L (noAnnSrcSpanDP0 l2) (IEName noExtField n2)))
- impHiding = L (SrcSpanAnn (EpAnn (Anchor (realSrcSpan l0) m0)
+ n1 = L (noAnnSrcSpanDP0 l1) (mkVarUnqual (mkFastString "n1")) :: LIdP GhcPs
+ n2 = L (noAnnSrcSpanDP0 l2) (mkVarUnqual (mkFastString "n2")) :: LIdP GhcPs
+ v1 = L (addComma $ noAnnSrcSpanDP0 l1) (IEVar noExtField (L (noAnnSrcSpanDP0 l1) (IEName noExtField n1))) :: LIE GhcPs
+ v2 = L ( noAnnSrcSpanDP0 l2) (IEVar noExtField (L (noAnnSrcSpanDP0 l2) (IEName noExtField n2))) :: LIE GhcPs
+ impHiding = L (SrcSpanAnn (EpAnn (EpaDelta m0 [])
(AnnList Nothing
(Just (AddEpAnn AnnOpenP d1))
(Just (AddEpAnn AnnCloseP d0))
@@ -906,7 +922,8 @@ addHiding1 _libdir (L l p) = do
[])
emptyComments) l0) [v1,v2]
imp1' = imp1 { ideclImportList = Just (EverythingBut,impHiding)}
- p' = p { hsmodImports = [L li imp1',imp2]}
+ imp2' = setEntryDP imp2 (DifferentLine 2 0)
+ p' = p { hsmodImports = [L li imp1',imp2']}
return (L l p')
let (lp',_,_w) = runTransform doTransform
@@ -918,23 +935,24 @@ addHiding1 _libdir (L l p) = do
addHiding2 :: Changer
addHiding2 _libdir top = do
let doTransform = do
- let (L l p) = makeDeltaAst top
+ -- let (L l p) = makeDeltaAst top
+ let (L l p) = top
l1 <- uniqueSrcSpanT
l2 <- uniqueSrcSpanT
let
[L li imp1] = hsmodImports p
Just (_,L lh ns) = ideclImportList imp1
- lh' = (SrcSpanAnn (EpAnn (Anchor (realSrcSpan (locA lh)) m0)
+ lh' = (SrcSpanAnn (EpAnn (EpaDelta m0 [])
(AnnList Nothing
(Just (AddEpAnn AnnOpenP d1))
(Just (AddEpAnn AnnCloseP d0))
[(AddEpAnn AnnHiding d1)]
[])
- emptyComments) (locA lh))
- n1 = L (noAnnSrcSpanDP0 l1) (mkVarUnqual (mkFastString "n1"))
- n2 = L (noAnnSrcSpanDP0 l2) (mkVarUnqual (mkFastString "n2"))
- v1 = L (addComma $ noAnnSrcSpanDP0 l1) (IEVar noExtField (L (noAnnSrcSpanDP0 l1) (IEName noExtField n1)))
- v2 = L ( noAnnSrcSpanDP0 l2) (IEVar noExtField (L (noAnnSrcSpanDP0 l2) (IEName noExtField n2)))
+ emptyComments) (locI lh))
+ n1 = L (noAnnSrcSpanDP0 l1) (mkVarUnqual (mkFastString "n1")) :: LIdP GhcPs
+ n2 = L (noAnnSrcSpanDP0 l2) (mkVarUnqual (mkFastString "n2")) :: LIdP GhcPs
+ v1 = L (addComma $ noAnnSrcSpanDP0 l1) (IEVar noExtField (L (noAnnSrcSpanDP0 l1) (IEName noExtField n1))) :: LIE GhcPs
+ v2 = L ( noAnnSrcSpanDP0 l2) (IEVar noExtField (L (noAnnSrcSpanDP0 l2) (IEName noExtField n2))) :: LIE GhcPs
L ln n = last ns
n' = L (addComma ln) n
imp1' = imp1 { ideclImportList = Just (EverythingBut, L lh' (init ns ++ [n',v1,v2]))}
diff --git a/utils/check-exact/Parsers.hs b/utils/check-exact/Parsers.hs
index 2eadcacab9..54e33b37cf 100644
--- a/utils/check-exact/Parsers.hs
+++ b/utils/check-exact/Parsers.hs
@@ -284,7 +284,7 @@ fixModuleTrailingComments (GHC.L l p) = GHC.L l p'
rebalance cs = cs'
where
cs' = case GHC.hsmodLayout $ GHC.hsmodExt p of
- GHC.ExplicitBraces _ (GHC.L (GHC.TokenLoc (GHC.EpaSpan ss _)) _) ->
+ GHC.ExplicitBraces _ (GHC.L (GHC.TokenLoc (GHC.EpaSpan (GHC.RealSrcSpan ss _))) _) ->
let
pc = GHC.priorComments cs
fc = GHC.getFollowingComments cs
diff --git a/utils/check-exact/Preprocess.hs b/utils/check-exact/Preprocess.hs
index 55d84763f5..efd6e28722 100644
--- a/utils/check-exact/Preprocess.hs
+++ b/utils/check-exact/Preprocess.hs
@@ -75,14 +75,14 @@ checkLine line s
size = length pragma
mSrcLoc = mkSrcLoc (mkFastString "LINE")
ss = mkSrcSpan (mSrcLoc line 1) (mSrcLoc line (size+1))
- in (res, Just $ mkLEpaComment pragma (GHC.spanAsAnchor ss) (GHC.realSrcSpan ss))
+ in (res, Just $ mkLEpaComment pragma (GHC.spanAsAnchor ss) (GHC.realSrcSpan "checkLine" ss))
-- Deal with shebang/cpp directives too
-- x | "#" `isPrefixOf` s = ("",Just $ Comment ((line, 1), (line, length s)) s)
| "#!" `isPrefixOf` s =
let mSrcLoc = mkSrcLoc (mkFastString "SHEBANG")
ss = mkSrcSpan (mSrcLoc line 1) (mSrcLoc line (length s))
in
- ("",Just $ mkLEpaComment s (GHC.spanAsAnchor ss) (GHC.realSrcSpan ss))
+ ("",Just $ mkLEpaComment s (GHC.spanAsAnchor ss) (GHC.realSrcSpan "checkLine2" ss))
| otherwise = (s, Nothing)
getPragma :: String -> (String, String)
@@ -224,7 +224,7 @@ getPreprocessedSrcDirectPrim cppOptions src_fn = do
txt <- GHC.liftIO $ readFileGhc hspp_fn
return (txt, buf, dflags')
-showErrorMessages :: GHC.Messages GHC.DriverMessage -> String
+showErrorMessages :: (GHC.Diagnostic a) => GHC.Messages a -> String
showErrorMessages msgs =
GHC.renderWithContext GHC.defaultSDocContext
$ GHC.vcat
@@ -275,7 +275,7 @@ makeBufSpan :: GHC.SrcSpan -> GHC.PsSpan
makeBufSpan ss = pspan
where
bl = GHC.BufPos 0
- pspan = GHC.PsSpan (GHC.realSrcSpan ss) (GHC.BufSpan bl bl)
+ pspan = GHC.PsSpan (GHC.realSrcSpan "makeBufSpan" ss) (GHC.BufSpan bl bl)
-- ---------------------------------------------------------------------
diff --git a/utils/check-exact/Transform.hs b/utils/check-exact/Transform.hs
index 45f3612a76..a2faefe81e 100644
--- a/utils/check-exact/Transform.hs
+++ b/utils/check-exact/Transform.hs
@@ -46,8 +46,8 @@ module Transform
, WithWhere(..)
-- ** New gen functions
- , noAnnSrcSpanDP
- , noAnnSrcSpanDP0
+ , noAnnSrcSpanDP, noAnnSrcSpanDPI
+ , noAnnSrcSpanDP0, noAnnSrcSpanDP0I
, noAnnSrcSpanDP1
, noAnnSrcSpanDPn
, d0, d1, dn
@@ -68,8 +68,8 @@ module Transform
, anchorEof
-- ** Managing lists, pure functions
- , captureOrder
- , captureLineSpacing
+ , captureOrder, captureOrderBinds
+ , captureLineSpacing, captureLineSpacingI
, captureMatchLineSpacing
, captureTypeSigSpacing
@@ -79,7 +79,7 @@ module Transform
-- * Pure functions
, setEntryDP
, getEntryDP
- , transferEntryDP
+ , transferEntryDP, transferEntryDPI
, transferEntryDP'
, wrapSig, wrapDecl
, decl2Sig, decl2Bind
@@ -95,6 +95,7 @@ import qualified Control.Monad.Fail as Fail
import GHC hiding (parseModule, parsedSource)
import GHC.Data.Bag
import GHC.Data.FastString
+import qualified GHC.Data.Strict as Strict
import Data.Data
import Data.List ( sortBy )
@@ -177,9 +178,28 @@ srcSpanStartLine' _ = 0
-- |If a list has been re-ordered or had items added, capture the new order in
-- the appropriate 'AnnSortKey' attached to the 'Annotation' for the list.
-captureOrder :: [LocatedA b] -> AnnSortKey
+captureOrder :: [LocatedA b] -> AnnSortKey [RealSrcSpan]
captureOrder ls = AnnSortKey $ map (rs . getLocA) ls
+captureOrderBinds :: [LHsDecl GhcPs] -> AnnSortKey [DeclTag]
+captureOrderBinds ls = AnnSortKey $ map go ls
+ where
+ go (L _ (TyClD _ _)) = TyClDTag
+ go (L _ (InstD _ _)) = InstDTag
+ go (L _ (DerivD _ _)) = DerivDTag
+ go (L _ (ValD _ _)) = ValDTag
+ go (L _ (SigD _ _)) = SigDTag
+ go (L _ (KindSigD _ _)) = KindSigDTag
+ go (L _ (DefD _ _)) = DefDTag
+ go (L _ (ForD _ _)) = ForDTag
+ go (L _ (WarningD _ _)) = WarningDTag
+ go (L _ (AnnD _ _)) = AnnDTag
+ go (L _ (RuleD _ _)) = RuleDTag
+ go (L _ (SpliceD _ _)) = SpliceDTag
+ go (L _ (DocD _ _)) = DocDTag
+ go (L _ (RoleAnnotD _ _)) = RoleAnnotDTag
+ go (L _ (XHsDecl _)) = error "captureOrderBinds"
+
-- ---------------------------------------------------------------------
captureMatchLineSpacing :: LHsDecl GhcPs -> LHsDecl GhcPs
@@ -190,8 +210,17 @@ captureMatchLineSpacing (L l (ValD x (FunBind a b (MG c (L d ms )))))
ms' = captureLineSpacing ms
captureMatchLineSpacing d = d
-captureLineSpacing :: Default t
+captureLineSpacingI :: Default t
=> [LocatedAn t e] -> [LocatedAn t e]
+captureLineSpacingI [] = []
+captureLineSpacingI [d] = [d]
+captureLineSpacingI (de1:d2:ds) = de1:captureLineSpacingI (d2':ds)
+ where
+ (l1,_) = ss2pos $ rs $ getLocI de1
+ (l2,_) = ss2pos $ rs $ getLocI d2
+ d2' = setEntryDPI d2 (deltaPos (l2-l1) 0)
+
+captureLineSpacing :: [LocatedA e] -> [LocatedA e]
captureLineSpacing [] = []
captureLineSpacing [d] = [d]
captureLineSpacing (de1:d2:ds) = de1:captureLineSpacing (d2':ds)
@@ -210,30 +239,31 @@ captureTypeSigSpacing (L l (SigD x (TypeSig (EpAnn anc (AnnSig dc rs') cs) ns (H
-- AnnDColon, and to the start of the ty
AddEpAnn kw dca = dc
rd = case last ns of
- L (SrcSpanAnn EpAnnNotUsed ll) _ -> realSrcSpan ll
- L (SrcSpanAnn (EpAnn anc' _ _) _) _ -> anchor anc' -- TODO MovedAnchor?
+ L (EpAnnS anc' _ _) _ -> anchor anc' -- TODO MovedAnchor?
dc' = case dca of
- EpaSpan r _ -> AddEpAnn kw (EpaDelta (ss2delta (ss2posEnd rd) r) [])
- EpaDelta _ _ -> AddEpAnn kw dca
+ EpaSpan (RealSrcSpan r _) -> AddEpAnn kw (EpaDelta (ss2delta (ss2posEnd rd) r) [])
+ _ -> AddEpAnn kw dca
-- ---------------------------------
ty' :: LHsSigType GhcPs
ty' = case ty of
- (L (SrcSpanAnn EpAnnNotUsed ll) b)
- -> let
- op = case dca of
- EpaSpan r _ -> MovedAnchor (ss2delta (ss2posEnd r) (realSrcSpan ll))
- EpaDelta _ _ -> MovedAnchor (SameLine 1)
- in (L (SrcSpanAnn (EpAnn (Anchor (realSrcSpan ll) op) mempty emptyComments) ll) b)
- (L (SrcSpanAnn (EpAnn (Anchor r op) a c) ll) b)
+ -- (L (EpAnnS (Anchor r op) a c) b)
+ -- -> let
+ -- op' = case op of
+ -- MovedAnchor _ -> op
+ -- _ -> case dca of
+ -- EpaSpan dcr -> MovedAnchor (ss2delta (ss2posEnd dcr) r)
+ -- EpaDelta _ _ -> MovedAnchor (SameLine 1)
+ -- in (L (EpAnnS (Anchor r op') a c) b)
+ (L (EpAnnS anc0 a c) b)
-> let
- op' = case op of
- MovedAnchor _ -> op
+ anc' = case anc0 of
+ EpaDelta _ _ -> anc0
_ -> case dca of
- EpaSpan dcr _ -> MovedAnchor (ss2delta (ss2posEnd dcr) r)
- EpaDelta _ _ -> MovedAnchor (SameLine 1)
- in (L (SrcSpanAnn (EpAnn (Anchor r op') a c) ll) b)
+ EpaSpan _ -> error "todo"
+ EpaDelta _ _ -> EpaDelta (SameLine 1) []
+ in (L (EpAnnS anc' a c) b)
captureTypeSigSpacing s = s
@@ -255,15 +285,15 @@ decl2Sig _ = []
-- ---------------------------------------------------------------------
--- |Convert a 'LSig' into a 'LHsDecl'
-wrapSig :: LSig GhcPs -> LHsDecl GhcPs
-wrapSig (L l s) = L l (SigD NoExtField s)
+-- -- |Convert a 'LSig' into a 'LHsDecl'
+-- wrapSig :: LSig GhcPs -> LHsDecl GhcPs
+-- wrapSig (L l s) = L l (SigD NoExtField s)
-- ---------------------------------------------------------------------
--- |Convert a 'LHsBind' into a 'LHsDecl'
-wrapDecl :: LHsBind GhcPs -> LHsDecl GhcPs
-wrapDecl (L l s) = L l (ValD NoExtField s)
+-- -- |Convert a 'LHsBind' into a 'LHsDecl'
+-- wrapDecl :: LHsBind GhcPs -> LHsDecl GhcPs
+-- wrapDecl (L l s) = L l (ValD NoExtField s)
-- ---------------------------------------------------------------------
@@ -282,18 +312,59 @@ setEntryDPDecl d dp = setEntryDP d dp
-- |Set the true entry 'DeltaPos' from the annotation for a given AST
-- element. This is the 'DeltaPos' ignoring any comments.
-setEntryDP :: Default t => LocatedAn t a -> DeltaPos -> LocatedAn t a
-setEntryDP (L (SrcSpanAnn EpAnnNotUsed l) a) dp
+setEntryDP :: LocatedAnS t a -> DeltaPos -> LocatedAnS t a
+setEntryDP (L (EpAnnS _ an (EpaComments [])) a) dp
+ = L (EpAnnS (EpaDelta dp []) an (EpaComments [])) a
+setEntryDP (L (EpAnnS (EpaDelta d _) an cs) a) dp
+ = L (EpAnnS (EpaDelta d' []) an cs') a
+ where
+ (d',cs') = case cs of
+ EpaComments (h:t) ->
+ let
+ (dp0,c') = go h
+ in
+ (dp0, EpaComments (c':t))
+ EpaCommentsBalanced (h:t) ts ->
+ let
+ (dp0,c') = go h
+ in
+ (dp0, EpaCommentsBalanced (c':t) ts)
+ _ -> (dp, cs)
+ go (L (EpaDelta ma c0) c) = (d, L (EpaDelta ma c0) c)
+ go (L (EpaSpan _) c) = (d, L (EpaDelta dp []) c)
+setEntryDP (L (EpAnnS (EpaSpan (RealSrcSpan r _)) an cs) a) dp
+ = case sortEpaComments (priorComments cs) of
+ [] -> L (EpAnnS (EpaDelta dp []) an cs) a
+ (L ca c:cs') ->
+ L (EpAnnS (EpaDelta edp []) an cs'') a
+ where
+ cs'' = setPriorComments cs (L (EpaDelta dp []) c:cs')
+ lc = head $ reverse $ (L ca c:cs')
+ -- delta = tweakDelta $ ss2delta (ss2pos $ anchor $ getLoc lc) r
+ delta = case getLoc lc of
+ EpaSpan (RealSrcSpan rr _) -> tweakDelta $ ss2delta (ss2pos rr) r
+ _ -> DifferentLine 1 0
+ line = getDeltaLine delta
+ col = deltaColumn delta
+ edp' = if line == 0 then SameLine col
+ else DifferentLine line col
+ edp = edp' `debug` ("setEntryDP :" ++ showGhc (edp', (getLoc lc), r))
+
+
+-- |Set the true entry 'DeltaPos' from the annotation for a given AST
+-- element. This is the 'DeltaPos' ignoring any comments.
+setEntryDPI :: Default t => LocatedAn t a -> DeltaPos -> LocatedAn t a
+setEntryDPI (L (SrcSpanAnn EpAnnNotUsed l) a) dp
= L (SrcSpanAnn
- (EpAnn (Anchor (realSrcSpan l) (MovedAnchor dp)) def emptyComments)
+ (EpAnn (EpaDelta dp []) def emptyComments)
l) a
-setEntryDP (L (SrcSpanAnn (EpAnn (Anchor r _) an (EpaComments [])) l) a) dp
+setEntryDPI (L (SrcSpanAnn (EpAnn _ an (EpaComments [])) l) a) dp
= L (SrcSpanAnn
- (EpAnn (Anchor r (MovedAnchor dp)) an (EpaComments []))
+ (EpAnn (EpaDelta dp []) an (EpaComments []))
l) a
-setEntryDP (L (SrcSpanAnn (EpAnn (Anchor r (MovedAnchor d)) an cs) l) a) dp
+setEntryDPI (L (SrcSpanAnn (EpAnn (EpaDelta d _) an cs) l) a) dp
= L (SrcSpanAnn
- (EpAnn (Anchor r (MovedAnchor d')) an cs')
+ (EpAnn (EpaDelta d' []) an cs')
l) a
where
(d',cs') = case cs of
@@ -308,65 +379,72 @@ setEntryDP (L (SrcSpanAnn (EpAnn (Anchor r (MovedAnchor d)) an cs) l) a) dp
in
(dp0, EpaCommentsBalanced (c':t) ts)
_ -> (dp, cs)
- go (L (Anchor rr (MovedAnchor ma)) c) = (d, L (Anchor rr (MovedAnchor ma)) c)
- go (L (Anchor rr _) c) = (d, L (Anchor rr (MovedAnchor dp)) c)
-setEntryDP (L (SrcSpanAnn (EpAnn (Anchor r _) an cs) l) a) dp
+ go (L (EpaDelta ma c0) c) = (d, L (EpaDelta ma c0) c)
+ go (L (EpaSpan _) c) = (d, L (EpaDelta dp []) c)
+setEntryDPI (L (SrcSpanAnn (EpAnn (EpaSpan (RealSrcSpan r _)) an cs) l) a) dp
= case sortEpaComments (priorComments cs) of
[] ->
L (SrcSpanAnn
- (EpAnn (Anchor r (MovedAnchor dp)) an cs)
+ (EpAnn (EpaDelta dp []) an cs)
l) a
(L ca c:cs') ->
L (SrcSpanAnn
- (EpAnn (Anchor r (MovedAnchor edp)) an cs'')
+ (EpAnn (EpaDelta edp []) an cs'')
l) a
where
- cs'' = setPriorComments cs (L (Anchor (anchor ca) (MovedAnchor dp)) c:cs')
- lc = last $ (L ca c:cs')
- delta = tweakDelta $ ss2delta (ss2pos $ anchor $ getLoc lc) r
+ cs'' = setPriorComments cs (L (EpaDelta dp []) c:cs')
+ lc = head $ reverse $ (L ca c:cs')
+ -- delta = tweakDelta $ ss2delta (ss2pos $ anchor $ getLoc lc) r
+ delta = case getLoc lc of
+ EpaSpan (RealSrcSpan rr _) -> tweakDelta $ ss2delta (ss2pos rr) r
+ EpaSpan _ -> tweakDelta (SameLine 0)
+ EpaDelta dp _ -> tweakDelta dp
line = getDeltaLine delta
col = deltaColumn delta
edp' = if line == 0 then SameLine col
else DifferentLine line col
- edp = edp' `debug` ("setEntryDP :" ++ showGhc (edp', (ss2pos $ anchor $ getLoc lc), r))
-
+ edp = edp' `debug` ("setEntryDPI :" ++ showGhc (edp', (getLoc lc), r))
-- ---------------------------------------------------------------------
getEntryDP :: LocatedAn t a -> DeltaPos
-getEntryDP (L (SrcSpanAnn (EpAnn (Anchor _ (MovedAnchor dp)) _ _) _) _) = dp
+getEntryDP (L (SrcSpanAnn (EpAnn (EpaDelta dp []) _ _) _) _) = dp
getEntryDP _ = SameLine 1
-- ---------------------------------------------------------------------
addEpaLocationDelta :: LayoutStartCol -> RealSrcSpan -> EpaLocation -> EpaLocation
addEpaLocationDelta _off _anc (EpaDelta d cs) = EpaDelta d cs
-addEpaLocationDelta off anc (EpaSpan r _)
+addEpaLocationDelta off anc (EpaSpan (RealSrcSpan r _))
= EpaDelta (adjustDeltaForOffset off (ss2deltaEnd anc r)) []
+addEpaLocationDelta _off _anc loc = loc
-- Set the entry DP for an element coming after an existing keyword annotation
setEntryDPFromAnchor :: LayoutStartCol -> EpaLocation -> LocatedA t -> LocatedA t
-setEntryDPFromAnchor _off (EpaDelta _ _) (L la a) = L la a
-setEntryDPFromAnchor off (EpaSpan anc _) ll@(L la _) = setEntryDP ll dp'
+setEntryDPFromAnchor off (EpaSpan (RealSrcSpan anc _)) ll@(L la _) = setEntryDP ll dp'
where
- r = case la of
- (SrcSpanAnn EpAnnNotUsed l) -> realSrcSpan l
- (SrcSpanAnn (EpAnn (Anchor r' _) _ _) _) -> r'
- dp' = adjustDeltaForOffset off (ss2deltaEnd anc r)
+ -- r = case la of
+ -- (EpAnnS (Anchor r' _) _ _) -> r'
+ -- dp' = adjustDeltaForOffset off (ss2deltaEnd anc r)
+ dp' = case la of
+ (EpAnnS (EpaSpan (RealSrcSpan r' _)) _ _) -> adjustDeltaForOffset off (ss2deltaEnd anc r')
+ (EpAnnS (EpaSpan _) _ _) -> adjustDeltaForOffset off (SameLine 0)
+ (EpAnnS (EpaDelta dp _) _ _) -> adjustDeltaForOffset off dp
+setEntryDPFromAnchor _off _ (L la a) = L la a
-- ---------------------------------------------------------------------
-- |Take the annEntryDelta associated with the first item and associate it with the second.
-- Also transfer any comments occuring before it.
-transferEntryDP :: (Monad m, Monoid t2, Typeable t1, Typeable t2)
+transferEntryDPI :: (Monad m, Monoid t2, Typeable t1, Typeable t2)
=> LocatedAn t1 a -> LocatedAn t2 b -> TransformT m (LocatedAn t2 b)
-transferEntryDP (L (SrcSpanAnn EpAnnNotUsed l1) _) (L (SrcSpanAnn EpAnnNotUsed _) b) = do
+transferEntryDPI (L (SrcSpanAnn EpAnnNotUsed l1) _) (L (SrcSpanAnn EpAnnNotUsed _) b) = do
logTr $ "transferEntryDP': EpAnnNotUsed,EpAnnNotUsed"
return (L (SrcSpanAnn EpAnnNotUsed l1) b)
-transferEntryDP (L (SrcSpanAnn (EpAnn anc _an cs) _l1) _) (L (SrcSpanAnn EpAnnNotUsed l2) b) = do
+transferEntryDPI (L (SrcSpanAnn (EpAnn anc _an cs) _l1) _) (L (SrcSpanAnn EpAnnNotUsed l2) b) = do
logTr $ "transferEntryDP': EpAnn,EpAnnNotUsed"
return (L (SrcSpanAnn (EpAnn anc mempty cs) l2) b)
-transferEntryDP (L (SrcSpanAnn (EpAnn anc1 an1 cs1) _l1) _) (L (SrcSpanAnn (EpAnn _anc2 an2 cs2) l2) b) = do
+transferEntryDPI (L (SrcSpanAnn (EpAnn anc1 an1 cs1) _l1) _) (L (SrcSpanAnn (EpAnn _anc2 an2 cs2) l2) b) = do
logTr $ "transferEntryDP': EpAnn,EpAnn"
-- Problem: if the original had preceding comments, blindly
-- transferring the location is not correct
@@ -376,13 +454,27 @@ transferEntryDP (L (SrcSpanAnn (EpAnn anc1 an1 cs1) _l1) _) (L (SrcSpanAnn (EpAn
(L anc _:_) -> do
logDataWithAnnsTr "transferEntryDP':priorComments anc=" anc
return (L (SrcSpanAnn (EpAnn anc1 (combine an1 an2) (cs1 <> cs2)) l2) b)
-transferEntryDP (L (SrcSpanAnn EpAnnNotUsed _l1) _) (L (SrcSpanAnn (EpAnn anc2 an2 cs2) l2) b) = do
+transferEntryDPI (L (SrcSpanAnn EpAnnNotUsed _l1) _) (L (SrcSpanAnn (EpAnn anc2 an2 cs2) l2) b) = do
logTr $ "transferEntryDP': EpAnnNotUsed,EpAnn"
return (L (SrcSpanAnn (EpAnn anc2' an2 cs2) l2) b)
where
anc2' = case anc2 of
- Anchor _a op -> Anchor (realSrcSpan l2) op
+ -- Anchor _a op -> Anchor (realSrcSpan "transferEntryDP" l2) op
+ EpaDelta _dp _cs -> anc2
+ EpaSpan _ -> EpaSpan (RealSrcSpan (realSrcSpan "transferEntryDP" l2) Strict.Nothing)
+transferEntryDP :: (Monad m, Typeable an)
+ => LocatedAnS an a -> LocatedAnS an b -> TransformT m (LocatedAnS an b)
+transferEntryDP (L (EpAnnS anc1 an1 cs1) _) (L (EpAnnS _anc2 an2 cs2) b) = do
+ logTr $ "transferEntryDP': EpAnn,EpAnn"
+ -- Problem: if the original had preceding comments, blindly
+ -- transferring the location is not correct
+ case priorComments cs1 of
+ [] -> return (L (EpAnnS anc1 (combine an1 an2) cs2) b)
+ -- TODO: what happens if the receiving side already has comments?
+ (L anc _:_) -> do
+ logDataWithAnnsTr "transferEntryDP':priorComments anc=" anc
+ return (L (EpAnnS anc1 (combine an1 an2) (cs1 <> cs2)) b)
-- |If a and b are the same type return first arg, else return second
combine :: (Typeable a, Typeable b) => a -> b -> b
@@ -401,7 +493,7 @@ pushDeclDP :: HsDecl GhcPs -> DeltaPos -> HsDecl GhcPs
pushDeclDP (ValD x (FunBind a b (MG c (L d ms )))) dp
= ValD x (FunBind a b (MG c (L d' ms')))
where
- L d' _ = setEntryDP (L d ms) dp
+ L d' _ = setEntryDPI (L d ms) dp
ms' :: [LMatch GhcPs (LHsExpr GhcPs)]
ms' = case ms of
[] -> []
@@ -449,24 +541,33 @@ balanceCommentsFB (L lf (FunBind x n (MG o (L lm matches)))) second = do
-- + move the interior ones to the first match,
-- + move the trailing ones to the last match.
let
- split = splitCommentsEnd (realSrcSpan $ locA lf) (epAnnComments $ ann lf)
- split2 = splitCommentsStart (realSrcSpan $ locA lf) (EpaComments (sortEpaComments $ priorComments split))
-
- before = sortEpaComments $ priorComments split2
- middle = sortEpaComments $ getFollowingComments split2
- after = sortEpaComments $ getFollowingComments split
-
- lf' = setCommentsSrcAnn lf (EpaComments before)
+ (before,middle,after) = case s_entry lf of
+ EpaSpan (RealSrcSpan ss _) ->
+ let
+ split = splitCommentsEnd ss (s_comments lf)
+ split2 = splitCommentsStart ss (EpaComments (sortEpaComments $ priorComments split))
+
+ before = sortEpaComments $ priorComments split2
+ middle = sortEpaComments $ getFollowingComments split2
+ after = sortEpaComments $ getFollowingComments split
+ in (before,middle,after)
+ _ -> (priorComments $ s_comments lf,
+ [],
+ getFollowingComments $ s_comments lf)
+
+ lf' = setCommentsEpAnnS lf (EpaComments before)
logTr $ "balanceCommentsFB (before, after): " ++ showAst (before, after)
- let matches' = case matches of
+ -- let matches' = case matches of
+ let matches' :: [LocatedA (Match GhcPs (LHsExpr GhcPs))]
+ matches' = case matches of
(L lm' m':ms') ->
- (L (addCommentsToSrcAnn lm' (EpaComments middle )) m':ms')
- _ -> error "balanceCommentsFB"
+ (L (addCommentsToEpAnnS lm' (EpaComments middle )) m':ms')
+ _ -> error "balanceCommentsFB3"
matches'' <- balanceCommentsList' matches'
let (m,ms) = case reverse matches'' of
(L lm' m':ms') ->
- (L (addCommentsToSrcAnn lm' (EpaCommentsBalanced [] after)) m',ms')
- _ -> error "balanceCommentsFB"
+ (L (addCommentsToEpAnnS lm' (EpaCommentsBalanced [] after)) m',ms')
+ _ -> error "balanceCommentsFB4"
(m',second') <- balanceComments' m second
m'' <- balanceCommentsMatch m'
let (m''',lf'') = case ms of
@@ -485,28 +586,28 @@ balanceCommentsMatch (L l (Match am mctxt pats (GRHSs xg grhss binds))) = do
return (L l'' (Match am mctxt pats (GRHSs xg grhss' binds')))
where
simpleBreak (r,_) = r /= 0
- (SrcSpanAnn an1 _loc1) = l
- anc1 = addCommentOrigDeltas $ epAnnComments an1
+ an1 = l
+ anc1 = addCommentOrigDeltas $ s_comments an1
cs1f = getFollowingComments anc1
(move',stay') = break simpleBreak (trailingCommentsDeltas (anchorFromLocatedA (L l ())) cs1f)
move = map snd move'
stay = map snd stay'
(l'', grhss', binds', logInfo)
= case reverse grhss of
- [] -> (l, [], binds, (EpaComments [], SrcSpanAnn EpAnnNotUsed noSrcSpan))
+ [] -> (l, [], binds, (EpaComments [], noSrcSpanA))
(L lg g@(GRHS EpAnnNotUsed _grs _rhs):gs)
- -> (l, reverse (L lg g:gs), binds, (EpaComments [], SrcSpanAnn EpAnnNotUsed noSrcSpan))
+ -> (l, reverse (L lg g:gs), binds, (EpaComments [], noSrcSpanA))
(L lg (GRHS ag grs rhs):gs) ->
let
anc1' = setFollowingComments anc1 stay
- an1' = setCommentsSrcAnn l anc1'
+ an1' = setCommentsEpAnnS l anc1'
-- ---------------------------------
(moved,bindsm) = pushTrailingComments WithWhere (EpaCommentsBalanced [] move) binds
-- ---------------------------------
(EpAnn anc an lgc) = ag
- lgc' = splitCommentsEnd (realSrcSpan $ locA lg) $ addCommentOrigDeltas lgc
+ lgc' = splitCommentsEnd (realSrcSpan "balanceCommentsMatch" $ locA lg) $ addCommentOrigDeltas lgc
ag' = if moved
then EpAnn anc an lgc'
else EpAnn anc an (lgc' <> (EpaCommentsBalanced [] move))
@@ -520,10 +621,10 @@ pushTrailingComments _ _cs (HsIPBinds _ _) = error "TODO: pushTrailingComments:H
pushTrailingComments w cs lb@(HsValBinds an _)
= (True, HsValBinds an' vb)
where
- (decls, _, _ws1) = runTransform (hsDeclsValBinds lb)
+ decls = hsDeclsLocalBinds lb
(an', decls') = case reverse decls of
[] -> (addCommentsToEpAnn (spanHsLocaLBinds lb) an cs, decls)
- (L la d:ds) -> (an, L (addCommentsToSrcAnn la cs) d:ds)
+ (L la d:ds) -> (an, L (addCommentsToEpAnnS la cs) d:ds)
(vb,_ws2) = case runTransform (replaceDeclsValbinds w lb (reverse decls')) of
((HsValBinds _ vb'), _, ws2') -> (vb', ws2')
_ -> (ValBinds NoAnnSortKey emptyBag [], [])
@@ -546,7 +647,7 @@ balanceCommentsList' (a:b:ls) = do
-- Many of these should in fact be following comments for the previous anchor
balanceComments' :: (Monad m) => LocatedA a -> LocatedA b -> TransformT m (LocatedA a, LocatedA b)
balanceComments' la1 la2 = do
- logTr $ "balanceComments': (loc1,loc2)=" ++ showGhc (ss2range loc1,ss2range loc2)
+ -- logTr $ "balanceComments': (loc1,loc2)=" ++ showGhc (ss2range loc1,ss2range loc2)
logTr $ "balanceComments': (anc1)=" ++ showAst (anc1)
logTr $ "balanceComments': (cs1s)=" ++ showAst (cs1s)
logTr $ "balanceComments': (cs1stay,cs1move)=" ++ showAst (cs1stay,cs1move)
@@ -554,10 +655,14 @@ balanceComments' la1 la2 = do
return (la1', la2')
where
simpleBreak n (r,_) = r > n
- L (SrcSpanAnn an1 loc1) f = la1
- L (SrcSpanAnn an2 loc2) s = la2
- anc1 = addCommentOrigDeltas $ epAnnComments an1
- anc2 = addCommentOrigDeltas $ epAnnComments an2
+ -- L (SrcSpanAnn an1 loc1) f = la1
+ L an1 f = la1
+ -- L (SrcSpanAnn an2 loc2) s = la2
+ L an2 s = la2
+ -- anc1 = addCommentOrigDeltas $ s_comments an1
+ -- anc2 = addCommentOrigDeltas $ s_comments an2
+ anc1 = s_comments an1
+ anc2 = s_comments an2
cs1s = splitCommentsEnd (anchorFromLocatedA la1) anc1
cs1p = priorCommentsDeltas (anchorFromLocatedA la1) (priorComments cs1s)
@@ -577,8 +682,8 @@ balanceComments' la1 la2 = do
move = sortEpaComments $ map snd (cs1move ++ move'' ++ move')
stay = sortEpaComments $ map snd (cs1stay ++ stay')
- an1' = setCommentsSrcAnn (getLoc la1) (EpaCommentsBalanced (map snd cs1p) move)
- an2' = setCommentsSrcAnn (getLoc la2) (EpaCommentsBalanced stay (map snd cs2f))
+ an1' = setCommentsEpAnnS (getLoc la1) (EpaCommentsBalanced (map snd cs1p) move)
+ an2' = setCommentsEpAnnS (getLoc la2) (EpaCommentsBalanced stay (map snd cs2f))
la1' = L an1' f
la2' = L an2' s
@@ -586,27 +691,30 @@ balanceComments' la1 la2 = do
trailingCommentsDeltas :: RealSrcSpan -> [LEpaComment]
-> [(Int, LEpaComment)]
trailingCommentsDeltas _ [] = []
-trailingCommentsDeltas anc (la@(L l _):las)
- = deltaComment anc la : trailingCommentsDeltas (anchor l) las
+trailingCommentsDeltas rs (la@(L (EpaDelta dp _) _):las)
+ = (getDeltaLine dp, la): trailingCommentsDeltas rs las
+trailingCommentsDeltas rs (la@(L l _):las)
+ = deltaComment rs la : trailingCommentsDeltas (anchor l) las
where
- deltaComment anc' (L loc c) = (abs(ll - al), L loc c)
+ deltaComment rs' (L loc c) = (abs(ll - al), L loc c)
where
- (al,_) = ss2posEnd anc'
+ (al,_) = ss2posEnd rs'
(ll,_) = ss2pos (anchor loc)
-- AZ:TODO: this is identical to commentsDeltas
priorCommentsDeltas :: RealSrcSpan -> [LEpaComment]
-> [(Int, LEpaComment)]
-priorCommentsDeltas anc cs = go anc (reverse $ sortEpaComments cs)
+priorCommentsDeltas rs cs = go rs (reverse $ sortEpaComments cs)
where
go :: RealSrcSpan -> [LEpaComment] -> [(Int, LEpaComment)]
go _ [] = []
- go anc' (la@(L l _):las) = deltaComment anc' la : go (anchor l) las
+ go rs' (la@(L (EpaDelta dp _) _):las) = (deltaLine dp, la) : go rs' las
+ go rs' (la@(L l _):las) = deltaComment rs' la : go (anchor l) las
deltaComment :: RealSrcSpan -> LEpaComment -> (Int, LEpaComment)
- deltaComment anc' (L loc c) = (abs(ll - al), L loc c)
+ deltaComment rs' (L loc c) = (abs(ll - al), L loc c)
where
- (al,_) = ss2pos anc'
+ (al,_) = ss2pos rs'
(ll,_) = ss2pos (anchor loc)
@@ -617,14 +725,16 @@ priorCommentsDeltas anc cs = go anc (reverse $ sortEpaComments cs)
splitCommentsEnd :: RealSrcSpan -> EpAnnComments -> EpAnnComments
splitCommentsEnd p (EpaComments cs) = cs'
where
- cmp (L (Anchor l _) _) = ss2pos l > ss2posEnd p
+ cmp (L (EpaSpan (RealSrcSpan l _)) _) = ss2pos l > ss2posEnd p
+ cmp (L _ _) = True
(before, after) = break cmp cs
cs' = case after of
[] -> EpaComments cs
_ -> EpaCommentsBalanced before after
splitCommentsEnd p (EpaCommentsBalanced cs ts) = EpaCommentsBalanced cs' ts'
where
- cmp (L (Anchor l _) _) = ss2pos l > ss2posEnd p
+ cmp (L (EpaSpan (RealSrcSpan l _)) _) = ss2pos l > ss2posEnd p
+ cmp (L _ _) = True
(before, after) = break cmp cs
cs' = before
ts' = after <> ts
@@ -634,33 +744,34 @@ splitCommentsEnd p (EpaCommentsBalanced cs ts) = EpaCommentsBalanced cs' ts'
splitCommentsStart :: RealSrcSpan -> EpAnnComments -> EpAnnComments
splitCommentsStart p (EpaComments cs) = cs'
where
- cmp (L (Anchor l _) _) = ss2pos l > ss2pos p
+ cmp (L (EpaSpan (RealSrcSpan l _)) _) = ss2pos l > ss2posEnd p
+ cmp (L _ _) = True
(before, after) = break cmp cs
cs' = case after of
[] -> EpaComments cs
_ -> EpaCommentsBalanced before after
splitCommentsStart p (EpaCommentsBalanced cs ts) = EpaCommentsBalanced cs' ts'
where
- cmp (L (Anchor l _) _) = ss2pos l > ss2pos p
+ cmp (L (EpaSpan (RealSrcSpan l _)) _) = ss2pos l > ss2posEnd p
+ cmp (L _ _) = True
(before, after) = break cmp cs
cs' = before
ts' = after <> ts
-moveLeadingComments :: (Data t, Data u, Monoid t, Monoid u)
- => LocatedAn t a -> SrcAnn u -> (LocatedAn t a, SrcAnn u)
-moveLeadingComments from@(L (SrcSpanAnn EpAnnNotUsed _) _) to = (from, to)
+moveLeadingComments :: (Data t, Data u, Monoid u)
+ => LocatedAnS t a -> EpAnnS u -> (LocatedAnS t a, EpAnnS u)
moveLeadingComments (L la a) lb = (L la' a, lb')
`debug` ("moveLeadingComments: (before, after, la', lb'):" ++ showAst (before, after, la', lb'))
where
- split = splitCommentsEnd (realSrcSpan $ locA la) (epAnnComments $ ann la)
+ split = splitCommentsEnd (realSrcSpan "moveLeadingComments" $ locA la) (s_comments la)
before = sortEpaComments $ priorComments split
after = sortEpaComments $ getFollowingComments split
-- TODO: need to set an entry delta on lb' to zero, and move the
-- original spacing to the first comment.
- la' = setCommentsSrcAnn la (EpaComments after)
- lb' = addCommentsToSrcAnn lb (EpaCommentsBalanced before [])
+ la' = setCommentsEpAnnS la (EpaComments after)
+ lb' = addCommentsToEpAnnS lb (EpaCommentsBalanced before [])
-- | A GHC comment includes the span of the preceding (non-comment)
-- token. Takes an original list of comments, and converts the
@@ -679,33 +790,25 @@ addCommentOrigDeltasAnn :: (EpAnn a) -> (EpAnn a)
addCommentOrigDeltasAnn EpAnnNotUsed = EpAnnNotUsed
addCommentOrigDeltasAnn (EpAnn e a cs) = EpAnn e a (addCommentOrigDeltas cs)
+addCommentOrigDeltasEpAnnS :: (EpAnnS a) -> (EpAnnS a)
+addCommentOrigDeltasEpAnnS (EpAnnS e a cs) = EpAnnS e a (addCommentOrigDeltas cs)
+
-- TODO: this is replicating functionality in ExactPrint. Sort out the
-- import loop`
anchorFromLocatedA :: LocatedA a -> RealSrcSpan
-anchorFromLocatedA (L (SrcSpanAnn an loc) _)
- = case an of
- EpAnnNotUsed -> realSrcSpan loc
- (EpAnn anc _ _) -> anchor anc
+anchorFromLocatedA (L (EpAnnS anc _ _) _) = anchor anc
-- | A GHC comment includes the span of the preceding token. Take an
-- original comment, and convert the 'Anchor to have a have a
-- `MovedAnchor` operation based on the original location, only if it
-- does not already have one.
commentOrigDelta :: LEpaComment -> LEpaComment
-commentOrigDelta (L (GHC.Anchor la _) (GHC.EpaComment t pp))
- = (L (GHC.Anchor la op) (GHC.EpaComment t pp))
- `debug` ("commentOrigDelta: (la, pp, r,c, op)=" ++ showAst (la, pp, r,c, op))
+commentOrigDelta (L (EpaSpan (RealSrcSpan la _)) (GHC.EpaComment t pp))
+ = (L op (GHC.EpaComment t pp))
where
- (r,c) = ss2posEnd pp
-
- op' = if r == 0
- then MovedAnchor (ss2delta (r,c+1) la)
- -- then MovedAnchor (ss2delta (r,c+0) la)
- -- else MovedAnchor (ss2delta (r,c) la)
- else MovedAnchor (tweakDelta $ ss2delta (r,c) la)
- op = if t == EpaEofComment && op' == MovedAnchor (SameLine 0)
- then MovedAnchor (DifferentLine 1 0)
- else op'
+ op = EpaDelta (origDelta la pp) []
+commentOrigDelta (L anc (GHC.EpaComment t pp))
+ = (L anc (GHC.EpaComment t pp))
-- ---------------------------------------------------------------------
@@ -722,8 +825,8 @@ balanceSameLineComments (L la (Match anm mctxt pats (GRHSs x grhss lb))) = do
(L lg g@(GRHS EpAnnNotUsed _gs _rhs):grs) -> (la,reverse $ (L lg g):grs,[])
(L lg (GRHS ga gs rhs):grs) -> (la'',reverse $ (L lg (GRHS ga' gs rhs)):grs,[(gac,(csp,csf))])
where
- (SrcSpanAnn an1 _loc1) = la
- anc1 = addCommentOrigDeltas $ epAnnComments an1
+ an1 = la
+ anc1 = addCommentOrigDeltas $ s_comments an1
(EpAnn anc an _) = ga :: EpAnn GrhsAnn
(csp,csf) = case anc1 of
EpaComments cs -> ([],cs)
@@ -738,8 +841,7 @@ balanceSameLineComments (L la (Match anm mctxt pats (GRHSs x grhss lb))) = do
gac' = setFollowingComments gac (sortEpaComments $ gfc ++ move)
ga' = (EpAnn anc an gac')
- an1' = setCommentsSrcAnn la cs1
- la'' = an1'
+ la'' = setCommentsEpAnnS la cs1
-- ---------------------------------------------------------------------
@@ -751,26 +853,34 @@ anchorEof (L l m@(HsModule (XModulePs an _lo _ _) _mn _exps _imps _decls)) = L l
-- ---------------------------------------------------------------------
commentsOrigDeltasDecl :: LHsDecl GhcPs -> LHsDecl GhcPs
-commentsOrigDeltasDecl (L (SrcSpanAnn an l) d) = L (SrcSpanAnn an' l) d
- where
- an' = addCommentOrigDeltasAnn an
+commentsOrigDeltasDecl (L an d) = L (addCommentOrigDeltasEpAnnS an) d
-- ---------------------------------------------------------------------
-- | Create a @SrcSpanAnn@ with a @MovedAnchor@ operation using the
-- given @DeltaPos@.
-noAnnSrcSpanDP :: (Monoid ann) => SrcSpan -> DeltaPos -> SrcSpanAnn' (EpAnn ann)
-noAnnSrcSpanDP l dp
- = SrcSpanAnn (EpAnn (Anchor (realSrcSpan l) (MovedAnchor dp)) mempty emptyComments) l
+noAnnSrcSpanDP :: (Monoid ann) => SrcSpan -> DeltaPos -> (EpAnnS ann)
+noAnnSrcSpanDP _ dp
+ = EpAnnS (EpaDelta dp []) mempty emptyComments
+
+-- | Create a @SrcSpanAnn@ with a @MovedAnchor@ operation using the
+-- given @DeltaPos@.
+noAnnSrcSpanDPI :: (Monoid ann) => SrcSpan -> DeltaPos -> SrcSpanAnn' (EpAnn ann)
+noAnnSrcSpanDPI l dp
+ = SrcSpanAnn (EpAnn (EpaDelta dp []) mempty emptyComments) l
+
+noAnnSrcSpanDP0I :: (Monoid ann) => SrcSpan -> SrcSpanAnn' (EpAnn ann)
+noAnnSrcSpanDP0I l = noAnnSrcSpanDPI l (SameLine 0)
-noAnnSrcSpanDP0 :: (Monoid ann) => SrcSpan -> SrcSpanAnn' (EpAnn ann)
+noAnnSrcSpanDP0 :: (Monoid ann) => SrcSpan -> (EpAnnS ann)
+-- noAnnSrcSpanDP0 :: SrcSpan -> SrcSpanAnnA
noAnnSrcSpanDP0 l = noAnnSrcSpanDP l (SameLine 0)
noAnnSrcSpanDP1 :: (Monoid ann) => SrcSpan -> SrcSpanAnn' (EpAnn ann)
-noAnnSrcSpanDP1 l = noAnnSrcSpanDP l (SameLine 1)
+noAnnSrcSpanDP1 l = noAnnSrcSpanDPI l (SameLine 1)
noAnnSrcSpanDPn :: (Monoid ann) => SrcSpan -> Int -> SrcSpanAnn' (EpAnn ann)
-noAnnSrcSpanDPn l s = noAnnSrcSpanDP l (SameLine s)
+noAnnSrcSpanDPn l s = noAnnSrcSpanDPI l (SameLine s)
d0 :: EpaLocation
d0 = EpaDelta (SameLine 0) []
@@ -781,20 +891,18 @@ d1 = EpaDelta (SameLine 1) []
dn :: Int -> EpaLocation
dn n = EpaDelta (SameLine n) []
-m0 :: AnchorOperation
-m0 = MovedAnchor $ SameLine 0
+m0 :: DeltaPos
+m0 = SameLine 0
-m1 :: AnchorOperation
-m1 = MovedAnchor $ SameLine 1
+m1 :: DeltaPos
+m1 = SameLine 1
-mn :: Int -> AnchorOperation
-mn n = MovedAnchor $ SameLine n
+mn :: Int -> DeltaPos
+mn n = SameLine n
addComma :: SrcSpanAnnA -> SrcSpanAnnA
-addComma (SrcSpanAnn EpAnnNotUsed l)
- = (SrcSpanAnn (EpAnn (spanAsAnchor l) (AnnListItem [AddCommaAnn d0]) emptyComments) l)
-addComma (SrcSpanAnn (EpAnn anc (AnnListItem as) cs) l)
- = (SrcSpanAnn (EpAnn anc (AnnListItem (AddCommaAnn d0:as)) cs) l)
+addComma (EpAnnS anc (AnnListItem as) cs)
+ = (EpAnnS anc (AnnListItem (AddCommaAnn d0:as)) cs)
-- ---------------------------------------------------------------------
@@ -809,8 +917,11 @@ insertAt :: (HasDecls ast)
-> Transform ast
insertAt f t decl = do
oldDecls <- hsDecls t
+ logTr $ "oldDecls:" ++ showAst oldDecls
oldDeclsb <- balanceCommentsList oldDecls
+ logTr $ "oldDeclsb:" ++ showAst oldDeclsb
let oldDecls' = map commentsOrigDeltasDecl oldDeclsb
+ logTr $ "oldDecls':" ++ showAst oldDecls'
replaceDecls t (f decl oldDecls')
-- |Insert a declaration at the beginning or end of the subdecls of the given
@@ -894,7 +1005,7 @@ instance HasDecls ParsedSource where
-- ---------------------------------------------------------------------
instance HasDecls (LocatedA (Match GhcPs (LocatedA (HsExpr GhcPs)))) where
- hsDecls (L _ (Match _ _ _ (GRHSs _ _ lb))) = hsDeclsValBinds lb
+ hsDecls (L _ (Match _ _ _ (GRHSs _ _ lb))) = return $ hsDeclsLocalBinds lb
replaceDecls (L l (Match xm c p (GRHSs xr rhs binds))) []
= do
@@ -923,19 +1034,20 @@ instance HasDecls (LocatedA (Match GhcPs (LocatedA (HsExpr GhcPs)))) where
-- ---------------------------------------------------------------------
instance HasDecls (LocatedA (HsExpr GhcPs)) where
- hsDecls (L _ (HsLet _ _ decls _ _ex)) = hsDeclsValBinds decls
+ hsDecls (L _ (HsLet _ _ decls _ _ex)) = return $ hsDeclsLocalBinds decls
hsDecls _ = return []
replaceDecls (L ll (HsLet x tkLet binds tkIn ex)) newDecls
= do
logTr "replaceDecls HsLet"
- let lastAnc = realSrcSpan $ spanHsLocaLBinds binds
+ let lastAnc = realSrcSpan "replaceDecls" $ spanHsLocaLBinds binds
-- TODO: may be an intervening comment, take account for lastAnc
let (tkLet', tkIn', ex',newDecls') = case (tkLet, tkIn) of
(L (TokenLoc l) ls, L (TokenLoc i) is) ->
let
off = case l of
- (EpaSpan r _) -> LayoutStartCol $ snd $ ss2pos r
+ (EpaSpan (RealSrcSpan r _)) -> LayoutStartCol $ snd $ ss2pos r
+ (EpaSpan _) -> LayoutStartCol 0 -- Arbitrary
(EpaDelta (SameLine _) _) -> LayoutStartCol 0
(EpaDelta (DifferentLine _ c) _) -> LayoutStartCol c
ex'' = setEntryDPFromAnchor off i ex
@@ -965,7 +1077,7 @@ instance HasDecls (LocatedA (HsExpr GhcPs)) where
-- cannot be a member of 'HasDecls' because a 'FunBind' is not idempotent
-- for 'hsDecls' \/ 'replaceDecls'. 'hsDeclsPatBindD' \/ 'replaceDeclsPatBindD' is
-- idempotent.
-hsDeclsPatBindD :: (Monad m) => LHsDecl GhcPs -> TransformT m [LHsDecl GhcPs]
+hsDeclsPatBindD :: LHsDecl GhcPs -> [LHsDecl GhcPs]
hsDeclsPatBindD (L l (ValD _ d)) = hsDeclsPatBind (L l d)
hsDeclsPatBindD x = error $ "hsDeclsPatBindD called for:" ++ showGhc x
@@ -973,8 +1085,8 @@ hsDeclsPatBindD x = error $ "hsDeclsPatBindD called for:" ++ showGhc x
-- cannot be a member of 'HasDecls' because a 'FunBind' is not idempotent
-- for 'hsDecls' \/ 'replaceDecls'. 'hsDeclsPatBind' \/ 'replaceDeclsPatBind' is
-- idempotent.
-hsDeclsPatBind :: (Monad m) => LHsBind GhcPs -> TransformT m [LHsDecl GhcPs]
-hsDeclsPatBind (L _ (PatBind _ _ (GRHSs _ _grhs lb))) = hsDeclsValBinds lb
+hsDeclsPatBind :: LHsBind GhcPs -> [LHsDecl GhcPs]
+hsDeclsPatBind (L _ (PatBind _ _ (GRHSs _ _grhs lb))) = hsDeclsLocalBinds lb
hsDeclsPatBind x = error $ "hsDeclsPatBind called for:" ++ showGhc x
-- -------------------------------------
@@ -1006,7 +1118,7 @@ replaceDeclsPatBind x _ = error $ "replaceDeclsPatBind called for:" ++ showGhc x
-- ---------------------------------------------------------------------
instance HasDecls (LocatedA (Stmt GhcPs (LocatedA (HsExpr GhcPs)))) where
- hsDecls (L _ (LetStmt _ lb)) = hsDeclsValBinds lb
+ hsDecls (L _ (LetStmt _ lb)) = return $ hsDeclsLocalBinds lb
hsDecls (L _ (LastStmt _ e _ _)) = hsDecls e
hsDecls (L _ (BindStmt _ _pat e)) = hsDecls e
hsDecls (L _ (BodyStmt _ e _ _)) = hsDecls e
@@ -1040,29 +1152,49 @@ instance HasDecls (LocatedA (Stmt GhcPs (LocatedA (HsExpr GhcPs)))) where
-- |Look up the annotated order and sort the decls accordingly
-- TODO:AZ: this should be pure
orderedDecls :: (Monad m)
- => AnnSortKey -> [LHsDecl GhcPs] -> TransformT m [LHsDecl GhcPs]
+ => AnnSortKey [RealSrcSpan] -> [LHsDecl GhcPs] -> TransformT m [LHsDecl GhcPs]
orderedDecls sortKey decls = do
case sortKey of
NoAnnSortKey -> do
-- return decls
- return $ sortBy (\a b -> compare (realSrcSpan $ getLocA a) (realSrcSpan $ getLocA b)) decls
+ return $ sortBy (\a b -> compare (realSrcSpan "orderedDecls" $ getLocA a) (realSrcSpan "orderedDecls" $ getLocA b)) decls
AnnSortKey keys -> do
let ds = map (\s -> (rs $ getLocA s,s)) decls
ordered = map snd $ orderByKey ds keys
return ordered
+-- orderedDeclsBinds :: (Monad m)
+-- => AnnSortKey [DeclTag]
+-- -> [LHsDecl GhcPs] -> [LHsDecl GhcPs]
+-- -> TransformT m [LHsDecl GhcPs]
+-- orderedDeclsBinds sortKey binds sigs = do
+-- case sortKey of
+-- NoAnnSortKey -> do
+-- -- return decls
+-- return $ sortBy (\a b ->
+-- compare (realSrcSpan "orderedDecls" $ getLocA a)
+-- (realSrcSpan "orderedDecls" $ getLocA b)) (binds ++ sigs)
+-- AnnSortKey keys -> do
+-- let
+-- go [] _ _ = []
+-- go (ValDTag:ks) (b:bs) ss = b : go ks bs ss
+-- go (SigDTag:ks) bs (s:ss) = s : go ks bs ss
+-- go (_:ks) bs ss = go ks bs ss
+
+-- return (go keys binds sigs)
+
-- ---------------------------------------------------------------------
-hsDeclsValBinds :: (Monad m) => HsLocalBinds GhcPs -> TransformT m [LHsDecl GhcPs]
-hsDeclsValBinds lb = case lb of
- HsValBinds _ (ValBinds sortKey bs sigs) -> do
- let
- bds = map wrapDecl (bagToList bs)
- sds = map wrapSig sigs
- orderedDecls sortKey (bds ++ sds)
- HsValBinds _ (XValBindsLR _) -> error $ "hsDecls.XValBindsLR not valid"
- HsIPBinds {} -> return []
- EmptyLocalBinds {} -> return []
+-- hsDeclsValBinds :: (Monad m) => HsLocalBinds GhcPs -> TransformT m [LHsDecl GhcPs]
+-- hsDeclsValBinds lb = case lb of
+-- HsValBinds _ (ValBinds sortKey bs sigs) -> do
+-- let
+-- bds = map wrapDecl (bagToList bs)
+-- sds = map wrapSig sigs
+-- orderedDeclsBinds sortKey bds sds
+-- HsValBinds _ (XValBindsLR _) -> error $ "hsDecls.XValBindsLR not valid"
+-- HsIPBinds {} -> return []
+-- EmptyLocalBinds {} -> return []
data WithWhere = WithWhere
| WithoutWhere
@@ -1082,10 +1214,10 @@ replaceDeclsValbinds w b@(HsValBinds a _) new
= do
logTr "replaceDeclsValbinds"
let oldSpan = spanHsLocaLBinds b
- an <- oldWhereAnnotation a w (realSrcSpan oldSpan)
+ an <- oldWhereAnnotation a w (realSrcSpan "replaceDeclsValbinds" oldSpan)
let decs = listToBag $ concatMap decl2Bind new
let sigs = concatMap decl2Sig new
- let sortKey = captureOrder new
+ let sortKey = captureOrderBinds new
return (HsValBinds an (ValBinds sortKey decs sigs))
replaceDeclsValbinds _ (HsIPBinds {}) _new = error "undefined replaceDecls HsIPBinds"
replaceDeclsValbinds w (EmptyLocalBinds _) new
@@ -1096,20 +1228,18 @@ replaceDeclsValbinds w (EmptyLocalBinds _) new
newSigs = concatMap decl2Sig new
let decs = listToBag $ newBinds
let sigs = newSigs
- let sortKey = captureOrder new
+ let sortKey = captureOrderBinds new
return (HsValBinds an (ValBinds sortKey decs sigs))
oldWhereAnnotation :: (Monad m)
=> EpAnn AnnList -> WithWhere -> RealSrcSpan -> TransformT m (EpAnn AnnList)
oldWhereAnnotation EpAnnNotUsed ww _oldSpan = do
- newSpan <- uniqueSrcSpanT
let w = case ww of
WithWhere -> [AddEpAnn AnnWhere (EpaDelta (SameLine 0) [])]
WithoutWhere -> []
- let anc2' = Anchor (rs newSpan) (MovedAnchor (SameLine 1))
+ let anc2' = EpaDelta (SameLine 1) []
(anc, anc2) <- do
- newSpan' <- uniqueSrcSpanT
- return ( Anchor (rs newSpan') (MovedAnchor (DifferentLine 1 2))
+ return (EpaDelta (DifferentLine 1 2) []
, anc2')
let an = EpAnn anc
(AnnList (Just anc2) Nothing Nothing w [])
@@ -1132,9 +1262,8 @@ oldWhereAnnotation (EpAnn anc an cs) ww _oldSpan = do
newWhereAnnotation :: (Monad m) => WithWhere -> TransformT m (EpAnn AnnList)
newWhereAnnotation ww = do
- newSpan <- uniqueSrcSpanT
- let anc = Anchor (rs newSpan) (MovedAnchor (DifferentLine 1 2))
- let anc2 = Anchor (rs newSpan) (MovedAnchor (DifferentLine 1 4))
+ let anc = EpaDelta (DifferentLine 1 2) []
+ let anc2 = EpaDelta (DifferentLine 1 4) []
let w = case ww of
WithWhere -> [AddEpAnn AnnWhere (EpaDelta (SameLine 0) [])]
WithoutWhere -> []
@@ -1160,7 +1289,7 @@ modifyValD :: forall m t. (HasTransform m)
modifyValD p pb@(L ss (ValD _ (PatBind {} ))) f =
if (locA ss) == p
then do
- ds <- liftT $ hsDeclsPatBindD pb
+ let ds = hsDeclsPatBindD pb
(ds',r) <- f (error "modifyValD.PatBind should not touch Match") ds
pb' <- liftT $ replaceDeclsPatBindD pb ds'
return (pb',r)
diff --git a/utils/check-exact/Types.hs b/utils/check-exact/Types.hs
index 381d157e8b..b50a0b9d86 100644
--- a/utils/check-exact/Types.hs
+++ b/utils/check-exact/Types.hs
@@ -45,9 +45,16 @@ instance Ord Comment where
-- When we have CPP injected comments with a fake filename, or LINE
-- pragma, the file name changes, so we need to compare the
-- locations only, with out the filename.
- compare (Comment _ ss1 _ _) (Comment _ ss2 _ _) = compare (ss2pos $ anchor ss1) (ss2pos $ anchor ss2)
- where
- ss2pos ss = (srcSpanStartLine ss,srcSpanStartCol ss)
+ -- compare (Comment _ ss1 _ _) (Comment _ ss2 _ _) = compare (ss2pos $ anchor ss1) (ss2pos $ anchor ss2)
+ compare (Comment _ ss1 _ _) (Comment _ ss2 _ _) = compare ss1 ss2
+
+ss2pos :: RealSrcSpan -> Pos
+ss2pos ss = (srcSpanStartLine ss,srcSpanStartCol ss)
+
+instance Ord EpaLocation where
+ compare (EpaSpan (RealSrcSpan l1 m1)) (EpaSpan (RealSrcSpan l2 m2)) = compare (ss2pos l1, m1) (ss2pos l2, m2)
+ compare _ _ = EQ
+
instance Outputable Comment where
ppr x = text (show x)
diff --git a/utils/check-exact/Utils.hs b/utils/check-exact/Utils.hs
index 14a05a2337..9165445e9a 100644
--- a/utils/check-exact/Utils.hs
+++ b/utils/check-exact/Utils.hs
@@ -20,7 +20,6 @@ module Utils
where
import Control.Monad (when)
-import Data.Function
import Data.Maybe (isJust)
import Data.Ord (comparing)
@@ -31,6 +30,7 @@ import qualified Orphans as Orphans
import GHC hiding (EpaComment)
import qualified GHC
+import GHC.Data.Bag
import GHC.Types.Name
import GHC.Types.Name.Reader
import GHC.Types.SrcLoc
@@ -120,23 +120,23 @@ undelta (l,_) (DifferentLine dl dc) (LayoutStartCol co) = (fl,fc)
fc = co + dc
undeltaSpan :: RealSrcSpan -> AnnKeywordId -> DeltaPos -> AddEpAnn
-undeltaSpan anchor kw dp = AddEpAnn kw (EpaSpan sp Strict.Nothing)
+undeltaSpan anc kw dp = AddEpAnn kw (EpaSpan (RealSrcSpan sp Strict.Nothing))
where
- (l,c) = undelta (ss2pos anchor) dp (LayoutStartCol 0)
+ (l,c) = undelta (ss2pos anc) dp (LayoutStartCol 0)
len = length (keywordToString kw)
sp = range2rs ((l,c),(l,c+len))
-- ---------------------------------------------------------------------
adjustDeltaForOffset :: LayoutStartCol -> DeltaPos -> DeltaPos
-adjustDeltaForOffset _colOffset dp@(SameLine _) = dp
+adjustDeltaForOffset _colOffset dp@(SameLine _) = dp
adjustDeltaForOffset (LayoutStartCol colOffset) (DifferentLine l c)
= DifferentLine l (c - colOffset)
-- ---------------------------------------------------------------------
-ss2pos :: RealSrcSpan -> Pos
-ss2pos ss = (srcSpanStartLine ss,srcSpanStartCol ss)
+-- ss2pos :: RealSrcSpan -> Pos
+-- ss2pos ss = (srcSpanStartLine ss,srcSpanStartCol ss)
ss2posEnd :: RealSrcSpan -> Pos
ss2posEnd ss = (srcSpanEndLine ss,srcSpanEndCol ss)
@@ -233,7 +233,6 @@ ghcCommentText (L _ (GHC.EpaComment (EpaDocComment s) _)) = exactPrintHsDoc
ghcCommentText (L _ (GHC.EpaComment (EpaDocOptions s) _)) = s
ghcCommentText (L _ (GHC.EpaComment (EpaLineComment s) _)) = s
ghcCommentText (L _ (GHC.EpaComment (EpaBlockComment s) _)) = s
-ghcCommentText (L _ (GHC.EpaComment (EpaEofComment) _)) = ""
tokComment :: LEpaComment -> Comment
tokComment t@(L lt c) = mkComment (normaliseCommentText $ ghcCommentText t) lt (ac_prior_tok c)
@@ -248,7 +247,6 @@ comment2LEpaComment :: Comment -> LEpaComment
comment2LEpaComment (Comment s anc r _mk) = mkLEpaComment s anc r
mkLEpaComment :: String -> Anchor -> RealSrcSpan -> LEpaComment
-mkLEpaComment "" anc r = (L anc (GHC.EpaComment (EpaEofComment) r))
mkLEpaComment s anc r = (L anc (GHC.EpaComment (EpaLineComment s) r))
mkComment :: String -> Anchor -> RealSrcSpan -> Comment
@@ -262,7 +260,8 @@ normaliseCommentText (x:xs) = x:normaliseCommentText xs
-- |Must compare without span filenames, for CPP injected comments with fake filename
cmpComments :: Comment -> Comment -> Ordering
-cmpComments (Comment _ l1 _ _) (Comment _ l2 _ _) = compare (ss2pos $ anchor l1) (ss2pos $ anchor l2)
+-- cmpComments (Comment _ l1 _ _) (Comment _ l2 _ _) = compare (ss2pos $ anchor l1) (ss2pos $ anchor l2)
+cmpComments (Comment _ l1 _ _) (Comment _ l2 _ _) = compare l1 l2
-- |Sort, comparing without span filenames, for CPP injected comments with fake filename
sortComments :: [Comment] -> [Comment]
@@ -272,14 +271,16 @@ sortComments cs = sortBy cmpComments cs
sortEpaComments :: [LEpaComment] -> [LEpaComment]
sortEpaComments cs = sortBy cmp cs
where
- cmp (L l1 _) (L l2 _) = compare (ss2pos $ anchor l1) (ss2pos $ anchor l2)
+ -- cmp (L l1 _) (L l2 _) = compare (ss2pos $ anchor l1) (ss2pos $ anchor l2)
+ cmp (L l1 _) (L l2 _) = compare l1 l2
-- | Makes a comment which originates from a specific keyword.
mkKWComment :: AnnKeywordId -> EpaLocation -> Comment
-mkKWComment kw (EpaSpan ss _)
- = Comment (keywordToString kw) (Anchor ss UnchangedAnchor) ss (Just kw)
+mkKWComment kw (EpaSpan (RealSrcSpan ss mb))
+ = Comment (keywordToString kw) (EpaSpan (RealSrcSpan ss mb)) ss (Just kw)
mkKWComment kw (EpaDelta dp _)
- = Comment (keywordToString kw) (Anchor placeholderRealSpan (MovedAnchor dp)) placeholderRealSpan (Just kw)
+ = Comment (keywordToString kw) (EpaDelta dp []) placeholderRealSpan (Just kw)
+mkKWComment _ _ = error "mkKWComment on UnhelpfulSpan"
-- | Detects a comment which originates from a specific keyword.
isKWComment :: Comment -> Bool
@@ -288,8 +289,8 @@ isKWComment c = isJust (commentOrigin c)
noKWComments :: [Comment] -> [Comment]
noKWComments = filter (\c -> not (isKWComment c))
-sortAnchorLocated :: [GenLocated Anchor a] -> [GenLocated Anchor a]
-sortAnchorLocated = sortBy (compare `on` (anchor . getLoc))
+-- sortAnchorLocated :: [GenLocated Anchor a] -> [GenLocated Anchor a]
+-- sortAnchorLocated = sortBy (compare `on` (anchor . getLoc))
-- | Calculates the distance from the start of a string to the end of
-- a string.
@@ -341,19 +342,22 @@ name2String = showPprUnsafe
-- ---------------------------------------------------------------------
locatedAnAnchor :: LocatedAn a t -> RealSrcSpan
-locatedAnAnchor (L (SrcSpanAnn EpAnnNotUsed l) _) = realSrcSpan l
+locatedAnAnchor (L (SrcSpanAnn EpAnnNotUsed l) _) = realSrcSpan "locatedAnAnchor" l
locatedAnAnchor (L (SrcSpanAnn (EpAnn a _ _) _) _) = anchor a
-- ---------------------------------------------------------------------
-setAnchorAn :: (Default an) => LocatedAn an a -> Anchor -> EpAnnComments -> LocatedAn an a
-setAnchorAn (L (SrcSpanAnn EpAnnNotUsed l) a) anc cs
+setAnchorAnI :: (Default an) => LocatedAn an a -> Anchor -> EpAnnComments -> LocatedAn an a
+setAnchorAnI (L (SrcSpanAnn EpAnnNotUsed l) a) anc cs
= (L (SrcSpanAnn (EpAnn anc Orphans.def cs) l) a)
-- `debug` ("setAnchorAn: anc=" ++ showAst anc)
-setAnchorAn (L (SrcSpanAnn (EpAnn _ an _) l) a) anc cs
+setAnchorAnI (L (SrcSpanAnn (EpAnn _ an _) l) a) anc cs
= (L (SrcSpanAnn (EpAnn anc an cs) l) a)
-- `debug` ("setAnchorAn: anc=" ++ showAst anc)
+setAnchorAn :: LocatedAnS an a -> Anchor -> EpAnnComments -> LocatedAnS an a
+setAnchorAn (L (EpAnnS _ an _) a) anc cs = (L (EpAnnS anc an cs) a)
+
setAnchorEpa :: (Default an) => EpAnn an -> Anchor -> EpAnnComments -> EpAnn an
setAnchorEpa EpAnnNotUsed anc cs = EpAnn anc Orphans.def cs
setAnchorEpa (EpAnn _ an _) anc cs = EpAnn anc an cs
@@ -365,13 +369,14 @@ setAnchorEpaL (EpAnn _ an _) anc cs = EpAnn anc (an {al_anchor = Nothing}) cs
setAnchorHsModule :: HsModule GhcPs -> Anchor -> EpAnnComments -> HsModule GhcPs
setAnchorHsModule hsmod anc cs = hsmod { hsmodExt = (hsmodExt hsmod) {hsmodAnn = an'} }
where
- anc' = anc { anchor_op = UnchangedAnchor }
+ -- anc' = anc { anchor_op = UnchangedAnchor }
+ anc' = anc
an' = setAnchorEpa (hsmodAnn $ hsmodExt hsmod) anc' cs
-- |Version of l2l that preserves the anchor, immportant if it has an
-- updated AnchorOperation
moveAnchor :: Monoid b => SrcAnn a -> SrcAnn b
-moveAnchor (SrcSpanAnn EpAnnNotUsed l) = noAnnSrcSpan l
+moveAnchor (SrcSpanAnn EpAnnNotUsed l) = noAnnSrcSpanI l
moveAnchor (SrcSpanAnn (EpAnn anc _ cs) l) = SrcSpanAnn (EpAnn anc mempty cs) l
-- ---------------------------------------------------------------------
@@ -393,8 +398,7 @@ addEpAnnLoc (AddEpAnn _ l) = l
-- TODO: move this to GHC
anchorToEpaLocation :: Anchor -> EpaLocation
-anchorToEpaLocation (Anchor r UnchangedAnchor) = EpaSpan r Strict.Nothing
-anchorToEpaLocation (Anchor _ (MovedAnchor dp)) = EpaDelta dp []
+anchorToEpaLocation anc = anc
-- ---------------------------------------------------------------------
-- Horrible hack for dealing with some things still having a SrcSpan,
@@ -421,25 +425,80 @@ To be absolutely sure, we make the delta versions use -ve values.
-}
+-- TODO:AZ get rid of this
hackSrcSpanToAnchor :: SrcSpan -> Anchor
hackSrcSpanToAnchor (UnhelpfulSpan s) = error $ "hackSrcSpanToAnchor : UnhelpfulSpan:" ++ show s
-hackSrcSpanToAnchor (RealSrcSpan r Strict.Nothing) = Anchor r UnchangedAnchor
-hackSrcSpanToAnchor (RealSrcSpan r (Strict.Just (BufSpan (BufPos s) (BufPos e))))
- = if s <= 0 && e <= 0
- then Anchor r (MovedAnchor (deltaPos (-s) (-e)))
- `debug` ("hackSrcSpanToAnchor: (r,s,e)=" ++ showAst (r,s,e) )
- else Anchor r UnchangedAnchor
-
+hackSrcSpanToAnchor (RealSrcSpan r mb)
+ = case mb of
+ (Strict.Just (BufSpan (BufPos s) (BufPos e))) ->
+ if s <= 0 && e <= 0
+ -- then Anchor r (MovedAnchor (deltaPos (-s) (-e)))
+ then EpaDelta (deltaPos (-s) (-e)) []
+ `debug` ("hackSrcSpanToAnchor: (r,s,e)=" ++ showAst (r,s,e) )
+ -- else Anchor r UnchangedAnchor
+ else EpaSpan (RealSrcSpan r mb)
+ _ -> EpaSpan (RealSrcSpan r mb)
+
+-- TODO:AZ get rid of this
hackAnchorToSrcSpan :: Anchor -> SrcSpan
-hackAnchorToSrcSpan (Anchor r UnchangedAnchor) = RealSrcSpan r Strict.Nothing
-hackAnchorToSrcSpan (Anchor r (MovedAnchor dp))
- = RealSrcSpan r (Strict.Just (BufSpan (BufPos s) (BufPos e)))
- `debug` ("hackAnchorToSrcSpan: (r,dp,s,e)=" ++ showAst (r,dp,s,e) )
- where
- s = - (getDeltaLine dp)
- e = - (deltaColumn dp)
+-- hackAnchorToSrcSpan (EpaSpan r _) = RealSrcSpan (setRealSrcSpanBufSpan r) Strict.Nothing
+-- hackAnchorToSrcSpan (Anchor r (MovedAnchor dp))
+hackAnchorToSrcSpan (EpaSpan ss) = ss
+hackAnchorToSrcSpan _ = error $ "hackAnchorToSrcSpan"
- -- ---------------------------------------------------------------------
+-- ---------------------------------------------------------------------
+
+orderedDeclsBinds
+ :: AnnSortKey [DeclTag]
+ -> [LHsDecl GhcPs] -> [LHsDecl GhcPs]
+ -> [LHsDecl GhcPs]
+orderedDeclsBinds sortKey binds sigs =
+ case sortKey of
+ NoAnnSortKey ->
+ sortBy (\a b -> compare (realSrcSpan "orderedDecls" $ getLocA a)
+ (realSrcSpan "orderedDecls" $ getLocA b)) (binds ++ sigs)
+ AnnSortKey keys ->
+ let
+ go [] _ _ = []
+ go (ValDTag:ks) (b:bs) ss = b : go ks bs ss
+ go (SigDTag:ks) bs (s:ss) = s : go ks bs ss
+ go (_:ks) bs ss = go ks bs ss
+ in
+ go keys binds sigs
+
+hsDeclsLocalBinds :: HsLocalBinds GhcPs -> [LHsDecl GhcPs]
+hsDeclsLocalBinds lb = case lb of
+ HsValBinds _ (ValBinds sortKey bs sigs) ->
+ let
+ bds = map wrapDecl (bagToList bs)
+ sds = map wrapSig sigs
+ in
+ orderedDeclsBinds sortKey bds sds
+ HsValBinds _ (XValBindsLR _) -> error $ "hsDecls.XValBindsLR not valid"
+ HsIPBinds {} -> []
+ EmptyLocalBinds {} -> []
+
+hsDeclsValBinds :: (HsValBindsLR GhcPs GhcPs) -> [LHsDecl GhcPs]
+hsDeclsValBinds (ValBinds sortKey bs sigs) =
+ let
+ bds = map wrapDecl (bagToList bs)
+ sds = map wrapSig sigs
+ in
+ orderedDeclsBinds sortKey bds sds
+hsDeclsValBinds XValBindsLR{} = error "hsDeclsValBinds"
+
+-- ---------------------------------------------------------------------
+
+-- |Convert a 'LSig' into a 'LHsDecl'
+wrapSig :: LSig GhcPs -> LHsDecl GhcPs
+wrapSig (L l s) = L l (SigD NoExtField s)
+
+-- ---------------------------------------------------------------------
+
+-- |Convert a 'LHsBind' into a 'LHsDecl'
+wrapDecl :: LHsBind GhcPs -> LHsDecl GhcPs
+wrapDecl (L l s) = L l (ValD NoExtField s)
+-- ---------------------------------------------------------------------
showAst :: (Data a) => a -> String
showAst ast
diff --git a/utils/haddock b/utils/haddock
-Subproject 03ba53ca764f56a13d12607c110f923f129e809
+Subproject 257d39f8593a8668d5b0165d77e21dee68a261c