X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FhsSyn%2FHsExpr.lhs;h=78508c85d4b0609c5c68c332e9a5f5b8b49cadcf;hp=cef711f21e5d35629cbff0f0b7922c756354e896;hb=c1500e4888be2341c0b6e6897f494766c86feba0;hpb=e404a3ad466a7b3665f1944f739a818d339a90a2 diff --git a/compiler/hsSyn/HsExpr.lhs b/compiler/hsSyn/HsExpr.lhs index cef711f..78508c8 100644 --- a/compiler/hsSyn/HsExpr.lhs +++ b/compiler/hsSyn/HsExpr.lhs @@ -491,6 +491,9 @@ pprCmdArg (HsCmdTop cmd@(L _ (HsArrForm _ Nothing [])) _ _ _) pprCmdArg (HsCmdTop cmd _ _ _) = parens (ppr_lexpr cmd) +instance OutputableBndr id => Outputable (HsCmdTop id) where + ppr = pprCmdArg + -- Put a var in backquotes if it's not an operator already pprInfix :: Outputable name => name -> SDoc pprInfix v | isOperator ppr_v = ppr_v @@ -1113,3 +1116,15 @@ matchContextErrString (StmtCtxt (MDoExpr _)) = "'mdo' expression" matchContextErrString (StmtCtxt ListComp) = "list comprehension" matchContextErrString (StmtCtxt PArrComp) = "array comprehension" \end{code} + +\begin{code} +pprMatchInCtxt :: (OutputableBndr idL, OutputableBndr idR) + => HsMatchContext idL -> Match idR -> SDoc +pprMatchInCtxt ctxt match = hang (ptext (sLit "In") <+> pprMatchContext ctxt <> colon) + 4 (pprMatch ctxt match) + +pprStmtInCtxt :: (OutputableBndr idL, OutputableBndr idR) + => HsStmtContext idL -> StmtLR idL idR -> SDoc +pprStmtInCtxt ctxt stmt = hang (ptext (sLit "In a stmt of") <+> pprStmtContext ctxt <> colon) + 4 (ppr stmt) +\end{code}