@@ -195,17 +195,25 @@ def visit_ImportFrom(self, node: ast.ImportFrom) -> None:
195195 if node .module == "importlib" and alias .name == "import_module" :
196196 self .has_dynamic_imports = True
197197
198- # Check if imported name is a target qualified name
199- if alias .name in self .function_names_to_find :
200- self .found_any_target_function = True
201- self .found_qualified_name = alias .name
202- return
203- # Check if module.name forms a target qualified name
204- qualified_name = f"{ node .module } .{ alias .name } "
205- if qualified_name in self .function_names_to_find :
206- self .found_any_target_function = True
207- self .found_qualified_name = qualified_name
208- return
198+ qualified_name = f"{ node .module } .{ alias .name } "
199+ potential_matches = {alias .name , qualified_name }
200+
201+ if any (name in self .function_names_to_find for name in potential_matches ):
202+ self .found_any_target_function = True
203+ self .found_qualified_name = next (
204+ name for name in potential_matches if name in self .function_names_to_find
205+ )
206+ return
207+
208+ qualified_prefix = qualified_name + "."
209+ if any (target_func .startswith (qualified_prefix ) for target_func in self .function_names_to_find ):
210+ self .found_any_target_function = True
211+ self .found_qualified_name = next (
212+ target_func
213+ for target_func in self .function_names_to_find
214+ if target_func .startswith (qualified_prefix )
215+ )
216+ return
209217
210218 def visit_Attribute (self , node : ast .Attribute ) -> None :
211219 """Handle attribute access like module.function_name."""
0 commit comments