Open
Description
When using codegen to remove dead code, it incorrectly identifies functions accessed via module attribute notation as unused.
Example:
file: example.py
from a.b import module
module.some_func() # this usage is not detected
In the dead code script:
some_func.usages # Returns []
some_func.call_sites # Returns []
some_func.symbol_usages # Returns []
As a result, some_func
is incorrectly identified as dead code and removed, despite being actively used through module attribute access.
Expected Behavior:
some_func
should show usage when accessed viamodule.some_func()