From 186c2540325aca9c47883eb3cb258b6ee765c43e Mon Sep 17 00:00:00 2001 From: clavedeluna Date: Tue, 13 Aug 2024 09:46:25 -0300 Subject: [PATCH] optimize --- src/codemodder/codemods/regex_transformer.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/codemodder/codemods/regex_transformer.py b/src/codemodder/codemods/regex_transformer.py index 0729a5ca..0db752fd 100644 --- a/src/codemodder/codemods/regex_transformer.py +++ b/src/codemodder/codemods/regex_transformer.py @@ -77,12 +77,8 @@ def apply( class SastRegexTransformerPipeline(RegexTransformerPipeline): - def line_matches_result(self, lineno, results) -> bool: - for result in results or []: - for location in result.locations: - if location.start.line == lineno: - return True - return False + def line_matches_result(self, lineno: int, result_linenums: list[int]) -> bool: + return lineno in result_linenums def report_unfixed(self, file_context: FileContext, line_number: int, reason: str): findings = file_context.get_findings_for_location(line_number) @@ -94,8 +90,11 @@ def _apply(self, original_lines, file_context, results): if results is not None and not results: changes, updated_lines + result_linenums = [ + location.start.line for result in results for location in result.locations + ] for lineno, line in enumerate(original_lines): - if self.line_matches_result(one_idx_lineno := lineno + 1, results): + if self.line_matches_result(one_idx_lineno := lineno + 1, result_linenums): changed_line = self._apply_regex(line) updated_lines.append(changed_line) if line == changed_line: