Use more descriptive Compilation enum in rustc interface callbacks
This commit is contained in:
parent
ae75311823
commit
ff63336b65
1 changed files with 15 additions and 12 deletions
|
@ -105,17 +105,20 @@ pub fn abort_on_err<T>(result: Result<T, ErrorReported>, sess: &Session) -> T {
|
|||
pub trait Callbacks {
|
||||
/// Called before creating the compiler instance
|
||||
fn config(&mut self, _config: &mut interface::Config) {}
|
||||
/// Called after parsing and returns true to continue execution
|
||||
fn after_parsing(&mut self, _compiler: &interface::Compiler) -> bool {
|
||||
true
|
||||
/// Called after parsing. Return value instructs the compiler whether to
|
||||
/// continue the compilation afterwards (defaults to `Compilation::Continue`)
|
||||
fn after_parsing(&mut self, _compiler: &interface::Compiler) -> Compilation {
|
||||
Compilation::Continue
|
||||
}
|
||||
/// Called after expansion and returns true to continue execution
|
||||
fn after_expansion(&mut self, _compiler: &interface::Compiler) -> bool {
|
||||
true
|
||||
/// Called after expansion. Return value instructs the compiler whether to
|
||||
/// continue the compilation afterwards (defaults to `Compilation::Continue`)
|
||||
fn after_expansion(&mut self, _compiler: &interface::Compiler) -> Compilation {
|
||||
Compilation::Continue
|
||||
}
|
||||
/// Called after analysis and returns true to continue execution
|
||||
fn after_analysis(&mut self, _compiler: &interface::Compiler) -> bool {
|
||||
true
|
||||
/// Called after analysis. Return value instructs the compiler whether to
|
||||
/// continue the compilation afterwards (defaults to `Compilation::Continue`)
|
||||
fn after_analysis(&mut self, _compiler: &interface::Compiler) -> Compilation {
|
||||
Compilation::Continue
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -298,7 +301,7 @@ pub fn run_compiler(
|
|||
}
|
||||
}
|
||||
|
||||
if !callbacks.after_parsing(compiler) {
|
||||
if callbacks.after_parsing(compiler) == Compilation::Stop {
|
||||
return sess.compile_status();
|
||||
}
|
||||
|
||||
|
@ -317,7 +320,7 @@ pub fn run_compiler(
|
|||
}
|
||||
|
||||
compiler.expansion()?;
|
||||
if !callbacks.after_expansion(compiler) {
|
||||
if callbacks.after_expansion(compiler) == Compilation::Stop {
|
||||
return sess.compile_status();
|
||||
}
|
||||
|
||||
|
@ -364,7 +367,7 @@ pub fn run_compiler(
|
|||
|
||||
compiler.global_ctxt()?.peek_mut().enter(|tcx| tcx.analysis(LOCAL_CRATE))?;
|
||||
|
||||
if !callbacks.after_analysis(compiler) {
|
||||
if callbacks.after_analysis(compiler) == Compilation::Stop {
|
||||
return sess.compile_status();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue