Skip to content

Commit 19261ec

Browse files
committed
Python: Remove spurious module references
1 parent 2717b9a commit 19261ec

File tree

3 files changed

+7
-9
lines changed

3 files changed

+7
-9
lines changed

python/ql/lib/semmle/python/dataflow/new/internal/ImportResolution.qll

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,8 +209,6 @@ module ImportResolution {
209209
or
210210
result.asExpr() =
211211
any(ImportMember i |
212-
i.getModule().(ImportExpr).getImportedModuleName() = module_name
213-
or
214212
i.getModule().(ImportExpr).getImportedModuleName() + "." + i.getName() = module_name
215213
)
216214
}

python/ql/test/experimental/import-resolution/main.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,15 @@
3939

4040
# A simple "import from" statement.
4141
from bar import bar_attr
42-
check("bar_attr", bar_attr, "bar_attr", globals()) #$ prints=bar_attr SPURIOUS: prints="<module bar>"
42+
check("bar_attr", bar_attr, "bar_attr", globals()) #$ prints=bar_attr
4343

4444
# Importing an attribute from a subpackage of a package.
4545
from package.subpackage import subpackage_attr
46-
check("subpackage_attr", subpackage_attr, "subpackage_attr", globals()) #$ prints=subpackage_attr SPURIOUS: prints="<module package.subpackage.__init__>"
46+
check("subpackage_attr", subpackage_attr, "subpackage_attr", globals()) #$ prints=subpackage_attr
4747

4848
# Importing a package attribute under an alias.
4949
from package import package_attr as package_attr_alias
50-
check("package_attr_alias", package_attr_alias, "package_attr", globals()) #$ prints=package_attr SPURIOUS: prints="<module package.__init__>"
50+
check("package_attr_alias", package_attr_alias, "package_attr", globals()) #$ prints=package_attr
5151

5252
# Importing a subpackage under an alias.
5353
from package import subpackage as aliased_subpackage #$ imports=package.subpackage.__init__ as=aliased_subpackage
@@ -71,12 +71,12 @@ def local_import():
7171
if sys.version_info[0] == 3:
7272
# Importing from a namespace module.
7373
from namespace_package.namespace_module import namespace_module_attr
74-
check("namespace_module_attr", namespace_module_attr, "namespace_module_attr", globals()) #$ prints=namespace_module_attr SPURIOUS: prints="<module namespace_package.namespace_module>"
74+
check("namespace_module_attr", namespace_module_attr, "namespace_module_attr", globals()) #$ prints=namespace_module_attr
7575

7676

7777
from attr_clash import clashing_attr, non_clashing_submodule #$ imports=attr_clash.clashing_attr as=clashing_attr imports=attr_clash.non_clashing_submodule as=non_clashing_submodule
78-
check("clashing_attr", clashing_attr, "clashing_attr", globals()) #$ prints=clashing_attr SPURIOUS: prints="<module attr_clash.clashing_attr>" SPURIOUS: prints="<module attr_clash.__init__>"
79-
check("non_clashing_submodule", non_clashing_submodule, "<module attr_clash.non_clashing_submodule>", globals()) #$ prints="<module attr_clash.non_clashing_submodule>" SPURIOUS: prints="<module attr_clash.__init__>"
78+
check("clashing_attr", clashing_attr, "clashing_attr", globals()) #$ prints=clashing_attr SPURIOUS: prints="<module attr_clash.clashing_attr>"
79+
check("non_clashing_submodule", non_clashing_submodule, "<module attr_clash.non_clashing_submodule>", globals()) #$ prints="<module attr_clash.non_clashing_submodule>"
8080

8181
exit(__file__)
8282

python/ql/test/experimental/import-resolution/package/subpackage/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
# Importing an attribute from the parent package.
77
from .. import attr_used_in_subpackage as imported_attr
8-
check("imported_attr", imported_attr, "attr_used_in_subpackage", globals()) #$ prints=attr_used_in_subpackage SPURIOUS: prints="<module package.__init__>"
8+
check("imported_attr", imported_attr, "attr_used_in_subpackage", globals()) #$ prints=attr_used_in_subpackage
99

1010
# Importing an irrelevant attribute from a sibling module binds the name to the module.
1111
from .submodule import irrelevant_attr

0 commit comments

Comments
 (0)