X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Frename%2FRnIfaces.lhs;h=08e7fb9948c974abf8efd3e240eb3753d9246273;hb=a237946da277f10bd3d223e5926d118044d24194;hp=ef23e33311de60245defe6bd364bd43957669d85;hpb=1bba522f5ec82c43abd2ba4e84127b9c915dd020;p=ghc-hetmet.git diff --git a/ghc/compiler/rename/RnIfaces.lhs b/ghc/compiler/rename/RnIfaces.lhs index ef23e33..08e7fb9 100644 --- a/ghc/compiler/rename/RnIfaces.lhs +++ b/ghc/compiler/rename/RnIfaces.lhs @@ -601,7 +601,7 @@ getNonWiredInDecl needed_name loadHomeInterface doc_str needed_name `thenRn` \ ifaces -> case lookupNameEnv (iDecls ifaces) needed_name of - Just (version, avail, is_tycon_name, decl@(_, TyClD (TyData DataType _ _ _ _ ncons _ _ _))) + Just (version, avail, is_tycon_name, decl@(_, TyClD (TyData DataType _ _ _ _ ncons _ _ _ _ _))) -- This case deals with deferred import of algebraic data types | not opt_NoPruneTyDecls @@ -1013,7 +1013,7 @@ getDeclBinders :: (RdrName -> SrcLoc -> RnM d Name) -- New-name function -> RdrNameHsDecl -> RnM d (Maybe AvailInfo) -getDeclBinders new_name (TyClD (TyData _ _ tycon _ condecls _ _ _ src_loc)) +getDeclBinders new_name (TyClD (TyData _ _ tycon _ condecls _ _ _ src_loc _ _)) = new_name tycon src_loc `thenRn` \ tycon_name -> getConFieldNames new_name condecls `thenRn` \ sub_names -> returnRn (Just (AvailTC tycon_name (tycon_name : nub sub_names))) @@ -1024,7 +1024,7 @@ getDeclBinders new_name (TyClD (TySynonym tycon _ _ src_loc)) = new_name tycon src_loc `thenRn` \ tycon_name -> returnRn (Just (AvailTC tycon_name [tycon_name])) -getDeclBinders new_name (TyClD (ClassDecl _ cname _ _ sigs _ _ _ _ _ _ src_loc)) +getDeclBinders new_name (TyClD (ClassDecl _ cname _ _ sigs _ _ _ src_loc)) = new_name cname src_loc `thenRn` \ class_name -> -- Record the names for the class ops @@ -1089,10 +1089,11 @@ and the dict fun of an instance decl, because both of these have bindings of their own elsewhere. \begin{code} -getDeclSysBinders new_name (TyClD (ClassDecl _ cname _ _ sigs _ _ tname dname dwname snames src_loc)) - = sequenceRn [new_name n src_loc | n <- (tname : dname : dwname : snames)] +getDeclSysBinders new_name (TyClD (ClassDecl _ cname _ _ sigs _ _ names + src_loc)) + = sequenceRn [new_name n src_loc | n <- names] -getDeclSysBinders new_name (TyClD (TyData _ _ _ _ cons _ _ _ _)) +getDeclSysBinders new_name (TyClD (TyData _ _ _ _ cons _ _ _ _ _ _)) = sequenceRn [new_name wkr_name src_loc | ConDecl _ wkr_name _ _ _ src_loc <- cons] getDeclSysBinders new_name other_decl @@ -1119,10 +1120,12 @@ findAndReadIface doc_str mod_name hi_boot_file -- one for 'normal' ones, the other for .hi-boot files, -- hence the need to signal which kind we're interested. - getHiMaps `thenRn` \ (search_path, hi_map, hiboot_map) -> + --getHiMaps `thenRn` \ (search_path, hi_map, hiboot_map) -> let - relevant_map | hi_boot_file = hiboot_map - | otherwise = hi_map + bomb = panic "findAndReadInterface: hi_maps: FIXME" + search_path = panic "findAndReadInterface: search_path: FIXME" + relevant_map | hi_boot_file = bomb --hiboot_map + | otherwise = bomb --hi_map in case lookupFM relevant_map mod_name of -- Found the file