X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Frename%2FRnHsSyn.lhs;h=4f40a8dbf79f599bd34ec867bd0bfcf4afd24aa9;hb=cfe89540b4a0620d02b47786599ad1836d851b25;hp=6752218b29e3a1bc2ca46aeb7f0c5f5a7e8e55a7;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1;p=ghc-hetmet.git diff --git a/compiler/rename/RnHsSyn.lhs b/compiler/rename/RnHsSyn.lhs index 6752218..4f40a8d 100644 --- a/compiler/rename/RnHsSyn.lhs +++ b/compiler/rename/RnHsSyn.lhs @@ -74,6 +74,7 @@ extractHsTyNames ty `unionNameSets` getl ty) `minusNameSet` mkNameSet (hsLTyVarNames tvs) + get (HsDocTy ty _) = getl ty extractHsTyNames_s :: [LHsType Name] -> NameSet extractHsTyNames_s tys = foldr (unionNameSets . extractHsTyNames) emptyNameSet tys @@ -86,6 +87,8 @@ extractHsCtxtTyNames (L _ ctxt) -- so don't mention the IP names extractHsPredTyNames (HsClassP cls tys) = unitNameSet cls `unionNameSets` extractHsTyNames_s tys +extractHsPredTyNames (HsEqualP ty1 ty2) + = extractHsTyNames ty1 `unionNameSets` extractHsTyNames ty2 extractHsPredTyNames (HsIParam n ty) = extractHsTyNames ty \end{code} @@ -127,9 +130,8 @@ conDeclFVs (L _ (ConDecl { con_qvars = tyvars, con_cxt = context, conResTyFVs ResTyH98 = emptyFVs conResTyFVs (ResTyGADT ty) = extractHsTyNames ty -conDetailsFVs (PrefixCon btys) = plusFVs (map bangTyFVs btys) -conDetailsFVs (InfixCon bty1 bty2) = bangTyFVs bty1 `plusFV` bangTyFVs bty2 -conDetailsFVs (RecCon flds) = plusFVs [bangTyFVs bty | (_, bty) <- flds] +conDetailsFVs :: HsConDeclDetails Name -> FreeVars +conDetailsFVs details = plusFVs (map bangTyFVs (hsConDeclArgTys details)) bangTyFVs bty = extractHsTyNames (getBangType bty) \end{code}