- msg_act (emptyBag, unitBag (mkPlainErrMsg span err))
- return HscFail
- POk _ rdr_module -> do
- r <- hscFrontEnd hsc_env msg_act rdr_module
- case r of
- Left r -> return r
- Right _ -> return (HscChecked rdr_module)
-
+ msg_act (emptyBag, unitBag (mkPlainErrMsg span err))
+ return HscFail
+ POk _ rdr_module -> do
+ hscBufferTypecheck hsc_env rdr_module msg_act
+
+hscBufferTypecheck hsc_env rdr_module msg_act = do
+ (tc_msgs, maybe_tc_result) <- _scc_ "Typecheck-Rename"
+ tcRnModule hsc_env rdr_module
+ msg_act tc_msgs
+ case maybe_tc_result of
+ Nothing -> return (HscChecked (HscParsed rdr_module))
+ -- space leak on rdr_module!
+ Just r -> return (HscChecked (HscTypechecked r))