Skip to content

Commit

Permalink
Use more descriptive Compilation enum in rustc interface callbacks
Browse files Browse the repository at this point in the history
  • Loading branch information
Xanewok committed Jul 15, 2019
1 parent ae75311 commit ff63336
Showing 1 changed file with 15 additions and 12 deletions.
27 changes: 15 additions & 12 deletions src/librustc_driver/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
}

Expand Down Expand Up @@ -298,7 +301,7 @@ pub fn run_compiler(
}
}

if !callbacks.after_parsing(compiler) {
if callbacks.after_parsing(compiler) == Compilation::Stop {
return sess.compile_status();
}

Expand All @@ -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();
}

Expand Down Expand Up @@ -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();
}

Expand Down

0 comments on commit ff63336

Please sign in to comment.