all the submodule attributes all the time

This commit is contained in:
Alex Waygood 2025-11-24 18:51:49 +00:00 committed by Aria Desires
parent e82cb13384
commit ea8238d6be
1 changed files with 13 additions and 16 deletions

View File

@ -1536,25 +1536,22 @@ impl<'ast> Visitor<'ast> for SemanticIndexBuilder<'_, 'ast> {
} }
if node.module.is_some() { if node.module.is_some() {
if let Ok(thispackage) = this_package if is_package
&& let Ok(thispackage) = this_package
&& self.current_scope().is_global()
&& let Some(relative_submodule) = module_name.relative_to(&thispackage) && let Some(relative_submodule) = module_name.relative_to(&thispackage)
&& let Some(direct_submodule) = relative_submodule.components().next()
&& !self.seen_submodule_imports.contains(direct_submodule)
{ {
if is_package self.seen_submodule_imports
&& self.current_scope().is_global() .insert(direct_submodule.to_owned());
&& let Some(direct_submodule) =
relative_submodule.components().next()
&& !self.seen_submodule_imports.contains(direct_submodule)
{
self.seen_submodule_imports
.insert(direct_submodule.to_owned());
let direct_submodule_name = Name::new(direct_submodule); let direct_submodule_name = Name::new(direct_submodule);
let symbol = self.add_symbol(direct_submodule_name); let symbol = self.add_symbol(direct_submodule_name);
self.add_definition( self.add_definition(
symbol.into(), symbol.into(),
ImportFromSubmoduleDefinitionNodeRef { node }, ImportFromSubmoduleDefinitionNodeRef { node },
); );
}
} else { } else {
for name in module_name.ancestors() { for name in module_name.ancestors() {
self.imported_modules self.imported_modules