summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorRichard Eisenberg <rae@richarde.dev>2019-11-05 13:11:19 +0000
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-02-08 10:16:33 -0500
commit7755ffc2920facb7ed74efe379ad825feeaf1024 (patch)
treec2bcece9de4776d99af32265084b78b7735d6654 /testsuite
parent309f8cfdad9cf81f5ee6003821810ea1205ae1d5 (diff)
downloadhaskell-7755ffc2920facb7ed74efe379ad825feeaf1024.tar.gz
Introduce IsPass; refactor wrappers.
There are two main payloads of this patch: 1. This introduces IsPass, which allows e.g. printing code to ask what pass it is running in (Renamed vs Typechecked) and thus print extension fields. See Note [IsPass] in Hs.Extension 2. This moves the HsWrap constructor into an extension field, where it rightly belongs. This is done for HsExpr and HsCmd, but not for HsPat, which is left as an exercise for the reader. There is also some refactoring around SyntaxExprs, but this is really just incidental. This patch subsumes !1721 (sorry @chreekat). Along the way, there is a bit of refactoring in GHC.Hs.Extension, including the removal of NameOrRdrName in favor of NoGhcTc. This meant that we had no real need for GHC.Hs.PlaceHolder, so I got rid of it. Updates haddock submodule. ------------------------- Metric Decrease: haddock.compiler -------------------------
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/tests/parser/should_compile/DumpParsedAst.stderr1
-rw-r--r--testsuite/tests/parser/should_compile/DumpRenamedAst.stderr1
-rw-r--r--testsuite/tests/parser/should_compile/DumpTypecheckedAst.stderr94
-rw-r--r--testsuite/tests/parser/should_compile/KindSigs.stderr2
-rw-r--r--testsuite/tests/plugins/simple-plugin/Simple/RemovePlugin.hs4
5 files changed, 48 insertions, 54 deletions
diff --git a/testsuite/tests/parser/should_compile/DumpParsedAst.stderr b/testsuite/tests/parser/should_compile/DumpParsedAst.stderr
index d7996df404..8ae907ee25 100644
--- a/testsuite/tests/parser/should_compile/DumpParsedAst.stderr
+++ b/testsuite/tests/parser/should_compile/DumpParsedAst.stderr
@@ -454,7 +454,6 @@
(EmptyLocalBinds
(NoExtField))))))])
(FromSource))
- (WpHole)
[])))]
(Nothing)
(Nothing)))
diff --git a/testsuite/tests/parser/should_compile/DumpRenamedAst.stderr b/testsuite/tests/parser/should_compile/DumpRenamedAst.stderr
index 53d4f37acf..57da7c2199 100644
--- a/testsuite/tests/parser/should_compile/DumpRenamedAst.stderr
+++ b/testsuite/tests/parser/should_compile/DumpRenamedAst.stderr
@@ -53,7 +53,6 @@
(EmptyLocalBinds
(NoExtField))))))])
(FromSource))
- (WpHole)
[]))]})]
[]))
[]
diff --git a/testsuite/tests/parser/should_compile/DumpTypecheckedAst.stderr b/testsuite/tests/parser/should_compile/DumpTypecheckedAst.stderr
index 5282c9f62a..3654edfa45 100644
--- a/testsuite/tests/parser/should_compile/DumpTypecheckedAst.stderr
+++ b/testsuite/tests/parser/should_compile/DumpTypecheckedAst.stderr
@@ -552,15 +552,15 @@
(HsApp
(NoExtField)
({ <no location info> }
- (HsWrap
- (NoExtField)
- (WpTyApp
- (TyConApp
- ({abstract:TyCon})
- []))
- (HsConLikeOut
- (NoExtField)
- ({abstract:ConLike}))))
+ (XExpr
+ (HsWrap
+ (WpTyApp
+ (TyConApp
+ ({abstract:TyCon})
+ []))
+ (HsConLikeOut
+ (NoExtField)
+ ({abstract:ConLike})))))
({ <no location info> }
(HsVar
(NoExtField)
@@ -576,15 +576,15 @@
(HsApp
(NoExtField)
({ <no location info> }
- (HsWrap
- (NoExtField)
- (WpTyApp
- (TyConApp
- ({abstract:TyCon})
- []))
- (HsConLikeOut
- (NoExtField)
- ({abstract:ConLike}))))
+ (XExpr
+ (HsWrap
+ (WpTyApp
+ (TyConApp
+ ({abstract:TyCon})
+ []))
+ (HsConLikeOut
+ (NoExtField)
+ ({abstract:ConLike})))))
({ <no location info> }
(HsVar
(NoExtField)
@@ -600,30 +600,30 @@
(HsApp
(NoExtField)
({ <no location info> }
- (HsWrap
- (NoExtField)
- (WpTyApp
- (TyConApp
- ({abstract:TyCon})
- []))
- (HsConLikeOut
- (NoExtField)
- ({abstract:ConLike}))))
+ (XExpr
+ (HsWrap
+ (WpTyApp
+ (TyConApp
+ ({abstract:TyCon})
+ []))
+ (HsConLikeOut
+ (NoExtField)
+ ({abstract:ConLike})))))
({ <no location info> }
(HsVar
(NoExtField)
({ <no location info> }
{Var: $krep})))))
({ <no location info> }
- (HsWrap
- (NoExtField)
- (WpTyApp
- (TyConApp
- ({abstract:TyCon})
- []))
- (HsConLikeOut
- (NoExtField)
- ({abstract:ConLike}))))))))))))))))))
+ (XExpr
+ (HsWrap
+ (WpTyApp
+ (TyConApp
+ ({abstract:TyCon})
+ []))
+ (HsConLikeOut
+ (NoExtField)
+ ({abstract:ConLike})))))))))))))))))))
(False)))
,({ <no location info> }
(VarBind
@@ -645,15 +645,15 @@
({ <no location info> }
{Var: DumpTypecheckedAst.$tcPeano})))))
({ <no location info> }
- (HsWrap
- (NoExtField)
- (WpTyApp
- (TyConApp
- ({abstract:TyCon})
- []))
- (HsConLikeOut
- (NoExtField)
- ({abstract:ConLike}))))))
+ (XExpr
+ (HsWrap
+ (WpTyApp
+ (TyConApp
+ ({abstract:TyCon})
+ []))
+ (HsConLikeOut
+ (NoExtField)
+ ({abstract:ConLike})))))))
(False)))
,({ <no location info> }
(VarBind
@@ -718,8 +718,7 @@
{Bag(Located (HsBind Var)):
[({ DumpTypecheckedAst.hs:18:1-23 }
(FunBind
- {NameSet:
- []}
+ (WpHole)
({ DumpTypecheckedAst.hs:18:1-4 }
{Var: main})
(MG
@@ -765,7 +764,6 @@
(EmptyLocalBinds
(NoExtField))))))])
(FromSource))
- (WpHole)
[]))]}
(False)))]}
diff --git a/testsuite/tests/parser/should_compile/KindSigs.stderr b/testsuite/tests/parser/should_compile/KindSigs.stderr
index 2873bfcfaa..06ed01539a 100644
--- a/testsuite/tests/parser/should_compile/KindSigs.stderr
+++ b/testsuite/tests/parser/should_compile/KindSigs.stderr
@@ -361,7 +361,6 @@
(EmptyLocalBinds
(NoExtField))))))])
(FromSource))
- (WpHole)
[])))
,({ KindSigs.hs:26:1-29 }
(TyClD
@@ -602,7 +601,6 @@
(EmptyLocalBinds
(NoExtField))))))])
(FromSource))
- (WpHole)
[])))]
(Nothing)
(Nothing)))
diff --git a/testsuite/tests/plugins/simple-plugin/Simple/RemovePlugin.hs b/testsuite/tests/plugins/simple-plugin/Simple/RemovePlugin.hs
index 3867404d2c..4162fc24be 100644
--- a/testsuite/tests/plugins/simple-plugin/Simple/RemovePlugin.hs
+++ b/testsuite/tests/plugins/simple-plugin/Simple/RemovePlugin.hs
@@ -53,9 +53,9 @@ typecheckPlugin [name, "typecheck"] _ tc
typecheckPlugin _ _ tc = return tc
metaPlugin' :: [CommandLineOption] -> LHsExpr GhcTc -> TcM (LHsExpr GhcTc)
-metaPlugin' [name, "meta"] (L l (HsWrap ne w (HsPar x (L _ (HsApp noExt (L _ (HsVar _ (L _ id))) e)))))
+metaPlugin' [name, "meta"] (L l (XExpr (HsWrap w (HsPar x (L _ (HsApp noExt (L _ (HsVar _ (L _ id))) e))))))
| occNameString (getOccName id) == name
- = return (L l (HsWrap ne w (unLoc e)))
+ = return (L l (XExpr (HsWrap w (unLoc e))))
-- The test should always match this first case. If the desugaring changes
-- again in the future then the panic is more useful than the previous
-- inscrutable failure.