X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FdeSugar%2FDsUtils.lhs;h=868a89402c0d6fbd1227defe31e8c4b48fe5f458;hb=d5934bbb856aa0aa620c9b2e0fa51c90a1a5a048;hp=0552c2bd088ee3beb336f7618ceaacc99480b0f2;hpb=33b8b60e0aa925962cd11a8be98d9818666d58a0;p=ghc-hetmet.git diff --git a/compiler/deSugar/DsUtils.lhs b/compiler/deSugar/DsUtils.lhs index 0552c2b..868a894 100644 --- a/compiler/deSugar/DsUtils.lhs +++ b/compiler/deSugar/DsUtils.lhs @@ -33,7 +33,8 @@ module DsUtils ( dsSyntaxTable, lookupEvidence, - selectSimpleMatchVarL, selectMatchVars, selectMatchVar + selectSimpleMatchVarL, selectMatchVars, selectMatchVar, + mkTickBox, mkOptTickBox, mkBinaryTickBox ) where #include "HsVersions.h" @@ -880,4 +881,18 @@ mkFailurePair expr ty = exprType expr \end{code} - +\begin{code} +mkOptTickBox :: Maybe Int -> CoreExpr -> DsM CoreExpr +mkOptTickBox Nothing e = return e +mkOptTickBox (Just ix) e = mkTickBox ix e + +mkTickBox :: Int -> CoreExpr -> DsM CoreExpr +mkTickBox ix e = do + mod <- getModuleDs + return $ Note (TickBox mod ix) e + +mkBinaryTickBox :: Int -> Int -> CoreExpr -> DsM CoreExpr +mkBinaryTickBox ixT ixF e = do + mod <- getModuleDs + return $ Note (BinaryTickBox mod ixT ixF) e +\end{code} \ No newline at end of file