phase_2_configure_and_expand(sess, &cstore, krate, &id, addl_plugins, make_glob_map)?
};
- controller_entry_point!(after_expand,
- sess,
- CompileState::state_after_expand(input,
- sess,
- outdir,
- output,
- &cstore,
- &expanded_crate,
- &id),
- Ok(()));
-
write_out_deps(sess, &outputs, &id);
- controller_entry_point!(after_write_deps,
- sess,
- CompileState::state_after_write_deps(input,
- sess,
- outdir,
- output,
- &cstore,
- &expanded_crate,
- &id),
- Ok(()));
-
let arenas = ty::CtxtArenas::new();
// Construct the HIR map
/// Expect more entry points to be added in the future.
pub struct CompileController<'a> {
pub after_parse: PhaseController<'a>,
- pub after_expand: PhaseController<'a>,
- pub after_write_deps: PhaseController<'a>,
pub after_hir_lowering: PhaseController<'a>,
pub after_analysis: PhaseController<'a>,
pub after_llvm: PhaseController<'a>,
pub fn basic() -> CompileController<'a> {
CompileController {
after_parse: PhaseController::basic(),
- after_expand: PhaseController::basic(),
- after_write_deps: PhaseController::basic(),
after_hir_lowering: PhaseController::basic(),
after_analysis: PhaseController::basic(),
after_llvm: PhaseController::basic(),
}
}
- fn state_after_expand(input: &'a Input,
- session: &'ast Session,
- out_dir: &'a Option<PathBuf>,
- out_file: &'a Option<PathBuf>,
- cstore: &'a CStore,
- expanded_crate: &'a ast::Crate,
- crate_name: &'a str)
- -> CompileState<'a, 'b, 'ast, 'tcx> {
- CompileState {
- crate_name: Some(crate_name),
- cstore: Some(cstore),
- expanded_crate: Some(expanded_crate),
- out_file: out_file.as_ref().map(|s| &**s),
- ..CompileState::empty(input, session, out_dir)
- }
- }
-
- fn state_after_write_deps(input: &'a Input,
- session: &'ast Session,
- out_dir: &'a Option<PathBuf>,
- out_file: &'a Option<PathBuf>,
- cstore: &'a CStore,
- krate: &'a ast::Crate,
- crate_name: &'a str)
- -> CompileState<'a, 'b, 'ast, 'tcx> {
- CompileState {
- crate_name: Some(crate_name),
- cstore: Some(cstore),
- expanded_crate: Some(krate),
- out_file: out_file.as_ref().map(|s| &**s),
- ..CompileState::empty(input, session, out_dir)
- }
- }
-
fn state_after_hir_lowering(input: &'a Input,
session: &'ast Session,
out_dir: &'a Option<PathBuf>,