diff --git a/crates/ruff/src/autofix/helpers.rs b/crates/ruff/src/autofix/actions.rs similarity index 99% rename from crates/ruff/src/autofix/helpers.rs rename to crates/ruff/src/autofix/actions.rs index 020b86893f..a1795597f4 100644 --- a/crates/ruff/src/autofix/helpers.rs +++ b/crates/ruff/src/autofix/actions.rs @@ -1,3 +1,4 @@ +//! Interface for generating autofix edits from higher-level actions (e.g., "remove an argument"). use anyhow::{bail, Result}; use itertools::Itertools; use libcst_native::{ @@ -531,7 +532,7 @@ mod tests { use ruff_python_ast::source_code::Locator; - use crate::autofix::helpers::{next_stmt_break, trailing_semicolon}; + use crate::autofix::actions::{next_stmt_break, trailing_semicolon}; #[test] fn find_semicolon() -> Result<()> { diff --git a/crates/ruff/src/autofix/mod.rs b/crates/ruff/src/autofix/mod.rs index f86daf7fc0..9444783e6e 100644 --- a/crates/ruff/src/autofix/mod.rs +++ b/crates/ruff/src/autofix/mod.rs @@ -11,7 +11,7 @@ use ruff_python_ast::types::Range; use crate::linter::FixTable; use crate::registry::{AsRule, Rule}; -pub mod helpers; +pub mod actions; /// Auto-fix errors in a file, and write the fixed source code to disk. pub fn fix_file(diagnostics: &[Diagnostic], locator: &Locator) -> Option<(String, FixTable)> { diff --git a/crates/ruff/src/checkers/ast/mod.rs b/crates/ruff/src/checkers/ast/mod.rs index 3ccbeeb0ce..010d1e587c 100644 --- a/crates/ruff/src/checkers/ast/mod.rs +++ b/crates/ruff/src/checkers/ast/mod.rs @@ -5066,7 +5066,7 @@ impl<'a> Checker<'a> { let fix = if !in_init && !in_except_handler && self.patch(Rule::UnusedImport) { let deleted: Vec<&Stmt> = self.deletions.iter().map(Into::into).collect(); - match autofix::helpers::remove_unused_imports( + match autofix::actions::remove_unused_imports( unused_imports.iter().map(|(full_name, _)| *full_name), child, parent, diff --git a/crates/ruff/src/rules/flake8_pie/rules.rs b/crates/ruff/src/rules/flake8_pie/rules.rs index 529cd318f9..513b9d8eb5 100644 --- a/crates/ruff/src/rules/flake8_pie/rules.rs +++ b/crates/ruff/src/rules/flake8_pie/rules.rs @@ -16,7 +16,7 @@ use ruff_python_ast::helpers::{any_over_expr, create_expr, match_trailing_commen use ruff_python_ast::types::{Range, RefEquality}; use ruff_python_stdlib::identifiers::is_identifier; -use crate::autofix::helpers::delete_stmt; +use crate::autofix::actions::delete_stmt; use crate::checkers::ast::Checker; use crate::message::Location; use crate::registry::AsRule; diff --git a/crates/ruff/src/rules/flake8_pyi/rules/pass_in_class_body.rs b/crates/ruff/src/rules/flake8_pyi/rules/pass_in_class_body.rs index 6123a72ec0..ba00981f38 100644 --- a/crates/ruff/src/rules/flake8_pyi/rules/pass_in_class_body.rs +++ b/crates/ruff/src/rules/flake8_pyi/rules/pass_in_class_body.rs @@ -1,4 +1,4 @@ -use crate::autofix::helpers::delete_stmt; +use crate::autofix::actions::delete_stmt; use log::error; use ruff_diagnostics::{AlwaysAutofixableViolation, Diagnostic}; use ruff_macros::{derive_message_formats, violation}; diff --git a/crates/ruff/src/rules/flake8_pytest_style/rules/fixture.rs b/crates/ruff/src/rules/flake8_pytest_style/rules/fixture.rs index 138906eec1..b4a2615d5e 100644 --- a/crates/ruff/src/rules/flake8_pytest_style/rules/fixture.rs +++ b/crates/ruff/src/rules/flake8_pytest_style/rules/fixture.rs @@ -11,7 +11,7 @@ use ruff_python_ast::types::Range; use ruff_python_ast::visitor; use ruff_python_ast::visitor::Visitor; -use crate::autofix::helpers::remove_argument; +use crate::autofix::actions::remove_argument; use crate::checkers::ast::Checker; use crate::registry::{AsRule, Rule}; diff --git a/crates/ruff/src/rules/flake8_type_checking/rules/empty_type_checking_block.rs b/crates/ruff/src/rules/flake8_type_checking/rules/empty_type_checking_block.rs index 2a76676505..f27c9afacd 100644 --- a/crates/ruff/src/rules/flake8_type_checking/rules/empty_type_checking_block.rs +++ b/crates/ruff/src/rules/flake8_type_checking/rules/empty_type_checking_block.rs @@ -5,7 +5,7 @@ use ruff_diagnostics::{AlwaysAutofixableViolation, Diagnostic}; use ruff_macros::{derive_message_formats, violation}; use ruff_python_ast::types::{Range, RefEquality}; -use crate::autofix::helpers::delete_stmt; +use crate::autofix::actions::delete_stmt; use crate::checkers::ast::Checker; use crate::registry::AsRule; diff --git a/crates/ruff/src/rules/pandas_vet/fixes.rs b/crates/ruff/src/rules/pandas_vet/fixes.rs index 437c5de674..4b610093fd 100644 --- a/crates/ruff/src/rules/pandas_vet/fixes.rs +++ b/crates/ruff/src/rules/pandas_vet/fixes.rs @@ -3,7 +3,7 @@ use rustpython_parser::ast::{Expr, ExprKind, Keyword, Location}; use ruff_diagnostics::{Edit, Fix}; use ruff_python_ast::source_code::Locator; -use crate::autofix::helpers::remove_argument; +use crate::autofix::actions::remove_argument; fn match_name(expr: &Expr) -> Option<&str> { if let ExprKind::Call { func, .. } = &expr.node { diff --git a/crates/ruff/src/rules/pyflakes/rules/unused_variable.rs b/crates/ruff/src/rules/pyflakes/rules/unused_variable.rs index efbb12cf20..b9e5bff4cd 100644 --- a/crates/ruff/src/rules/pyflakes/rules/unused_variable.rs +++ b/crates/ruff/src/rules/pyflakes/rules/unused_variable.rs @@ -10,7 +10,7 @@ use ruff_python_ast::scope::{ScopeId, ScopeKind}; use ruff_python_ast::source_code::Locator; use ruff_python_ast::types::{Range, RefEquality}; -use crate::autofix::helpers::delete_stmt; +use crate::autofix::actions::delete_stmt; use crate::checkers::ast::Checker; use crate::registry::AsRule; diff --git a/crates/ruff/src/rules/pylint/rules/sys_exit_alias.rs b/crates/ruff/src/rules/pylint/rules/sys_exit_alias.rs index b0db6067a4..a724af3382 100644 --- a/crates/ruff/src/rules/pylint/rules/sys_exit_alias.rs +++ b/crates/ruff/src/rules/pylint/rules/sys_exit_alias.rs @@ -4,7 +4,7 @@ use ruff_diagnostics::{AutofixKind, Diagnostic, Edit, Fix, Violation}; use ruff_macros::{derive_message_formats, violation}; use ruff_python_ast::types::Range; -use crate::autofix::helpers::get_or_import_symbol; +use crate::autofix::actions::get_or_import_symbol; use crate::checkers::ast::Checker; use crate::registry::AsRule; diff --git a/crates/ruff/src/rules/pylint/rules/useless_return.rs b/crates/ruff/src/rules/pylint/rules/useless_return.rs index c495bfab42..f6e4641d0f 100644 --- a/crates/ruff/src/rules/pylint/rules/useless_return.rs +++ b/crates/ruff/src/rules/pylint/rules/useless_return.rs @@ -7,7 +7,7 @@ use ruff_python_ast::helpers::{is_const_none, ReturnStatementVisitor}; use ruff_python_ast::types::{Range, RefEquality}; use ruff_python_ast::visitor::Visitor; -use crate::autofix::helpers::delete_stmt; +use crate::autofix::actions::delete_stmt; use crate::checkers::ast::Checker; use crate::registry::AsRule; diff --git a/crates/ruff/src/rules/pyupgrade/rules/lru_cache_with_maxsize_none.rs b/crates/ruff/src/rules/pyupgrade/rules/lru_cache_with_maxsize_none.rs index db512c3c53..793814ef86 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/lru_cache_with_maxsize_none.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/lru_cache_with_maxsize_none.rs @@ -4,7 +4,7 @@ use ruff_diagnostics::{AlwaysAutofixableViolation, Diagnostic, Edit, Fix}; use ruff_macros::{derive_message_formats, violation}; use ruff_python_ast::types::Range; -use crate::autofix::helpers::get_or_import_symbol; +use crate::autofix::actions::get_or_import_symbol; use crate::checkers::ast::Checker; use crate::registry::AsRule; diff --git a/crates/ruff/src/rules/pyupgrade/rules/outdated_version_block.rs b/crates/ruff/src/rules/pyupgrade/rules/outdated_version_block.rs index 54ca96787e..691346577c 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/outdated_version_block.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/outdated_version_block.rs @@ -11,7 +11,7 @@ use ruff_python_ast::source_code::Locator; use ruff_python_ast::types::{Range, RefEquality}; use ruff_python_ast::whitespace::indentation; -use crate::autofix::helpers::delete_stmt; +use crate::autofix::actions::delete_stmt; use crate::checkers::ast::Checker; use crate::registry::AsRule; use crate::rules::pyupgrade::fixes::adjust_indentation; diff --git a/crates/ruff/src/rules/pyupgrade/rules/replace_stdout_stderr.rs b/crates/ruff/src/rules/pyupgrade/rules/replace_stdout_stderr.rs index cc7dbec4a3..35e8062905 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/replace_stdout_stderr.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/replace_stdout_stderr.rs @@ -7,7 +7,7 @@ use ruff_python_ast::helpers::find_keyword; use ruff_python_ast::source_code::Locator; use ruff_python_ast::types::Range; -use crate::autofix::helpers::remove_argument; +use crate::autofix::actions::remove_argument; use crate::checkers::ast::Checker; use crate::registry::AsRule; diff --git a/crates/ruff/src/rules/pyupgrade/rules/unnecessary_builtin_import.rs b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_builtin_import.rs index 3b7af8f0b0..dd14480bb0 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/unnecessary_builtin_import.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_builtin_import.rs @@ -112,7 +112,7 @@ pub fn unnecessary_builtin_import( .iter() .map(|alias| format!("{module}.{}", alias.node.name)) .collect(); - match autofix::helpers::remove_unused_imports( + match autofix::actions::remove_unused_imports( unused_imports.iter().map(String::as_str), defined_by.into(), defined_in.map(Into::into), diff --git a/crates/ruff/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs index 417d0ac0a8..2fd43e201a 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_encode_utf8.rs @@ -6,7 +6,7 @@ use ruff_macros::{derive_message_formats, violation}; use ruff_python_ast::source_code::Locator; use ruff_python_ast::types::Range; -use crate::autofix::helpers::remove_argument; +use crate::autofix::actions::remove_argument; use crate::checkers::ast::Checker; use crate::registry::Rule; diff --git a/crates/ruff/src/rules/pyupgrade/rules/unnecessary_future_import.rs b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_future_import.rs index 6bea7e6d05..e6aca1e7a3 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/unnecessary_future_import.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/unnecessary_future_import.rs @@ -92,7 +92,7 @@ pub fn unnecessary_future_import(checker: &mut Checker, stmt: &Stmt, names: &[Lo .iter() .map(|alias| format!("__future__.{}", alias.node.name)) .collect(); - match autofix::helpers::remove_unused_imports( + match autofix::actions::remove_unused_imports( unused_imports.iter().map(String::as_str), defined_by.into(), defined_in.map(Into::into), diff --git a/crates/ruff/src/rules/pyupgrade/rules/useless_metaclass_type.rs b/crates/ruff/src/rules/pyupgrade/rules/useless_metaclass_type.rs index 172333a826..a16bd0e24c 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/useless_metaclass_type.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/useless_metaclass_type.rs @@ -5,7 +5,7 @@ use ruff_diagnostics::{AlwaysAutofixableViolation, Diagnostic}; use ruff_macros::{derive_message_formats, violation}; use ruff_python_ast::types::Range; -use crate::autofix::helpers; +use crate::autofix::actions; use crate::checkers::ast::Checker; use crate::registry::AsRule; @@ -52,7 +52,7 @@ pub fn useless_metaclass_type(checker: &mut Checker, stmt: &Stmt, value: &Expr, let deleted: Vec<&Stmt> = checker.deletions.iter().map(Into::into).collect(); let defined_by = checker.ctx.current_stmt(); let defined_in = checker.ctx.current_stmt_parent(); - match helpers::delete_stmt( + match actions::delete_stmt( defined_by.into(), defined_in.map(Into::into), &deleted, diff --git a/crates/ruff/src/rules/pyupgrade/rules/useless_object_inheritance.rs b/crates/ruff/src/rules/pyupgrade/rules/useless_object_inheritance.rs index cdd37811e6..48d5202c8c 100644 --- a/crates/ruff/src/rules/pyupgrade/rules/useless_object_inheritance.rs +++ b/crates/ruff/src/rules/pyupgrade/rules/useless_object_inheritance.rs @@ -6,7 +6,7 @@ use ruff_python_ast::binding::{Binding, BindingKind, Bindings}; use ruff_python_ast::scope::Scope; use ruff_python_ast::types::Range; -use crate::autofix::helpers::remove_argument; +use crate::autofix::actions::remove_argument; use crate::checkers::ast::Checker; use crate::registry::AsRule;