mirror of
https://github.com/astral-sh/ruff.git
synced 2025-11-03 13:14:34 +00:00
Remove Int wrapper type from parser (#7577)
## Summary This is only used for the `level` field in relative imports (e.g., `from ..foo import bar`). It seems unnecessary to use a wrapper here, so this PR changes to a `u32` directly.
This commit is contained in:
parent
6c3378edb1
commit
4d6f5ff0a7
16 changed files with 75 additions and 101 deletions
|
|
@ -695,7 +695,7 @@ pub(crate) fn statement(stmt: &Stmt, checker: &mut Checker) {
|
|||
},
|
||||
) => {
|
||||
let module = module.as_deref();
|
||||
let level = level.map(|level| level.to_u32());
|
||||
let level = *level;
|
||||
if checker.enabled(Rule::ModuleImportNotAtTopOfFile) {
|
||||
pycodestyle::rules::module_import_not_at_top_of_file(checker, stmt);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -358,7 +358,7 @@ where
|
|||
range: _,
|
||||
}) => {
|
||||
let module = module.as_deref();
|
||||
let level = level.map(|level| level.to_u32());
|
||||
let level = *level;
|
||||
for alias in names {
|
||||
if let Some("__future__") = module {
|
||||
let name = alias.asname.as_ref().unwrap_or(&alias.name);
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ fn extract_import_map(path: &Path, package: Option<&Path>, blocks: &[&Block]) ->
|
|||
level,
|
||||
range: _,
|
||||
}) => {
|
||||
let level = level.map_or(0, |level| level.to_usize());
|
||||
let level = level.unwrap_or_default() as usize;
|
||||
let module = if let Some(module) = module {
|
||||
let module: &String = module.as_ref();
|
||||
if level == 0 {
|
||||
|
|
@ -95,6 +95,7 @@ pub(crate) fn check_imports(
|
|||
tracker.visit_body(python_ast);
|
||||
tracker
|
||||
};
|
||||
|
||||
let blocks: Vec<&Block> = tracker.iter().collect();
|
||||
|
||||
// Enforce import rules.
|
||||
|
|
|
|||
|
|
@ -308,7 +308,7 @@ impl<'a> Importer<'a> {
|
|||
range: _,
|
||||
}) = stmt
|
||||
{
|
||||
if level.map_or(true, |level| level.to_u32() == 0)
|
||||
if level.map_or(true, |level| level == 0)
|
||||
&& name.as_ref().is_some_and(|name| name == module)
|
||||
&& names.iter().all(|alias| alias.name.as_str() != "*")
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
use ruff_python_ast::{self as ast, Identifier, Int, Stmt};
|
||||
use ruff_python_ast::{self as ast, Identifier, Stmt};
|
||||
use ruff_text_size::{Ranged, TextRange};
|
||||
|
||||
use ruff_diagnostics::{AutofixKind, Diagnostic, Edit, Fix, Violation};
|
||||
|
|
@ -99,7 +99,7 @@ fn fix_banned_relative_import(
|
|||
TextRange::default(),
|
||||
)),
|
||||
names: names.clone(),
|
||||
level: Some(Int::new(0)),
|
||||
level: Some(0),
|
||||
range: TextRange::default(),
|
||||
};
|
||||
let content = generator.stmt(&node.into());
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ pub(crate) fn annotate_imports<'a>(
|
|||
AnnotatedImport::ImportFrom {
|
||||
module: module.as_deref(),
|
||||
names: aliases,
|
||||
level: level.map(|level| level.to_u32()),
|
||||
level: *level,
|
||||
trailing_comma: if split_on_trailing_comma {
|
||||
trailing_comma(import, locator, source_type)
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ fn includes_import(stmt: &Stmt, target: &AnyImport) -> bool {
|
|||
return false;
|
||||
};
|
||||
module.as_deref() == target.module
|
||||
&& level.map(|level| level.to_u32()) == target.level
|
||||
&& *level == target.level
|
||||
&& names.iter().any(|alias| {
|
||||
&alias.name == target.name.name
|
||||
&& alias.asname.as_deref() == target.name.as_name
|
||||
|
|
@ -166,7 +166,7 @@ pub(crate) fn add_required_imports(
|
|||
name: name.name.as_str(),
|
||||
as_name: name.asname.as_deref(),
|
||||
},
|
||||
level: level.map(|level| level.to_u32()),
|
||||
level: *level,
|
||||
}),
|
||||
python_ast,
|
||||
locator,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
use ruff_python_ast::{self as ast, Alias, Identifier, Int, Stmt};
|
||||
use ruff_python_ast::{self as ast, Alias, Identifier, Stmt};
|
||||
use ruff_text_size::{Ranged, TextRange};
|
||||
|
||||
use ruff_diagnostics::{AutofixKind, Diagnostic, Edit, Fix, Violation};
|
||||
|
|
@ -80,7 +80,7 @@ pub(crate) fn manual_from_import(
|
|||
asname: None,
|
||||
range: TextRange::default(),
|
||||
}],
|
||||
level: Some(Int::new(0)),
|
||||
level: Some(0),
|
||||
range: TextRange::default(),
|
||||
};
|
||||
diagnostic.set_fix(Fix::automatic(Edit::range_replacement(
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ pub(crate) fn deprecated_c_element_tree(checker: &mut Checker, stmt: &Stmt) {
|
|||
level,
|
||||
range: _,
|
||||
}) => {
|
||||
if level.is_some_and(|level| level.to_u32() > 0) {
|
||||
if level.is_some_and(|level| level > 0) {
|
||||
// Ex) `import .xml.etree.cElementTree as ET`
|
||||
} else if let Some(module) = module {
|
||||
if module == "xml.etree.cElementTree" {
|
||||
|
|
|
|||
|
|
@ -323,7 +323,7 @@ pub(crate) fn deprecated_mock_import(checker: &mut Checker, stmt: &Stmt) {
|
|||
level,
|
||||
..
|
||||
}) => {
|
||||
if level.is_some_and(|level| level.to_u32() > 0) {
|
||||
if level.is_some_and(|level| level > 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue