summaryrefslogtreecommitdiff
path: root/compiler/hsSyn/HsExpr.lhs
diff options
context:
space:
mode:
authorsimonpj@microsoft.com <unknown>2009-10-15 11:44:37 +0000
committersimonpj@microsoft.com <unknown>2009-10-15 11:44:37 +0000
commita9db145ff5b02ad9c79fcef44898a37254cc6c1a (patch)
tree1427f6f4ec42da07bcd7364ca8f5614c220c7ee2 /compiler/hsSyn/HsExpr.lhs
parent1f56fae4a10f7fb56b8fbab5ab9ad95add1ed1dd (diff)
downloadhaskell-a9db145ff5b02ad9c79fcef44898a37254cc6c1a.tar.gz
Fix Trac #3263: don't print Hpc tick stuff unless -dppr-debug is on
In general, when pretty-printing HsSyn, we omit the extra info added by GHC (type appplications and abstractions, etc) when printing stuff for the user. But we weren't applying that guideline to the HsTick stuff for Hpc. This patch adds the necessary tests.
Diffstat (limited to 'compiler/hsSyn/HsExpr.lhs')
-rw-r--r--compiler/hsSyn/HsExpr.lhs19
1 files changed, 11 insertions, 8 deletions
diff --git a/compiler/hsSyn/HsExpr.lhs b/compiler/hsSyn/HsExpr.lhs
index 3654de1744..cdf7322b46 100644
--- a/compiler/hsSyn/HsExpr.lhs
+++ b/compiler/hsSyn/HsExpr.lhs
@@ -469,21 +469,24 @@ ppr_expr (HsProc pat (L _ (HsCmdTop cmd _ _ _)))
= hsep [ptext (sLit "proc"), ppr pat, ptext (sLit "->"), ppr cmd]
ppr_expr (HsTick tickId vars exp)
- = hcat [ptext (sLit "tick<"),
- ppr tickId,
- ptext (sLit ">("),
- hsep (map pprHsVar vars),
- ppr exp,
- ptext (sLit ")")]
+ = pprTicks (ppr exp) $
+ hcat [ptext (sLit "tick<"),
+ ppr tickId,
+ ptext (sLit ">("),
+ hsep (map pprHsVar vars),
+ ppr exp,
+ ptext (sLit ")")]
ppr_expr (HsBinTick tickIdTrue tickIdFalse exp)
- = hcat [ptext (sLit "bintick<"),
+ = pprTicks (ppr exp) $
+ hcat [ptext (sLit "bintick<"),
ppr tickIdTrue,
ptext (sLit ","),
ppr tickIdFalse,
ptext (sLit ">("),
ppr exp,ptext (sLit ")")]
ppr_expr (HsTickPragma externalSrcLoc exp)
- = hcat [ptext (sLit "tickpragma<"),
+ = pprTicks (ppr exp) $
+ hcat [ptext (sLit "tickpragma<"),
ppr externalSrcLoc,
ptext (sLit ">("),
ppr exp,