diff options
author | Daniƫl van Noord <13665637+DanielNoord@users.noreply.github.com> | 2022-04-14 11:07:21 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-14 11:07:21 +0200 |
commit | 47e168cf607e2069b103fc466edfe1c6522e2fb2 (patch) | |
tree | 97d7b67b673d1147f4b8c9321b6247c117195060 /pylint/extensions/code_style.py | |
parent | 99ef057978e2ddd332bdd436fd5fd884deebdc53 (diff) | |
download | pylint-git-47e168cf607e2069b103fc466edfe1c6522e2fb2.tar.gz |
Use ``python-typing-update`` on ``pylint/extensions`` directory (#6308)
Diffstat (limited to 'pylint/extensions/code_style.py')
-rw-r--r-- | pylint/extensions/code_style.py | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/pylint/extensions/code_style.py b/pylint/extensions/code_style.py index 7c254ecd3..ba9e9d3d2 100644 --- a/pylint/extensions/code_style.py +++ b/pylint/extensions/code_style.py @@ -2,8 +2,10 @@ # For details: https://github.com/PyCQA/pylint/blob/main/LICENSE # Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt +from __future__ import annotations + import sys -from typing import TYPE_CHECKING, List, Optional, Set, Tuple, Type, Union, cast +from typing import TYPE_CHECKING, Tuple, Type, Union, cast from astroid import nodes @@ -125,7 +127,7 @@ class CodeStyleChecker(BaseChecker): KeyTupleT = Tuple[Type[nodes.NodeNG], str] # Makes sure all keys are 'Const' string nodes - keys_checked: Set[KeyTupleT] = set() + keys_checked: set[KeyTupleT] = set() for _, dict_value in node.items: dict_value = cast(nodes.Dict, dict_value) for key, _ in dict_value.items: @@ -141,13 +143,13 @@ class CodeStyleChecker(BaseChecker): keys_checked.add(key_tuple) # Makes sure all subdicts have at least 1 common key - key_tuples: List[Tuple[KeyTupleT, ...]] = [] + key_tuples: list[tuple[KeyTupleT, ...]] = [] for _, dict_value in node.items: dict_value = cast(nodes.Dict, dict_value) key_tuples.append( tuple((type(key), key.as_string()) for key, _ in dict_value.items) ) - keys_intersection: Set[KeyTupleT] = set(key_tuples[0]) + keys_intersection: set[KeyTupleT] = set(key_tuples[0]) for sub_key_tuples in key_tuples[1:]: keys_intersection.intersection_update(sub_key_tuples) if not keys_intersection: @@ -194,7 +196,7 @@ class CodeStyleChecker(BaseChecker): Note: Assignment expressions were added in Python 3.8 """ # Check if `node.test` contains a `Name` node - node_name: Optional[nodes.Name] = None + node_name: nodes.Name | None = None if isinstance(node.test, nodes.Name): node_name = node.test elif ( @@ -249,8 +251,8 @@ class CodeStyleChecker(BaseChecker): @staticmethod def _check_prev_sibling_to_if_stmt( - prev_sibling: Optional[nodes.NodeNG], name: Optional[str] - ) -> TypeGuard[Union[nodes.Assign, nodes.AnnAssign]]: + prev_sibling: nodes.NodeNG | None, name: str | None + ) -> TypeGuard[nodes.Assign | nodes.AnnAssign]: """Check if previous sibling is an assignment with the same name. Ignore statements which span multiple lines. @@ -275,7 +277,7 @@ class CodeStyleChecker(BaseChecker): @staticmethod def _check_ignore_assignment_expr_suggestion( - node: nodes.If, name: Optional[str] + node: nodes.If, name: str | None ) -> bool: """Return True if suggestion for assignment expr should be ignored. @@ -283,7 +285,7 @@ class CodeStyleChecker(BaseChecker): (multiple conditions). """ if isinstance(node.test, nodes.Compare): - next_if_node: Optional[nodes.If] = None + next_if_node: nodes.If | None = None next_sibling = node.next_sibling() if len(node.orelse) == 1 and isinstance(node.orelse[0], nodes.If): # elif block @@ -306,5 +308,5 @@ class CodeStyleChecker(BaseChecker): return False -def register(linter: "PyLinter") -> None: +def register(linter: PyLinter) -> None: linter.register_checker(CodeStyleChecker(linter)) |