import SrcLoc ( mkSrcLoc )
import Rename ( renameModule )
+import RnMonad ( InterfaceDetails(..) )
import MkIface ( startIface, ifaceDecls, endIface )
import TcModule ( TcResults(..), typecheckModule )
reportCompile mod_name "Compilation NOT required!" >>
return ();
- Just (this_mod, rn_mod, iface_file_stuff, rn_name_supply, imported_modules) ->
+ Just (this_mod, rn_mod, iface_file_stuff@(InterfaceDetails _ _ _ deprecations),
+ rn_name_supply, imported_modules) ->
-- Oh well, we've got to recompile for real
-- thoroughout code generation
ifaceDecls if_handle local_tycons local_classes inst_info
- final_ids tidy_binds imp_rule_ids iface_file_stuff >>
- endIface if_handle >>
+ final_ids tidy_binds imp_rule_ids deprecations >>
+ endIface if_handle >>
-- We are definitely done w/ interface-file stuff at this point:
-- (See comments near call to "startIface".)
-> [Id] -- Ids used at code-gen time; they have better pragma info!
-> [CoreBind] -- In dependency order, later depend on earlier
-> [ProtoCoreRule] -- Rules
- -> InterfaceDetails
+ -> [Deprecation Name]
-> IO ()
endIface :: Maybe Handle -> IO ()
final_ids
binds
orphan_rules -- Rules defined locally for an Id that is *not* defined locally
- (InterfaceDetails _ _ _ deprecations)
+ deprecations
| null_decls = return ()
-- You could have a module with just (re-)exports/instances in it
| otherwise