summaryrefslogtreecommitdiff
path: root/pylint
diff options
context:
space:
mode:
authorDaniƫl van Noord <13665637+DanielNoord@users.noreply.github.com>2023-04-01 23:17:59 +0200
committerGitHub <noreply@github.com>2023-04-01 21:17:59 +0000
commitf7bd67604f395cd50734b9559acc37ae5d34ce4b (patch)
treec173bbe1ca61fa8157b49621a9a38847299cddb3 /pylint
parent13e55d3daf8652450bfa10d54231e888c3496502 (diff)
downloadpylint-git-f7bd67604f395cd50734b9559acc37ae5d34ce4b.tar.gz
Don't use removed function from ``astroid`` (#8525)
Diffstat (limited to 'pylint')
-rw-r--r--pylint/checkers/imports.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/pylint/checkers/imports.py b/pylint/checkers/imports.py
index 64b2abef6..9f4b0e379 100644
--- a/pylint/checkers/imports.py
+++ b/pylint/checkers/imports.py
@@ -37,6 +37,12 @@ from pylint.utils.linterstats import LinterStats
if TYPE_CHECKING:
from pylint.lint import PyLinter
+if sys.version_info >= (3, 8):
+ from functools import cached_property
+else:
+ from astroid.decorators import cachedproperty as cached_property
+
+
# The dictionary with Any should actually be a _ImportTree again
# but mypy doesn't support recursive types yet
_ImportTree = Dict[str, Union[List[Dict[str, Any]], List[str]]]
@@ -997,7 +1003,7 @@ class ImportsChecker(DeprecatedMixin, BaseChecker):
self, sect: Section, _: LinterStats, _dummy: LinterStats | None
) -> None:
"""Return a verbatim layout for displaying dependencies."""
- dep_info = _make_tree_defs(self._external_dependencies_info().items())
+ dep_info = _make_tree_defs(self._external_dependencies_info.items())
if not dep_info:
raise EmptyReportError()
tree_str = _repr_tree_defs(dep_info)
@@ -1019,10 +1025,10 @@ class ImportsChecker(DeprecatedMixin, BaseChecker):
_make_graph(filename, dep_info, sect, "")
filename = self.linter.config.ext_import_graph
if filename:
- _make_graph(filename, self._external_dependencies_info(), sect, "external ")
+ _make_graph(filename, self._external_dependencies_info, sect, "external ")
filename = self.linter.config.int_import_graph
if filename:
- _make_graph(filename, self._internal_dependencies_info(), sect, "internal ")
+ _make_graph(filename, self._internal_dependencies_info, sect, "internal ")
def _filter_dependencies_graph(self, internal: bool) -> defaultdict[str, set[str]]:
"""Build the internal or the external dependency graph."""
@@ -1035,14 +1041,14 @@ class ImportsChecker(DeprecatedMixin, BaseChecker):
graph[importee].add(importer)
return graph
- @astroid.decorators.cached
+ @cached_property
def _external_dependencies_info(self) -> defaultdict[str, set[str]]:
"""Return cached external dependencies information or build and
cache them.
"""
return self._filter_dependencies_graph(internal=False)
- @astroid.decorators.cached
+ @cached_property
def _internal_dependencies_info(self) -> defaultdict[str, set[str]]:
"""Return cached internal dependencies information or build and
cache them.