mirror of
https://github.com/astral-sh/ruff.git
synced 2025-10-01 06:11:21 +00:00
Use Importer
available on Checker
(#11513)
## Summary This PR updates the `FA102` rule logic to use the `Importer` which is available on the `Checker`. The main motivation is that this would make updating the `Importer` to use the `Tokens` struct which will be required to remove the `lex_starts_at` usage in `Insertion::start_of_block` method. ## Test Plan `cargo insta test`
This commit is contained in:
parent
550aa871d3
commit
102b9d930f
1 changed files with 6 additions and 9 deletions
|
@ -7,7 +7,6 @@ use ruff_python_ast::Expr;
|
||||||
use ruff_text_size::{Ranged, TextSize};
|
use ruff_text_size::{Ranged, TextSize};
|
||||||
|
|
||||||
use crate::checkers::ast::Checker;
|
use crate::checkers::ast::Checker;
|
||||||
use crate::importer::Importer;
|
|
||||||
|
|
||||||
/// ## What it does
|
/// ## What it does
|
||||||
/// Checks for uses of PEP 585- and PEP 604-style type annotations in Python
|
/// Checks for uses of PEP 585- and PEP 604-style type annotations in Python
|
||||||
|
@ -87,13 +86,11 @@ impl AlwaysFixableViolation for FutureRequiredTypeAnnotation {
|
||||||
/// FA102
|
/// FA102
|
||||||
pub(crate) fn future_required_type_annotation(checker: &mut Checker, expr: &Expr, reason: Reason) {
|
pub(crate) fn future_required_type_annotation(checker: &mut Checker, expr: &Expr, reason: Reason) {
|
||||||
let mut diagnostic = Diagnostic::new(FutureRequiredTypeAnnotation { reason }, expr.range());
|
let mut diagnostic = Diagnostic::new(FutureRequiredTypeAnnotation { reason }, expr.range());
|
||||||
if let Some(python_ast) = checker.semantic().definitions.python_ast() {
|
let required_import = AnyImport::ImportFrom(ImportFrom::member("__future__", "annotations"));
|
||||||
let required_import =
|
diagnostic.set_fix(Fix::unsafe_edit(
|
||||||
AnyImport::ImportFrom(ImportFrom::member("__future__", "annotations"));
|
checker
|
||||||
diagnostic.set_fix(Fix::unsafe_edit(
|
.importer()
|
||||||
Importer::new(python_ast, checker.locator(), checker.stylist())
|
.add_import(&required_import, TextSize::default()),
|
||||||
.add_import(&required_import, TextSize::default()),
|
));
|
||||||
));
|
|
||||||
}
|
|
||||||
checker.diagnostics.push(diagnostic);
|
checker.diagnostics.push(diagnostic);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue