X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fiface%2FLoadIface.lhs;h=ba72c25d528ce559bd5ded296ad8e9e416261bae;hb=0cb269be72ffe42498c74d5be845eb27d8818423;hp=c91aa63e1adf744e132be5c622646a018e338c29;hpb=d76c18e05f6366c23144624b696a02fbaa6d26e8;p=ghc-hetmet.git diff --git a/compiler/iface/LoadIface.lhs b/compiler/iface/LoadIface.lhs index c91aa63..ba72c25 100644 --- a/compiler/iface/LoadIface.lhs +++ b/compiler/iface/LoadIface.lhs @@ -301,7 +301,6 @@ loadDecl ignore_prags mod (_version, decl) main_name <- mk_new_bndr mod Nothing (ifName decl) ; implicit_names <- mapM (mk_new_bndr mod (Just main_name)) (ifaceDeclSubBndrs decl) - ; at_names <- mapM (mk_new_bndr mod (Just main_name)) (atNames decl) -- Typecheck the thing, lazily -- NB. firstly, the laziness is there in case we never need the @@ -318,7 +317,6 @@ loadDecl ignore_prags mod (_version, decl) ppr n $$ ppr (stripped_decl)) ; returnM $ (main_name, thing) : [(n, lookup n) | n <- implicit_names] - ++ zip at_names (atThings thing) } -- We build a list from the *known* names, with (lookup n) thunks -- as the TyThings. That way we can extend the PTE without poking the @@ -337,12 +335,6 @@ loadDecl ignore_prags mod (_version, decl) (importedSrcLoc (showSDoc (ppr (moduleName mod)))) -- ToDo: qualify with the package name if necessary - atNames (IfaceClass {ifATs = ats}) = [ifName at | at <- ats] - atNames _ = [] - - atThings (AClass cla) = [ATyCon at | at <- classATs cla] - atThings _ = [] - doc = ptext SLIT("Declaration for") <+> ppr (ifName decl) discardDeclPrags :: IfaceDecl -> IfaceDecl @@ -364,12 +356,12 @@ ifaceDeclSubBndrs :: IfaceDecl -> [OccName] -- -- If you change this, make sure you change HscTypes.implicitTyThings in sync -ifaceDeclSubBndrs IfaceClass { ifCtxt = sc_ctxt, - ifName = cls_occ, - ifSigs = sigs } +ifaceDeclSubBndrs (IfaceClass {ifCtxt = sc_ctxt, ifName = cls_occ, + ifSigs = sigs, ifATs = ats }) = co_occs ++ [tc_occ, dc_occ, dcww_occ] ++ - [op | IfaceClassOp op _ _ <- sigs] ++ + [op | IfaceClassOp op _ _ <- sigs] ++ + [ifName at | at <- ats ] ++ [mkSuperDictSelOcc n cls_occ | n <- [1..n_ctxt]] where n_ctxt = length sc_ctxt @@ -417,9 +409,8 @@ ifaceDeclSubBndrs (IfaceData {ifName = tc_occ, ifaceDeclSubBndrs _other = [] -- coercion for data/newtype family instances -famInstCo Nothing baseOcc = [] -famInstCo (Just (_, _, index)) baseOcc = [mkInstTyTcOcc index baseOcc, - mkInstTyCoOcc index baseOcc] +famInstCo Nothing baseOcc = [] +famInstCo (Just _) baseOcc = [mkInstTyCoOcc baseOcc] \end{code}