From 7dd7c0ff0a24a82efd49ea2cb24deb13ddde0d16 Mon Sep 17 00:00:00 2001 From: Mark Rousskov Date: Fri, 21 Jun 2019 13:16:41 -0400 Subject: [PATCH] Skip querying each ignore directive if none in file --- src/tools/tidy/src/style.rs | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/tools/tidy/src/style.rs b/src/tools/tidy/src/style.rs index d994f60b2bb4..4a159d926b7c 100644 --- a/src/tools/tidy/src/style.rs +++ b/src/tools/tidy/src/style.rs @@ -107,7 +107,11 @@ enum Directive { Ignore(bool), } -fn contains_ignore_directive(contents: &str, check: &str) -> Directive { +fn contains_ignore_directive(can_contain: bool, contents: &str, check: &str) -> Directive { + if !can_contain { + return Directive::Deny; + } + // Update `can_contain` when changing this if contents.contains(&format!("// ignore-tidy-{}", check)) || contents.contains(&format!("# ignore-tidy-{}", check)) { Directive::Ignore(false) @@ -140,12 +144,15 @@ pub fn check(path: &Path, bad: &mut bool) { tidy_error!(bad, "{}: empty file", file.display()); } - let mut skip_cr = contains_ignore_directive(&contents, "cr"); - let mut skip_tab = contains_ignore_directive(&contents, "tab"); - let mut skip_line_length = contains_ignore_directive(&contents, "linelength"); - let mut skip_file_length = contains_ignore_directive(&contents, "filelength"); - let mut skip_end_whitespace = contains_ignore_directive(&contents, "end-whitespace"); - let mut skip_copyright = contains_ignore_directive(&contents, "copyright"); + let can_contain = contents.contains("// ignore-tidy-") || + contents.contains("# ignore-tidy-"); + let mut skip_cr = contains_ignore_directive(can_contain, &contents, "cr"); + let mut skip_tab = contains_ignore_directive(can_contain, &contents, "tab"); + let mut skip_line_length = contains_ignore_directive(can_contain, &contents, "linelength"); + let mut skip_file_length = contains_ignore_directive(can_contain, &contents, "filelength"); + let mut skip_end_whitespace = + contains_ignore_directive(can_contain, &contents, "end-whitespace"); + let mut skip_copyright = contains_ignore_directive(can_contain, &contents, "copyright"); let mut leading_new_lines = false; let mut trailing_new_lines = 0; let mut lines = 0;