Skip to content

Commit 0531683

Browse files
refactor: minor updates on pr feedback
1 parent 1cac774 commit 0531683

File tree

1 file changed

+15
-28
lines changed

1 file changed

+15
-28
lines changed

src/formatting.rs

Lines changed: 15 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use std::time::{Duration, Instant};
99

1010
use syntax::ast;
1111
use syntax::errors::emitter::{ColorConfig, Emitter, EmitterWriter};
12-
use syntax::errors::{DiagnosticBuilder, Handler, HandlerFlags};
12+
use syntax::errors::{DiagnosticBuilder, Handler};
1313
use syntax::parse::{self, ParseSess};
1414
use syntax::source_map::{FilePathMapping, SourceMap, Span, DUMMY_SP};
1515

@@ -76,13 +76,13 @@ fn format_project<T: FormatHandler>(
7676
}
7777

7878
// Parse the crate.
79-
let can_reset = Rc::new(RefCell::new(false));
79+
let can_reset_parser_errors = Rc::new(RefCell::new(false));
8080
let source_map = Rc::new(SourceMap::new(FilePathMapping::empty()));
8181
let mut parse_session = make_parse_sess(
8282
source_map.clone(),
8383
config,
84-
ignore_path_set.clone(),
85-
can_reset.clone(),
84+
Rc::clone(&ignore_path_set),
85+
can_reset_parser_errors.clone(),
8686
);
8787
let mut report = FormatReport::new();
8888
let directory_ownership = input.to_directory_ownership();
@@ -92,7 +92,7 @@ fn format_project<T: FormatHandler>(
9292
config,
9393
&mut report,
9494
directory_ownership,
95-
can_reset.clone(),
95+
can_reset_parser_errors.clone(),
9696
) {
9797
Ok(krate) => krate,
9898
// Surface parse error via Session (errors are merged there from report)
@@ -628,7 +628,7 @@ fn parse_crate(
628628
config: &Config,
629629
report: &mut FormatReport,
630630
directory_ownership: Option<parse::DirectoryOwnership>,
631-
parser_error_resetter: Rc<RefCell<bool>>,
631+
can_reset_parser_errors: Rc<RefCell<bool>>,
632632
) -> Result<ast::Crate, ErrorKind> {
633633
let input_is_stdin = input.is_text();
634634

@@ -681,7 +681,7 @@ fn parse_crate(
681681
// occurred in files that are ignored, then reset
682682
// the error count and continue.
683683
// https://github.com/rust-lang/rustfmt/issues/3779
684-
if *parser_error_resetter.borrow() {
684+
if *can_reset_parser_errors.borrow() {
685685
parse_session.span_diagnostic.reset_err_count();
686686
return Ok(c);
687687
}
@@ -705,9 +705,8 @@ struct SilentOnIgnoredFilesEmitter {
705705
ignore_path_set: Rc<IgnorePathSet>,
706706
source_map: Rc<SourceMap>,
707707
emitter: EmitterWriter,
708-
can_reset: bool,
709708
has_non_ignorable_parser_errors: bool,
710-
parser_error_resetter: Rc<RefCell<bool>>,
709+
can_reset: Rc<RefCell<bool>>,
711710
}
712711

713712
impl Emitter for SilentOnIgnoredFilesEmitter {
@@ -720,9 +719,8 @@ impl Emitter for SilentOnIgnoredFilesEmitter {
720719
.ignore_path_set
721720
.is_match(&FileName::Real(path.to_path_buf()))
722721
{
723-
if !self.has_non_ignorable_parser_errors && !self.can_reset {
724-
self.can_reset = true;
725-
*self.parser_error_resetter.borrow_mut() = true;
722+
if !self.has_non_ignorable_parser_errors {
723+
*self.can_reset.borrow_mut() = true;
726724
}
727725
return;
728726
}
@@ -732,10 +730,7 @@ impl Emitter for SilentOnIgnoredFilesEmitter {
732730
}
733731

734732
self.has_non_ignorable_parser_errors = true;
735-
if self.can_reset {
736-
*self.parser_error_resetter.borrow_mut() = false;
737-
}
738-
self.can_reset = false;
733+
*self.can_reset.borrow_mut() = false;
739734
self.emitter.emit_diagnostic(db);
740735
}
741736
}
@@ -755,7 +750,7 @@ fn make_parse_sess(
755750
source_map: Rc<SourceMap>,
756751
config: &Config,
757752
ignore_path_set: Rc<IgnorePathSet>,
758-
parser_error_resetter: Rc<RefCell<bool>>,
753+
can_reset: Rc<RefCell<bool>>,
759754
) -> ParseSess {
760755
let tty_handler = if config.hide_parse_errors() {
761756
let silent_emitter = silent_emitter();
@@ -772,20 +767,12 @@ fn make_parse_sess(
772767
EmitterWriter::stderr(color_cfg, Some(source_map.clone()), false, false, None);
773768
let emitter = Box::new(SilentOnIgnoredFilesEmitter {
774769
has_non_ignorable_parser_errors: false,
775-
can_reset: false,
776770
ignore_path_set: ignore_path_set,
777-
source_map: source_map.clone(),
771+
source_map: Rc::clone(&source_map),
778772
emitter: emitter_writer,
779-
parser_error_resetter,
773+
can_reset,
780774
});
781-
Handler::with_emitter_and_flags(
782-
emitter,
783-
HandlerFlags {
784-
can_emit_warnings: false,
785-
treat_err_as_bug: None,
786-
..Default::default()
787-
},
788-
)
775+
Handler::with_emitter(true, None, emitter)
789776
};
790777

791778
ParseSess::with_span_handler(tty_handler, source_map)

0 commit comments

Comments
 (0)