[project @ 2000-11-27 16:10:29 by simonpj]
[ghc-hetmet.git] / ghc / compiler / rename / RnHsSyn.lhs
index d883716..efe24a3 100644 (file)
@@ -120,20 +120,20 @@ In all cases this is set up for interface-file declarations:
 
 \begin{code}
 tyClDeclFVs :: RenamedTyClDecl -> NameSet
-tyClDeclFVs (IfaceSig name ty id_infos loc)
+tyClDeclFVs (IfaceSig {tcdType = ty, tcdIdInfo = id_infos})
   = extractHsTyNames ty                        `plusFV` 
     plusFVs (map hsIdInfoFVs id_infos)
 
-tyClDeclFVs (TyData _ context _ tyvars condecls _ derivings _ _ _)
+tyClDeclFVs (TyData {tcdCtxt = context, tcdTyVars = tyvars, tcdCons = condecls, tcdDerivs = derivings})
   = delFVs (map hsTyVarName tyvars) $
     extractHsCtxtTyNames context       `plusFV`
     plusFVs (map conDeclFVs condecls)  `plusFV`
     mkNameSet (derivings `orElse` [])
 
-tyClDeclFVs (TySynonym _ tyvars ty _)
+tyClDeclFVs (TySynonym {tcdTyVars = tyvars, tcdSynRhs = ty})
   = delFVs (map hsTyVarName tyvars) (extractHsTyNames ty)
 
-tyClDeclFVs (ClassDecl context _ tyvars fds sigs _ _ src_loc)
+tyClDeclFVs (ClassDecl {tcdCtxt = context, tcdTyVars = tyvars, tcdFDs = fds, tcdSigs = sigs})
   = delFVs (map hsTyVarName tyvars) $
     extractHsCtxtTyNames context         `plusFV`
     plusFVs (map extractFunDepNames fds)  `plusFV`
@@ -142,16 +142,10 @@ tyClDeclFVs (ClassDecl context _ tyvars fds sigs _ _ src_loc)
 ----------------
 hsSigsFVs sigs = plusFVs (map hsSigFVs sigs)
 
-hsSigFVs (Sig v ty _)              = extractHsTyNames ty `addOneFV` v
-hsSigFVs (SpecInstSig ty _)        = extractHsTyNames ty
-hsSigFVs (SpecSig v ty _)          = extractHsTyNames ty `addOneFV` v
-hsSigFVs (FixSig (FixitySig v _ _)) = unitFV v
-hsSigFVs (InlineSig v p _)         = unitFV v
-hsSigFVs (NoInlineSig v p _)       = unitFV v
-hsSigFVs (ClassOpSig v dm ty _)            = dmFVs dm `plusFV` extractHsTyNames ty `addOneFV` v
-
-dmFVs (Just (DefMeth v)) = unitFV v
-dmFVs other             = emptyFVs
+hsSigFVs (Sig v ty _)      = extractHsTyNames ty
+hsSigFVs (SpecInstSig ty _) = extractHsTyNames ty
+hsSigFVs (SpecSig v ty _)   = extractHsTyNames ty
+hsSigFVs other             = emptyFVs
 
 ----------------
 instDeclFVs (InstDecl inst_ty _ _ maybe_dfun _)