Replace ParseSess::set_dcx with DiagCtxt::set_emitter
Replacing the error emitter doesn't accidentally clear the error count.
This commit is contained in:
parent
c70d1afe80
commit
65daf3b01a
|
|
@ -10,6 +10,8 @@ extern crate rustc_interface;
|
||||||
extern crate rustc_session;
|
extern crate rustc_session;
|
||||||
extern crate rustc_span;
|
extern crate rustc_span;
|
||||||
|
|
||||||
|
use std::sync::{Arc, Mutex};
|
||||||
|
|
||||||
use rustc_errors::emitter::Emitter;
|
use rustc_errors::emitter::Emitter;
|
||||||
use rustc_errors::registry::{self, Registry};
|
use rustc_errors::registry::{self, Registry};
|
||||||
use rustc_errors::translation::Translate;
|
use rustc_errors::translation::Translate;
|
||||||
|
|
@ -17,8 +19,6 @@ use rustc_errors::{DiagCtxt, DiagInner, FluentBundle};
|
||||||
use rustc_session::config;
|
use rustc_session::config;
|
||||||
use rustc_span::source_map::SourceMap;
|
use rustc_span::source_map::SourceMap;
|
||||||
|
|
||||||
use std::sync::{Arc, Mutex};
|
|
||||||
|
|
||||||
struct DebugEmitter {
|
struct DebugEmitter {
|
||||||
source_map: Arc<SourceMap>,
|
source_map: Arc<SourceMap>,
|
||||||
diagnostics: Arc<Mutex<Vec<DiagInner>>>,
|
diagnostics: Arc<Mutex<Vec<DiagInner>>>,
|
||||||
|
|
@ -67,10 +67,10 @@ fn main() {
|
||||||
locale_resources: rustc_driver::DEFAULT_LOCALE_RESOURCES.to_owned(),
|
locale_resources: rustc_driver::DEFAULT_LOCALE_RESOURCES.to_owned(),
|
||||||
lint_caps: rustc_hash::FxHashMap::default(),
|
lint_caps: rustc_hash::FxHashMap::default(),
|
||||||
psess_created: Some(Box::new(|parse_sess| {
|
psess_created: Some(Box::new(|parse_sess| {
|
||||||
parse_sess.set_dcx(DiagCtxt::new(Box::new(DebugEmitter {
|
parse_sess.dcx().set_emitter(Box::new(DebugEmitter {
|
||||||
source_map: parse_sess.clone_source_map(),
|
source_map: parse_sess.clone_source_map(),
|
||||||
diagnostics,
|
diagnostics,
|
||||||
})));
|
}));
|
||||||
})),
|
})),
|
||||||
register_lints: None,
|
register_lints: None,
|
||||||
override_queries: None,
|
override_queries: None,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue