/opt/cloudlinux/venv/lib/python3.11/site-packages/pylint/checkers
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html # For details: https://github.com/PyCQA/pylint/blob/main/LICENSE # Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt """Ellipsis checker for Python code.""" from __future__ import annotations from typing import TYPE_CHECKING from astroid import nodes from pylint.checkers import BaseChecker from pylint.checkers.utils import only_required_for_messages if TYPE_CHECKING: from pylint.lint import PyLinter class EllipsisChecker(BaseChecker): name = "unnecessary_ellipsis" msgs = { "W2301": ( "Unnecessary ellipsis constant", "unnecessary-ellipsis", "Used when the ellipsis constant is encountered and can be avoided. " "A line of code consisting of an ellipsis is unnecessary if " "there is a docstring on the preceding line or if there is a " "statement in the same scope.", ) } @only_required_for_messages("unnecessary-ellipsis") def visit_const(self, node: nodes.Const) -> None: """Check if the ellipsis constant is used unnecessarily. Emits a warning when: - A line consisting of an ellipsis is preceded by a docstring. - A statement exists in the same scope as the ellipsis. For example: A function consisting of an ellipsis followed by a return statement on the next line. """ if ( node.pytype() == "builtins.Ellipsis" and isinstance(node.parent, nodes.Expr) and ( ( isinstance(node.parent.parent, (nodes.ClassDef, nodes.FunctionDef)) and node.parent.parent.doc_node ) or len(node.parent.parent.body) > 1 ) ): self.add_message("unnecessary-ellipsis", node=node) def register(linter: PyLinter) -> None: linter.register_checker(EllipsisChecker(linter))
.
Edit
..
Edit
__init__.py
Edit
__pycache__
Edit
async.py
Edit
bad_chained_comparison.py
Edit
base
Edit
base_checker.py
Edit
classes
Edit
deprecated.py
Edit
design_analysis.py
Edit
dunder_methods.py
Edit
ellipsis_checker.py
Edit
exceptions.py
Edit
format.py
Edit
imports.py
Edit
lambda_expressions.py
Edit
logging.py
Edit
mapreduce_checker.py
Edit
method_args.py
Edit
misc.py
Edit
modified_iterating_checker.py
Edit
nested_min_max.py
Edit
newstyle.py
Edit
non_ascii_names.py
Edit
raw_metrics.py
Edit
refactoring
Edit
similar.py
Edit
spelling.py
Edit
stdlib.py
Edit
strings.py
Edit
threading_checker.py
Edit
typecheck.py
Edit
unicode.py
Edit
unsupported_version.py
Edit
utils.py
Edit
variables.py
Edit