summaryrefslogtreecommitdiff
path: root/compiler/hsSyn/HsDumpAst.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/hsSyn/HsDumpAst.hs')
-rw-r--r--compiler/hsSyn/HsDumpAst.hs28
1 files changed, 21 insertions, 7 deletions
diff --git a/compiler/hsSyn/HsDumpAst.hs b/compiler/hsSyn/HsDumpAst.hs
index b76b3fbd94..e2244312d0 100644
--- a/compiler/hsSyn/HsDumpAst.hs
+++ b/compiler/hsSyn/HsDumpAst.hs
@@ -22,7 +22,6 @@ import BasicTypes
import FastString
import NameSet
import Name
-import RdrName
import DataCon
import SrcLoc
import HsSyn
@@ -47,7 +46,8 @@ showAstData b = showAstData' 0
showAstData' n =
generic
`ext1Q` list
- `extQ` string `extQ` fastString `extQ` srcSpan `extQ` lit
+ `extQ` string `extQ` fastString `extQ` srcSpan
+ `extQ` lit `extQ` litr `extQ` litt
`extQ` bytestring
`extQ` name `extQ` occName `extQ` moduleName `extQ` var
`extQ` dataCon
@@ -78,13 +78,27 @@ showAstData b = showAstData' 0
++ "]"
-- Eliminate word-size dependence
- lit :: HsLit -> String
+ lit :: HsLit GhcPs -> String
lit (HsWordPrim s x) = numericLit "HsWord{64}Prim" x s
lit (HsWord64Prim s x) = numericLit "HsWord{64}Prim" x s
lit (HsIntPrim s x) = numericLit "HsInt{64}Prim" x s
lit (HsInt64Prim s x) = numericLit "HsInt{64}Prim" x s
lit l = generic l
+ litr :: HsLit GhcRn -> String
+ litr (HsWordPrim s x) = numericLit "HsWord{64}Prim" x s
+ litr (HsWord64Prim s x) = numericLit "HsWord{64}Prim" x s
+ litr (HsIntPrim s x) = numericLit "HsInt{64}Prim" x s
+ litr (HsInt64Prim s x) = numericLit "HsInt{64}Prim" x s
+ litr l = generic l
+
+ litt :: HsLit GhcTc -> String
+ litt (HsWordPrim s x) = numericLit "HsWord{64}Prim" x s
+ litt (HsWord64Prim s x) = numericLit "HsWord{64}Prim" x s
+ litt (HsIntPrim s x) = numericLit "HsInt{64}Prim" x s
+ litt (HsInt64Prim s x) = numericLit "HsInt{64}Prim" x s
+ litt l = generic l
+
numericLit :: String -> Integer -> SourceText -> String
numericLit tag x s = indent n ++ unwords [ "{" ++ tag
, generic x
@@ -114,15 +128,15 @@ showAstData b = showAstData' 0
dataCon :: DataCon -> String
dataCon = ("{DataCon: "++) . (++"}") . showSDoc_ . ppr
- bagRdrName:: Bag (Located (HsBind RdrName)) -> String
- bagRdrName = ("{Bag(Located (HsBind RdrName)): "++) . (++"}")
+ bagRdrName:: Bag (Located (HsBind GhcPs)) -> String
+ bagRdrName = ("{Bag(Located (HsBind GhcPs)): "++) . (++"}")
. list . bagToList
- bagName :: Bag (Located (HsBind Name)) -> String
+ bagName :: Bag (Located (HsBind GhcRn)) -> String
bagName = ("{Bag(Located (HsBind Name)): "++) . (++"}")
. list . bagToList
- bagVar :: Bag (Located (HsBind Var)) -> String
+ bagVar :: Bag (Located (HsBind GhcTc)) -> String
bagVar = ("{Bag(Located (HsBind Var)): "++) . (++"}")
. list . bagToList