From 1c66e4dd404cf368f8b89fd221e632ca11a07ded Mon Sep 17 00:00:00 2001 From: Marc Mueller <30130371+cdce8p@users.noreply.github.com> Date: Tue, 25 Apr 2023 18:57:51 +0200 Subject: Bump astroid to 3.0.0a1 (#8626) --- pylint/checkers/base/basic_checker.py | 2 +- pylint/checkers/nested_min_max.py | 8 +++++++- pylint/checkers/typecheck.py | 2 +- pylint/pyreverse/diagrams.py | 8 +++++++- pyproject.toml | 2 +- requirements_test_min.txt | 2 +- tests/pyreverse/test_printer.py | 9 ++++++++- 7 files changed, 26 insertions(+), 7 deletions(-) diff --git a/pylint/checkers/base/basic_checker.py b/pylint/checkers/base/basic_checker.py index 627f3c603..18de86142 100644 --- a/pylint/checkers/base/basic_checker.py +++ b/pylint/checkers/base/basic_checker.py @@ -363,7 +363,7 @@ class BasicChecker(_BasicChecker): # astroid.exceptions.InferenceError are false positives # see https://github.com/pylint-dev/pylint/pull/8185 if isinstance(inferred, nodes.FunctionDef): - call_inferred = list(inferred.infer_call_result()) + call_inferred = list(inferred.infer_call_result(node)) elif isinstance(inferred, nodes.Lambda): call_inferred = list(inferred.infer_call_result(node)) except astroid.InferenceError: diff --git a/pylint/checkers/nested_min_max.py b/pylint/checkers/nested_min_max.py index 8825f296e..219382ff5 100644 --- a/pylint/checkers/nested_min_max.py +++ b/pylint/checkers/nested_min_max.py @@ -101,7 +101,13 @@ class NestedMinMaxChecker(BaseChecker): ctx=Context.Load, lineno=inferred.lineno, col_offset=0, - parent=nodes.NodeNG(), + parent=nodes.NodeNG( + lineno=None, + col_offset=None, + end_lineno=None, + end_col_offset=None, + parent=None, + ), end_lineno=0, end_col_offset=0, ) diff --git a/pylint/checkers/typecheck.py b/pylint/checkers/typecheck.py index fe29879c5..97a7460a8 100644 --- a/pylint/checkers/typecheck.py +++ b/pylint/checkers/typecheck.py @@ -1654,7 +1654,7 @@ accessed. Python regular expressions are accepted.", if not isinstance(inferred, nodes.FunctionDef): return False - for return_value in inferred.infer_call_result(): + for return_value in inferred.infer_call_result(caller=None): # infer_call_result() returns nodes.Const.None for None return values # so this also catches non-returning decorators if not isinstance(return_value, nodes.FunctionDef): diff --git a/pylint/pyreverse/diagrams.py b/pylint/pyreverse/diagrams.py index 978cf26bd..01bce7dc3 100644 --- a/pylint/pyreverse/diagrams.py +++ b/pylint/pyreverse/diagrams.py @@ -50,7 +50,13 @@ class DiagramEntity(Figure): ) -> None: super().__init__() self.title = title - self.node: nodes.NodeNG = node if node else nodes.NodeNG() + self.node: nodes.NodeNG = node or nodes.NodeNG( + lineno=None, + col_offset=None, + end_lineno=None, + end_col_offset=None, + parent=None, + ) self.shape = self.default_shape diff --git a/pyproject.toml b/pyproject.toml index 23da88675..df8f790e3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,7 +39,7 @@ dependencies = [ # Also upgrade requirements_test_min.txt. # Pinned to dev of second minor update to allow editable installs and fix primer issues, # see https://github.com/pylint-dev/astroid/issues/1341 - "astroid>=2.15.4,<=2.17.0-dev0", + "astroid>=3.0.0a1,<=3.1.0-dev0", "isort>=4.2.5,<6", "mccabe>=0.6,<0.8", "tomli>=1.1.0;python_version<'3.11'", diff --git a/requirements_test_min.txt b/requirements_test_min.txt index 8d466c3ad..441336291 100644 --- a/requirements_test_min.txt +++ b/requirements_test_min.txt @@ -1,6 +1,6 @@ -e .[testutils,spelling] # astroid dependency is also defined in pyproject.toml -astroid==2.15.4 # Pinned to a specific version for tests +astroid==3.0.0a1 # Pinned to a specific version for tests typing-extensions~=4.5 py~=1.11.0 pytest~=7.3 diff --git a/tests/pyreverse/test_printer.py b/tests/pyreverse/test_printer.py index 325468d42..67b4186b8 100644 --- a/tests/pyreverse/test_printer.py +++ b/tests/pyreverse/test_printer.py @@ -40,7 +40,14 @@ def test_unsupported_layout(layout: Layout, printer_class: type[Printer]) -> Non def test_method_arguments_none() -> None: - func = nodes.FunctionDef() + func = nodes.FunctionDef( + name="func", + lineno=1, + col_offset=0, + end_lineno=None, + end_col_offset=None, + parent=None, + ) args = nodes.Arguments(vararg=None, kwarg=None, parent=func) args.args = None func.postinit(args, body=None) -- cgit v1.2.1