Struct rustc_driver::driver::CompileController [] [src]

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 make_glob_map: MakeGlobMap,
}
Unstable (rustc_private)

CompileController is used to customise compilation, it allows compilation to be stopped and/or to call arbitrary code at various points in compilation. It also allows for various flags to be set to influence what information gets collected during compilation.

This is a somewhat higher level controller than a Session - the Session controls what happens in each phase, whereas the CompileController controls whether a phase is run at all and whether other code (from outside the the compiler) is run between phases.

Note that if compilation is set to stop and a callback is provided for a given entry point, the callback is called before compilation is stopped.

Expect more entry points to be added in the future.

Fields

after_parse: PhaseController<'a>
Unstable (rustc_private)
after_expand: PhaseController<'a>
Unstable (rustc_private)
after_write_deps: PhaseController<'a>
Unstable (rustc_private)
after_hir_lowering: PhaseController<'a>
Unstable (rustc_private)
after_analysis: PhaseController<'a>
Unstable (rustc_private)
after_llvm: PhaseController<'a>
Unstable (rustc_private)
make_glob_map: MakeGlobMap
Unstable (rustc_private)

Methods

impl<'a> CompileController<'a>
[src]

fn basic() -> CompileController<'a>