config: &Config,
handler: &mut T,
) -> Result<FormatReport, ErrorKind> {
- let mut timer = Timer::Initialized(Instant::now());
+ let mut timer = Timer::start();
let main_file = input.file_name();
let input_is_stdin = main_file == FileName::Stdin;
if visitor.macro_rewrite_failure {
self.report.add_macro_format_failure();
}
+ self.report
+ .add_non_formatted_ranges(visitor.skipped_range.clone());
self.handler
.handle_formatted_file(path, visitor.buffer.to_owned(), &mut self.report)
fl.file
.get_line(fl.lines[0].line_index)
.map(|l| l.into_owned())
- }).unwrap_or_else(String::new),
+ })
+ .unwrap_or_else(String::new),
}
}
ErrorKind::LineOverflow(found, max) => (max, found - max),
ErrorKind::TrailingWhitespace
| ErrorKind::DeprecatedAttr
+ | ErrorKind::BadIssue(_)
| ErrorKind::BadAttr
| ErrorKind::LostComment => {
let trailing_ws_start = self
#[derive(Clone, Copy, Debug)]
enum Timer {
+ Disabled,
Initialized(Instant),
DoneParsing(Instant, Instant),
DoneFormatting(Instant, Instant, Instant),
}
impl Timer {
+ fn start() -> Timer {
+ if cfg!(target_arch = "wasm32") {
+ Timer::Disabled
+ } else {
+ Timer::Initialized(Instant::now())
+ }
+ }
fn done_parsing(self) -> Self {
match self {
+ Timer::Disabled => Timer::Disabled,
Timer::Initialized(init_time) => Timer::DoneParsing(init_time, Instant::now()),
_ => panic!("Timer can only transition to DoneParsing from Initialized state"),
}
fn done_formatting(self) -> Self {
match self {
+ Timer::Disabled => Timer::Disabled,
Timer::DoneParsing(init_time, parse_time) => {
Timer::DoneFormatting(init_time, parse_time, Instant::now())
}
/// Returns the time it took to parse the source files in seconds.
fn get_parse_time(&self) -> f32 {
match *self {
+ Timer::Disabled => panic!("this platform cannot time execution"),
Timer::DoneParsing(init, parse_time) | Timer::DoneFormatting(init, parse_time, _) => {
// This should never underflow since `Instant::now()` guarantees monotonicity.
Self::duration_to_f32(parse_time.duration_since(init))
/// not included.
fn get_format_time(&self) -> f32 {
match *self {
+ Timer::Disabled => panic!("this platform cannot time execution"),
Timer::DoneFormatting(_init, parse_time, format_time) => {
Self::duration_to_f32(format_time.duration_since(parse_time))
}
&& !self.is_skipped_line()
&& self.should_report_error(kind, &error_kind)
{
- self.push_err(error_kind, kind.is_comment(), self.is_string);
+ let is_string = self.is_string;
+ self.push_err(error_kind, kind.is_comment(), is_string);
}
}