X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fparser%2FRdrHsSyn.lhs;h=8c142141a4e497962add6e498580bb57648f0497;hp=a9433441e81ed4c7f0c8e53758efb6ca765a8ff1;hb=9241ac84d10f7e6b23841da2c0765275072ad7c1;hpb=ffabe3acb2d30be0c8e89e139f5bca7a1eb900f6 diff --git a/compiler/parser/RdrHsSyn.lhs b/compiler/parser/RdrHsSyn.lhs index a943344..8c14214 100644 --- a/compiler/parser/RdrHsSyn.lhs +++ b/compiler/parser/RdrHsSyn.lhs @@ -122,6 +122,8 @@ extract_lty (L loc ty) acc HsAppTy ty1 ty2 -> extract_lty ty1 (extract_lty ty2 acc) HsListTy ty -> extract_lty ty acc HsPArrTy ty -> extract_lty ty acc + HsKappaTy ty1 ty2 -> extract_lty ty1 (extract_lty ty2 acc) + HsModalBoxType ecn ty -> extract_lty ty (extract_tv loc ecn acc) HsTupleTy _ tys -> extract_ltys tys acc HsFunTy ty1 ty2 -> extract_lty ty1 (extract_lty ty2 acc) HsPredTy p -> extract_pred p acc @@ -646,6 +648,7 @@ checkAPat :: DynFlags -> SrcSpan -> HsExpr RdrName -> P (Pat RdrName) checkAPat dynflags loc e0 = case e0 of EWildPat -> return (WildPat placeHolderType) HsVar x -> return (VarPat x) + HsHetMetBrak _ p -> checkAPat dynflags loc (unLoc p) HsLit l -> return (LitPat l) -- Overloaded numeric patterns (e.g. f 0 x = x) @@ -772,6 +775,8 @@ checkValSig :: LHsExpr RdrName -> LHsType RdrName -> P (Sig RdrName) +checkValSig (L l (HsHetMetBrak _ e)) ty + = checkValSig e ty checkValSig (L l (HsVar v)) ty | isUnqual v && not (isDataOcc (rdrNameOcc v)) = return (TypeSig (L l v) ty)