X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FdeSugar%2FCoverage.lhs;h=36b04041ba8c574a17e0b2114a0865715c57aa4f;hp=9a53b2bdfcc2480d0d7132fc39a2ff71d74d719b;hb=ec3c7841346821c2d5342d0d9c3ff1ae4558aeb6;hpb=dd8c1ab22f0bf0eaa9028f1621ceac02aea96205 diff --git a/compiler/deSugar/Coverage.lhs b/compiler/deSugar/Coverage.lhs index 9a53b2b..36b0404 100644 --- a/compiler/deSugar/Coverage.lhs +++ b/compiler/deSugar/Coverage.lhs @@ -266,20 +266,28 @@ addTickHsExpr (HsWrap w e) = liftM2 HsWrap (return w) (addTickHsExpr e) -- explicitly no tick on inside -addTickHsExpr (HsArrApp {}) = error "addTickHsExpr: HsArrApp " -addTickHsExpr (HsArrForm {}) = error "addTickHsExpr: HsArrForm" +addTickHsExpr (HsArrApp e1 e2 ty1 arr_ty lr) = + liftM5 HsArrApp + (addTickLHsExpr e1) + (addTickLHsExpr e2) + (return ty1) + (return arr_ty) + (return lr) +addTickHsExpr (HsArrForm e fix cmdtop) = + liftM3 HsArrForm + (addTickLHsExpr e) + (return fix) + (mapM (liftL addTickHsCmdTop) cmdtop) + +addTickHsExpr e@(HsType ty) = return e + +-- Should never happen in expression content. addTickHsExpr (EAsPat _ _) = error "addTickHsExpr: EAsPat _ _" addTickHsExpr (ELazyPat _) = error "addTickHsExpr: ELazyPat _" addTickHsExpr (EWildPat) = error "addTickHsExpr: EWildPat" addTickHsExpr (HsBinTick _ _ _) = error "addTickhsExpr: HsBinTick _ _ _" addTickHsExpr (HsTick _ _) = error "addTickhsExpr: HsTick _ _" -addTickHsExpr e@(HsType ty) = return e - --- catch all, and give an error message. ---addTickHsExpr e = error ("addTickLhsExpr: " ++ showSDoc (ppr e)) - - addTickMatchGroup (MatchGroup matches ty) = do let isOneOfMany = True -- AJG: for now matches' <- mapM (liftL (addTickMatch isOneOfMany)) matches