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
)