summaryrefslogtreecommitdiff
path: root/astroid
diff options
context:
space:
mode:
authorMarc Mueller <30130371+cdce8p@users.noreply.github.com>2023-04-24 00:58:04 +0200
committerGitHub <noreply@github.com>2023-04-24 00:58:04 +0200
commit1336ee4a9b698bf501b5cda40e3524d6f5e532d5 (patch)
tree2289350c7e17a98838037438102e8bedaa2cb427 /astroid
parent7fa848126c8178e78c47dff0415a1fc175b041eb (diff)
downloadastroid-git-1336ee4a9b698bf501b5cda40e3524d6f5e532d5.tar.gz
Remove unused constants (#2141)
* Remove `PY38_PLUS` constant * Remove `BUILTINS` constants * Remove `Load` + `Store` + `Del` * Remove `BOOL_SPECIAL_METHOD`
Diffstat (limited to 'astroid')
-rw-r--r--astroid/__init__.py2
-rw-r--r--astroid/bases.py6
-rw-r--r--astroid/brain/brain_ssl.py6
-rw-r--r--astroid/brain/brain_typing.py4
-rw-r--r--astroid/brain/brain_unittest.py6
-rw-r--r--astroid/const.py8
-rw-r--r--astroid/nodes/scoped_nodes/scoped_nodes.py4
-rw-r--r--astroid/rebuilder.py63
8 files changed, 13 insertions, 86 deletions
diff --git a/astroid/__init__.py b/astroid/__init__.py
index 1c7c4af7..6711563a 100644
--- a/astroid/__init__.py
+++ b/astroid/__init__.py
@@ -46,7 +46,7 @@ from astroid.astroid_manager import MANAGER
from astroid.bases import BaseInstance, BoundMethod, Instance, UnboundMethod
from astroid.brain.helpers import register_module_extender
from astroid.builder import extract_node, parse
-from astroid.const import BRAIN_MODULES_DIRECTORY, PY310_PLUS, Context, Del, Load, Store
+from astroid.const import BRAIN_MODULES_DIRECTORY, PY310_PLUS, Context
from astroid.exceptions import (
AstroidBuildingError,
AstroidBuildingException,
diff --git a/astroid/bases.py b/astroid/bases.py
index e3832d8b..6a4c3191 100644
--- a/astroid/bases.py
+++ b/astroid/bases.py
@@ -39,10 +39,6 @@ if TYPE_CHECKING:
from astroid.constraint import Constraint
-# TODO: check if needs special treatment
-BOOL_SPECIAL_METHOD = "__bool__"
-BUILTINS = "builtins" # TODO Remove in 2.8
-
PROPERTIES = {"builtins.property", "abc.abstractproperty"}
if PY310_PLUS:
PROPERTIES.add("enum.property")
@@ -383,7 +379,7 @@ class Instance(BaseInstance):
context.boundnode = self
try:
- result = _infer_method_result_truth(self, BOOL_SPECIAL_METHOD, context)
+ result = _infer_method_result_truth(self, "__bool__", context)
except (InferenceError, AttributeInferenceError):
# Fallback to __len__.
try:
diff --git a/astroid/brain/brain_ssl.py b/astroid/brain/brain_ssl.py
index 0f0f939f..a4d89b74 100644
--- a/astroid/brain/brain_ssl.py
+++ b/astroid/brain/brain_ssl.py
@@ -6,7 +6,7 @@
from astroid import parse
from astroid.brain.helpers import register_module_extender
-from astroid.const import PY38_PLUS, PY310_PLUS
+from astroid.const import PY310_PLUS
from astroid.manager import AstroidManager
@@ -41,9 +41,7 @@ def _options_enum() -> str:
OP_SINGLE_ECDH_USE = 10
OP_NO_COMPRESSION = 11
OP_NO_TICKET = 12
- OP_NO_RENEGOTIATION = 13"""
- if PY38_PLUS:
- enum += """
+ OP_NO_RENEGOTIATION = 13
OP_ENABLE_MIDDLEBOX_COMPAT = 14"""
return enum
diff --git a/astroid/brain/brain_typing.py b/astroid/brain/brain_typing.py
index 35c5f0d8..efa0a054 100644
--- a/astroid/brain/brain_typing.py
+++ b/astroid/brain/brain_typing.py
@@ -13,7 +13,7 @@ from typing import Final
from astroid import context, extract_node, inference_tip
from astroid.builder import _extract_single_node
-from astroid.const import PY38_PLUS, PY39_PLUS
+from astroid.const import PY39_PLUS
from astroid.exceptions import (
AttributeInferenceError,
InferenceError,
@@ -428,7 +428,7 @@ if PY39_PLUS:
AstroidManager().register_transform(
FunctionDef, inference_tip(infer_typedDict), _looks_like_typedDict
)
-elif PY38_PLUS:
+else:
AstroidManager().register_transform(
ClassDef, inference_tip(infer_old_typedDict), _looks_like_typedDict
)
diff --git a/astroid/brain/brain_unittest.py b/astroid/brain/brain_unittest.py
index e8f08a1b..db5ea8c9 100644
--- a/astroid/brain/brain_unittest.py
+++ b/astroid/brain/brain_unittest.py
@@ -5,7 +5,6 @@
"""Astroid hooks for unittest module."""
from astroid.brain.helpers import register_module_extender
from astroid.builder import parse
-from astroid.const import PY38_PLUS
from astroid.manager import AstroidManager
@@ -27,7 +26,4 @@ def IsolatedAsyncioTestCaseImport():
)
-if PY38_PLUS:
- register_module_extender(
- AstroidManager(), "unittest", IsolatedAsyncioTestCaseImport
- )
+register_module_extender(AstroidManager(), "unittest", IsolatedAsyncioTestCaseImport)
diff --git a/astroid/const.py b/astroid/const.py
index 8e2f6012..95672ae5 100644
--- a/astroid/const.py
+++ b/astroid/const.py
@@ -7,11 +7,9 @@ import sys
from pathlib import Path
PY38 = sys.version_info[:2] == (3, 8)
-PY38_PLUS = sys.version_info >= (3, 8)
PY39_PLUS = sys.version_info >= (3, 9)
PY310_PLUS = sys.version_info >= (3, 10)
PY311_PLUS = sys.version_info >= (3, 11)
-BUILTINS = "builtins" # TODO Remove in 2.8
WIN32 = sys.platform == "win32"
@@ -28,12 +26,6 @@ class Context(enum.Enum):
Del = 3
-# TODO Remove in 3.0 in favor of Context
-Load = Context.Load
-Store = Context.Store
-Del = Context.Del
-
-
ASTROID_INSTALL_DIRECTORY = Path(__file__).parent
BRAIN_MODULES_DIRECTORY = ASTROID_INSTALL_DIRECTORY / "brain"
diff --git a/astroid/nodes/scoped_nodes/scoped_nodes.py b/astroid/nodes/scoped_nodes/scoped_nodes.py
index 771f93f3..ef25c2b7 100644
--- a/astroid/nodes/scoped_nodes/scoped_nodes.py
+++ b/astroid/nodes/scoped_nodes/scoped_nodes.py
@@ -19,7 +19,7 @@ from functools import cached_property, lru_cache
from typing import TYPE_CHECKING, ClassVar, Literal, NoReturn, TypeVar, overload
from astroid import bases, util
-from astroid.const import IS_PYPY, PY38, PY38_PLUS, PY39_PLUS, PYPY_7_3_11_PLUS
+from astroid.const import IS_PYPY, PY38, PY39_PLUS, PYPY_7_3_11_PLUS
from astroid.context import (
CallContext,
InferenceContext,
@@ -2000,7 +2000,7 @@ class ClassDef(
Can also return 0 if the line can not be determined.
"""
- if not PY38_PLUS or IS_PYPY and PY38 and not PYPY_7_3_11_PLUS:
+ if IS_PYPY and PY38 and not PYPY_7_3_11_PLUS:
# For Python < 3.8 the lineno is the line number of the first decorator.
# We want the class statement lineno. Similar to 'FunctionDef.fromlineno'
# PyPy (3.8): Fixed with version v7.3.11
diff --git a/astroid/rebuilder.py b/astroid/rebuilder.py
index 5a17c3b9..1efa7fc4 100644
--- a/astroid/rebuilder.py
+++ b/astroid/rebuilder.py
@@ -18,7 +18,7 @@ from typing import TYPE_CHECKING, Final, TypeVar, Union, cast, overload
from astroid import nodes
from astroid._ast import ParserModule, get_parser_module, parse_function_type_comment
-from astroid.const import IS_PYPY, PY38, PY38_PLUS, PY39_PLUS, Context
+from astroid.const import IS_PYPY, PY38, PY39_PLUS, Context
from astroid.manager import AstroidManager
from astroid.nodes import NodeNG
from astroid.nodes.utils import Position
@@ -74,10 +74,8 @@ class TreeRebuilder:
try:
if node.body and isinstance(node.body[0], ast.Expr):
first_value = node.body[0].value
- if isinstance(first_value, ast.Str) or (
- PY38_PLUS
- and isinstance(first_value, ast.Constant)
- and isinstance(first_value.value, str)
+ if isinstance(first_value, ast.Constant) and isinstance(
+ first_value.value, str
):
doc_ast_node = first_value
node.body = node.body[1:]
@@ -158,56 +156,6 @@ class TreeRebuilder:
end_col_offset=t.end[1],
)
- def _fix_doc_node_position(self, node: NodesWithDocsType) -> None:
- """Fix start and end position of doc nodes for Python < 3.8."""
- if not self._data or not node.doc_node or node.lineno is None:
- return
- if PY38_PLUS:
- return
-
- lineno = node.lineno or 1 # lineno of modules is 0
- end_range: int | None = node.doc_node.lineno
- if IS_PYPY and not PY39_PLUS:
- end_range = None
- # pylint: disable-next=unsubscriptable-object
- data = "\n".join(self._data[lineno - 1 : end_range])
-
- found_start, found_end = False, False
- open_brackets = 0
- skip_token: set[int] = {token.NEWLINE, token.INDENT, token.NL, token.COMMENT}
-
- if isinstance(node, nodes.Module):
- found_end = True
-
- for t in generate_tokens(StringIO(data).readline):
- if found_end is False:
- if (
- found_start is False
- and t.type == token.NAME
- and t.string in {"def", "class"}
- ):
- found_start = True
- elif found_start is True and t.type == token.OP:
- if t.exact_type == token.COLON and open_brackets == 0:
- found_end = True
- elif t.exact_type == token.LPAR:
- open_brackets += 1
- elif t.exact_type == token.RPAR:
- open_brackets -= 1
- continue
- if t.type in skip_token:
- continue
- if t.type == token.STRING:
- break
- return
- else:
- return
-
- node.doc_node.lineno = lineno + t.start[0] - 1
- node.doc_node.col_offset = t.start[1]
- node.doc_node.end_lineno = lineno + t.end[0] - 1
- node.doc_node.end_col_offset = t.end[1]
-
def _reset_end_lineno(self, newnode: nodes.NodeNG) -> None:
"""Reset end_lineno and end_col_offset attributes for PyPy 3.8.
@@ -246,7 +194,6 @@ class TreeRebuilder:
[self.visit(child, newnode) for child in node.body],
doc_node=self.visit(doc_ast_node, newnode),
)
- self._fix_doc_node_position(newnode)
if IS_PYPY and PY38:
self._reset_end_lineno(newnode)
return newnode
@@ -953,7 +900,6 @@ class TreeRebuilder:
position=self._get_position_info(node, newnode),
doc_node=self.visit(doc_ast_node, newnode),
)
- self._fix_doc_node_position(newnode)
return newnode
def visit_continue(self, node: ast.Continue, parent: NodeNG) -> nodes.Continue:
@@ -1225,7 +1171,7 @@ class TreeRebuilder:
node, doc_ast_node = self._get_doc(node)
lineno = node.lineno
- if PY38_PLUS and node.decorator_list:
+ if node.decorator_list:
# Python 3.8 sets the line number of a decorated function
# to be the actual line number of the function, but the
# previous versions expected the decorator's line number instead.
@@ -1265,7 +1211,6 @@ class TreeRebuilder:
position=self._get_position_info(node, newnode),
doc_node=self.visit(doc_ast_node, newnode),
)
- self._fix_doc_node_position(newnode)
self._global_names.pop()
return newnode