X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FhsSyn%2FHsPat.lhs;h=9e954a67fe4f63a981c60cc792c91b4ddcc8124f;hb=9f55c592f7283e5d16dd406c767af352adf30bfc;hp=53a8bc035fbb8b8b00306fe41b991cb86ebc4639;hpb=4d7fed4e9191bb92860aad48ae0b8899882c8ab6;p=ghc-hetmet.git diff --git a/compiler/hsSyn/HsPat.lhs b/compiler/hsSyn/HsPat.lhs index 53a8bc0..9e954a6 100644 --- a/compiler/hsSyn/HsPat.lhs +++ b/compiler/hsSyn/HsPat.lhs @@ -28,8 +28,6 @@ module HsPat ( patsAreAllLits, isLitPat, isIrrefutableHsPat ) where -#include "HsVersions.h" - import {-# SOURCE #-} HsExpr (SyntaxExpr, LHsExpr, pprLExpr) -- friends: @@ -212,6 +210,15 @@ data HsQuasiQuote id = HsQuasiQuote id SrcSpan FastString + +instance OutputableBndr id => Outputable (HsQuasiQuote id) where + ppr = ppr_qq + +ppr_qq :: OutputableBndr id => HsQuasiQuote id -> SDoc +ppr_qq (HsQuasiQuote name quoter _ quote) = + char '$' <> brackets (ppr name) <> + ptext (sLit "[:") <> ppr quoter <> ptext (sLit "|") <> + ppr quote <> ptext (sLit "|]") \end{code} @@ -263,9 +270,9 @@ pprPat (NPat l (Just _) _) = char '-' <> ppr l pprPat (NPlusKPat n k _ _) = hcat [ppr n, char '+', ppr k] pprPat (QuasiQuotePat (HsQuasiQuote name quoter _ quote)) = char '$' <> brackets (ppr name) <> - ptext SLIT("[:") <> ppr quoter <> ptext SLIT("|") <> - ppr quote <> ptext SLIT("|]") -pprPat (TypePat ty) = ptext SLIT("{|") <> ppr ty <> ptext SLIT("|}") + ptext (sLit "[:") <> ppr quoter <> ptext (sLit "|") <> + ppr quote <> ptext (sLit "|]") +pprPat (TypePat ty) = ptext (sLit "{|") <> ppr ty <> ptext (sLit "|}") pprPat (CoPat co pat _) = parens (pprHsWrapper (ppr pat) co) pprPat (SigPatIn pat ty) = ppr pat <+> dcolon <+> ppr ty pprPat (SigPatOut pat ty) = ppr pat <+> dcolon <+> ppr ty @@ -286,7 +293,7 @@ instance (OutputableBndr id, Outputable arg) ppr (HsRecFields { rec_flds = flds, rec_dotdot = Just n }) = braces (fsep (punctuate comma (map ppr (take n flds) ++ [dotdot]))) where - dotdot = ptext SLIT("..") <+> ifPprDebug (ppr (drop n flds)) + dotdot = ptext (sLit "..") <+> ifPprDebug (ppr (drop n flds)) instance (OutputableBndr id, Outputable arg) => Outputable (HsRecField id arg) where @@ -297,7 +304,7 @@ instance (OutputableBndr id, Outputable arg) -- add parallel array brackets around a document -- pabrackets :: SDoc -> SDoc -pabrackets p = ptext SLIT("[:") <> p <> ptext SLIT(":]") +pabrackets p = ptext (sLit "[:") <> p <> ptext (sLit ":]") \end{code} @@ -328,7 +335,7 @@ mkCoPat co pat ty mkCoPatCoI :: CoercionI -> Pat id -> Type -> Pat id mkCoPatCoI IdCo pat _ = pat -mkCoPatCoI (ACo co) pat ty = mkCoPat (WpCo co) pat ty +mkCoPatCoI (ACo co) pat ty = mkCoPat (WpCast co) pat ty \end{code}