import HsSyn ( HsDecl(..), TyClDecl(..),
HsType(..), HsTyVar,
ConDecl(..), ConDetails(..), BangType(..),
- Sig(..),
+ Sig(..), HsPred(..),
tyClDeclName, isClassDecl, isSynDecl
)
import RnHsSyn ( RenamedHsDecl, RenamedTyClDecl, listTyCon_name, tupleTyCon_name )
mk_cls_edges :: RenamedTyClDecl -> Maybe (RenamedTyClDecl, Unique, [Unique])
mk_cls_edges decl@(ClassDecl ctxt name _ _ _ _ _ _ _ _ _)
- = Just (decl, getUnique name, map (getUnique . fst) ctxt)
+ = Just (decl, getUnique name, map (getUnique . get_clas) ctxt)
mk_cls_edges other_decl
= Nothing
----------------------------------------------------
-get_ctxt ctxt = unionManyUniqSets (map (set_name.fst) ctxt)
+get_ctxt ctxt = unionManyUniqSets (map (set_name . get_clas) ctxt)
+get_clas (HsPClass clas _) = clas
----------------------------------------------------
get_deriv Nothing = emptyUniqSet