Skip to content

Commit b582792

Browse files
committed
simplify a bit
1 parent 436cad2 commit b582792

1 file changed

Lines changed: 12 additions & 20 deletions

File tree

crates/ruff_linter/src/rules/pylint/rules/import_private_name.rs

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ use std::borrow::Cow;
33
use itertools::Itertools;
44

55
use ruff_macros::{ViolationMetadata, derive_message_formats};
6-
use ruff_python_ast::{helpers::is_dunder, name::QualifiedName};
6+
use ruff_python_ast::{self as ast, helpers::is_dunder, name::QualifiedName};
77
use ruff_python_semantic::{FromImport, Import, Imported, ResolvedReference, Scope};
8-
use ruff_text_size::Ranged;
8+
use ruff_text_size::{Ranged, TextLen, TextRange, TextSize};
99

1010
use crate::Violation;
1111
use crate::checkers::ast::Checker;
@@ -138,26 +138,18 @@ pub(crate) fn import_private_name(checker: &Checker, scope: &Scope) {
138138
None
139139
};
140140
let range = match binding.source.map(|id| checker.semantic().statement(id)) {
141-
Some(ruff_python_ast::Stmt::ImportFrom(import_from)) => {
141+
Some(ast::Stmt::ImportFrom(ast::StmtImportFrom { module, names, .. })) => {
142142
if index < import_info.module_name.len() {
143-
import_from
144-
.module
145-
.as_ref()
146-
.map_or(binding.range(), |module| {
147-
let start = module.start();
148-
let offset: usize = import_info.qualified_name.segments()[..index]
149-
.iter()
150-
.map(|segment| segment.len() + 1)
151-
.sum();
152-
153-
ruff_text_size::TextRange::at(
154-
start + ruff_text_size::TextSize::try_from(offset).unwrap(),
155-
ruff_text_size::TextSize::try_from(private_name.len()).unwrap(),
156-
)
157-
})
143+
module.as_ref().map_or(binding.range(), |module| {
144+
let offset: TextSize = import_info.qualified_name.segments()[..index]
145+
.iter()
146+
.map(|segment| segment.text_len() + TextSize::new(1))
147+
.sum();
148+
149+
TextRange::at(module.start() + offset, private_name.text_len())
150+
})
158151
} else {
159-
import_from
160-
.names
152+
names
161153
.iter()
162154
.find(|alias| alias.name.as_str() == import_info.member_name)
163155
.map_or(binding.range(), |alias| alias.name.range())

0 commit comments

Comments
 (0)