summaryrefslogtreecommitdiff
path: root/compiler/GHC/Rename
diff options
context:
space:
mode:
authorKrzysztof Gogolewski <krzysztof.gogolewski@tweag.io>2020-02-17 19:46:13 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-02-20 21:22:11 -0500
commit466e1ad5d54cb2e8a3b6f16904b873cad882a736 (patch)
tree8a63ad350cb42a2aef09e4e0229eb01f82afda41 /compiler/GHC/Rename
parent8b76d4574d703ee66f346775d408220fdddb8155 (diff)
downloadhaskell-466e1ad5d54cb2e8a3b6f16904b873cad882a736.tar.gz
Use TTG for HsSplicedT constructor
The constructor HsSplicedT occurs only in the GhcTc pass. This enforces this fact statically via TTG.
Diffstat (limited to 'compiler/GHC/Rename')
-rw-r--r--compiler/GHC/Rename/Splice.hs10
1 files changed, 3 insertions, 7 deletions
diff --git a/compiler/GHC/Rename/Splice.hs b/compiler/GHC/Rename/Splice.hs
index 3f746ee39c..9a60a071c5 100644
--- a/compiler/GHC/Rename/Splice.hs
+++ b/compiler/GHC/Rename/Splice.hs
@@ -299,7 +299,8 @@ checkTopSpliceAllowed splice = do
spliceExtension (HsQuasiQuote {}) = ("Quasi-quotes", LangExt.QuasiQuotes)
spliceExtension (HsTypedSplice {}) = ("Top-level splices", LangExt.TemplateHaskell)
spliceExtension (HsUntypedSplice {}) = ("Top-level splices", LangExt.TemplateHaskell)
- spliceExtension s = pprPanic "spliceExtension" (ppr s)
+ spliceExtension s@(HsSpliced {}) = pprPanic "spliceExtension" (ppr s)
+ spliceExtension (XSplice nec) = noExtCon nec
------------------
@@ -321,7 +322,6 @@ runRnSplice flavour run_meta ppr_res splice
HsQuasiQuote _ _ q qs str -> mkQuasiQuoteExpr flavour q qs str
HsTypedSplice {} -> pprPanic "runRnSplice" (ppr splice)
HsSpliced {} -> pprPanic "runRnSplice" (ppr splice)
- HsSplicedT {} -> pprPanic "runRnSplice" (ppr splice)
XSplice nec -> noExtCon nec
-- Typecheck the expression
@@ -369,8 +369,6 @@ makePending _ splice@(HsTypedSplice {})
= pprPanic "makePending" (ppr splice)
makePending _ splice@(HsSpliced {})
= pprPanic "makePending" (ppr splice)
-makePending _ splice@(HsSplicedT {})
- = pprPanic "makePending" (ppr splice)
makePending _ (XSplice nec)
= noExtCon nec
@@ -422,7 +420,6 @@ rnSplice (HsQuasiQuote x splice_name quoter q_loc quote)
, unitFV quoter') }
rnSplice splice@(HsSpliced {}) = pprPanic "rnSplice" (ppr splice)
-rnSplice splice@(HsSplicedT {}) = pprPanic "rnSplice" (ppr splice)
rnSplice (XSplice nec) = noExtCon nec
---------------------
@@ -734,8 +731,7 @@ spliceCtxt splice
HsTypedSplice {} -> text "typed splice:"
HsQuasiQuote {} -> text "quasi-quotation:"
HsSpliced {} -> text "spliced expression:"
- HsSplicedT {} -> text "spliced expression:"
- XSplice {} -> text "spliced expression:"
+ XSplice nec -> noExtCon nec
-- | The splice data to be logged
data SpliceInfo