[ty] Remove `all_` prefix from some routines on UseDefMap

These routines don't return *all* symbols/members, but rather,
only *for* a particular scope. We do specifically want to add
some routines that return *all* symbols/members, and this naming
scheme made that confusing. It was also inconsistent with other
routines like `all_end_of_scope_symbol_declarations` which *do*
return *all* symbols.
This commit is contained in:
Andrew Gallant 2025-12-09 13:37:48 -05:00
parent f7528bd325
commit 2ea03973f4
No known key found for this signature in database
GPG Key ID: 5518C8B38E0693E0
8 changed files with 28 additions and 31 deletions

View File

@ -783,7 +783,7 @@ pub(crate) fn place_by_id<'db>(
let declarations = match considered_definitions {
ConsideredDefinitions::EndOfScope => use_def.end_of_scope_declarations(place_id),
ConsideredDefinitions::AllReachable => use_def.all_reachable_declarations(place_id),
ConsideredDefinitions::AllReachable => use_def.reachable_declarations(place_id),
};
let declared = place_from_declarations_impl(db, declarations, requires_explicit_reexport)
@ -791,7 +791,7 @@ pub(crate) fn place_by_id<'db>(
let all_considered_bindings = || match considered_definitions {
ConsideredDefinitions::EndOfScope => use_def.end_of_scope_bindings(place_id),
ConsideredDefinitions::AllReachable => use_def.all_reachable_bindings(place_id),
ConsideredDefinitions::AllReachable => use_def.reachable_bindings(place_id),
};
// If a symbol is undeclared, but qualified with `typing.Final`, we use the right-hand side

View File

@ -113,10 +113,7 @@ pub(crate) fn attribute_assignments<'db, 's>(
let place_table = index.place_table(function_scope_id);
let member = place_table.member_id_by_instance_attribute_name(name)?;
let use_def = &index.use_def_maps[function_scope_id];
Some((
use_def.all_reachable_member_bindings(member),
function_scope_id,
))
Some((use_def.reachable_member_bindings(member), function_scope_id))
})
}
@ -138,7 +135,7 @@ pub(crate) fn attribute_declarations<'db, 's>(
let member = place_table.member_id_by_instance_attribute_name(name)?;
let use_def = &index.use_def_maps[function_scope_id];
Some((
use_def.all_reachable_member_declarations(member),
use_def.reachable_member_declarations(member),
function_scope_id,
))
})

View File

@ -453,17 +453,17 @@ impl<'db> UseDefMap<'db> {
)
}
pub(crate) fn all_reachable_bindings(
pub(crate) fn reachable_bindings(
&self,
place: ScopedPlaceId,
) -> BindingWithConstraintsIterator<'_, 'db> {
match place {
ScopedPlaceId::Symbol(symbol) => self.all_reachable_symbol_bindings(symbol),
ScopedPlaceId::Member(member) => self.all_reachable_member_bindings(member),
ScopedPlaceId::Symbol(symbol) => self.reachable_symbol_bindings(symbol),
ScopedPlaceId::Member(member) => self.reachable_member_bindings(member),
}
}
pub(crate) fn all_reachable_symbol_bindings(
pub(crate) fn reachable_symbol_bindings(
&self,
symbol: ScopedSymbolId,
) -> BindingWithConstraintsIterator<'_, 'db> {
@ -471,7 +471,7 @@ impl<'db> UseDefMap<'db> {
self.bindings_iterator(bindings, BoundnessAnalysis::AssumeBound)
}
pub(crate) fn all_reachable_member_bindings(
pub(crate) fn reachable_member_bindings(
&self,
symbol: ScopedMemberId,
) -> BindingWithConstraintsIterator<'_, 'db> {
@ -547,7 +547,7 @@ impl<'db> UseDefMap<'db> {
self.declarations_iterator(declarations, BoundnessAnalysis::BasedOnUnboundVisibility)
}
pub(crate) fn all_reachable_symbol_declarations(
pub(crate) fn reachable_symbol_declarations(
&self,
symbol: ScopedSymbolId,
) -> DeclarationsIterator<'_, 'db> {
@ -555,7 +555,7 @@ impl<'db> UseDefMap<'db> {
self.declarations_iterator(declarations, BoundnessAnalysis::AssumeBound)
}
pub(crate) fn all_reachable_member_declarations(
pub(crate) fn reachable_member_declarations(
&self,
member: ScopedMemberId,
) -> DeclarationsIterator<'_, 'db> {
@ -563,13 +563,13 @@ impl<'db> UseDefMap<'db> {
self.declarations_iterator(declarations, BoundnessAnalysis::AssumeBound)
}
pub(crate) fn all_reachable_declarations(
pub(crate) fn reachable_declarations(
&self,
place: ScopedPlaceId,
) -> DeclarationsIterator<'_, 'db> {
match place {
ScopedPlaceId::Symbol(symbol) => self.all_reachable_symbol_declarations(symbol),
ScopedPlaceId::Member(member) => self.all_reachable_member_declarations(member),
ScopedPlaceId::Symbol(symbol) => self.reachable_symbol_declarations(symbol),
ScopedPlaceId::Member(member) => self.reachable_member_declarations(member),
}
}

View File

@ -3446,7 +3446,7 @@ impl<'db> ClassLiteral<'db> {
.symbol_id(&method_def.node(&module).name)
.unwrap();
class_map
.all_reachable_symbol_bindings(method_place)
.reachable_symbol_bindings(method_place)
.find_map(|bind| {
(bind.binding.is_defined_and(|def| def == method))
.then(|| class_map.binding_reachability(db, &bind))

View File

@ -76,7 +76,7 @@ pub(crate) fn enum_metadata<'db>(
let mut auto_counter = 0;
let ignored_names: Option<Vec<&str>> = if let Some(ignore) = table.symbol_id("_ignore_") {
let ignore_bindings = use_def_map.all_reachable_symbol_bindings(ignore);
let ignore_bindings = use_def_map.reachable_symbol_bindings(ignore);
let ignore_place = place_from_bindings(db, ignore_bindings).place;
match ignore_place {

View File

@ -86,9 +86,9 @@ pub fn definitions_for_name<'db>(
if let Some(global_symbol_id) = global_place_table.symbol_id(name_str) {
let global_use_def_map = crate::semantic_index::use_def_map(db, global_scope_id);
let global_bindings =
global_use_def_map.all_reachable_symbol_bindings(global_symbol_id);
global_use_def_map.reachable_symbol_bindings(global_symbol_id);
let global_declarations =
global_use_def_map.all_reachable_symbol_declarations(global_symbol_id);
global_use_def_map.reachable_symbol_declarations(global_symbol_id);
for binding in global_bindings {
if let Some(def) = binding.binding.definition() {
@ -114,8 +114,8 @@ pub fn definitions_for_name<'db>(
let use_def_map = index.use_def_map(scope_id);
// Get all definitions (both bindings and declarations) for this place
let bindings = use_def_map.all_reachable_symbol_bindings(symbol_id);
let declarations = use_def_map.all_reachable_symbol_declarations(symbol_id);
let bindings = use_def_map.reachable_symbol_bindings(symbol_id);
let declarations = use_def_map.reachable_symbol_declarations(symbol_id);
for binding in bindings {
if let Some(def) = binding.binding.definition() {
@ -294,7 +294,7 @@ pub fn definitions_for_attribute<'db>(
let use_def = use_def_map(db, class_scope);
// Check declarations first
for decl in use_def.all_reachable_symbol_declarations(place_id) {
for decl in use_def.reachable_symbol_declarations(place_id) {
if let Some(def) = decl.declaration.definition() {
resolved.extend(resolve_definition(
db,
@ -307,7 +307,7 @@ pub fn definitions_for_attribute<'db>(
}
// If no declarations found, check bindings
for binding in use_def.all_reachable_symbol_bindings(place_id) {
for binding in use_def.reachable_symbol_bindings(place_id) {
if let Some(def) = binding.binding.definition() {
resolved.extend(resolve_definition(
db,
@ -332,7 +332,7 @@ pub fn definitions_for_attribute<'db>(
let use_def = index.use_def_map(function_scope_id);
// Check declarations first
for decl in use_def.all_reachable_member_declarations(place_id) {
for decl in use_def.reachable_member_declarations(place_id) {
if let Some(def) = decl.declaration.definition() {
resolved.extend(resolve_definition(
db,
@ -345,7 +345,7 @@ pub fn definitions_for_attribute<'db>(
}
// If no declarations found, check bindings
for binding in use_def.all_reachable_member_bindings(place_id) {
for binding in use_def.reachable_member_bindings(place_id) {
if let Some(def) = binding.binding.definition() {
resolved.extend(resolve_definition(
db,
@ -1096,8 +1096,8 @@ mod resolve_definition {
let mut definitions = IndexSet::new();
// Get all definitions (both bindings and declarations) for this place
let bindings = use_def_map.all_reachable_symbol_bindings(symbol_id);
let declarations = use_def_map.all_reachable_symbol_declarations(symbol_id);
let bindings = use_def_map.reachable_symbol_bindings(symbol_id);
let declarations = use_def_map.reachable_symbol_declarations(symbol_id);
for binding in bindings {
if let Some(def) = binding.binding.definition() {

View File

@ -8894,7 +8894,7 @@ impl<'db, 'ast> TypeInferenceBuilder<'db, 'ast> {
// If we're inferring types of deferred expressions, look them up from end-of-scope.
if self.is_deferred() {
let place = if let Some(place_id) = place_table.place_id(expr) {
place_from_bindings(db, use_def.all_reachable_bindings(place_id)).place
place_from_bindings(db, use_def.reachable_bindings(place_id)).place
} else {
assert!(
self.deferred_state.in_string_annotation(),

View File

@ -129,7 +129,7 @@ fn check_class_declaration<'db>(
&& PROHIBITED_NAMEDTUPLE_ATTRS.contains(&member.name.as_str())
&& let Some(symbol_id) = place_table(db, class_scope).symbol_id(&member.name)
&& let Some(bad_definition) = use_def_map(db, class_scope)
.all_reachable_bindings(ScopedPlaceId::Symbol(symbol_id))
.reachable_bindings(ScopedPlaceId::Symbol(symbol_id))
.filter_map(|binding| binding.binding.definition())
.find(|def| !matches!(def.kind(db), DefinitionKind::AnnotatedAssignment(_)))
&& let Some(builder) = context.report_lint(