Remove deprecated `sphinx.pycode.ast.parse()` (#11371)

This commit is contained in:
Adam Turner
2023-04-27 15:18:44 +01:00
committed by GitHub
parent 583fb74bd4
commit 24f476949d
2 changed files with 1 additions and 17 deletions

View File

@@ -18,6 +18,7 @@ Incompatible changes
* #11366: Make ``locale`` a required argument to
``sphinx.util.i18n.format_date()``.
* #11370: Remove deprecated ``sphinx.util.stemmer`` module.
* #11371: Remove deprecated ``sphinx.pycode.ast.parse()`` function.
Deprecated
----------

View File

@@ -3,11 +3,8 @@
from __future__ import annotations
import ast
import warnings
from typing import overload
from sphinx.deprecation import RemovedInSphinx70Warning
OPERATORS: dict[type[ast.AST], str] = {
ast.Add: "+",
ast.And: "and",
@@ -31,20 +28,6 @@ OPERATORS: dict[type[ast.AST], str] = {
}
def parse(code: str, mode: str = 'exec') -> ast.AST:
"""Parse the *code* using the built-in ast module."""
warnings.warn(
"'sphinx.pycode.ast.parse' is deprecated, use 'ast.parse' instead.",
RemovedInSphinx70Warning, stacklevel=2,
)
try:
return ast.parse(code, mode=mode, type_comments=True)
except SyntaxError:
# Some syntax error found. To ignore invalid type comments, retry parsing without
# type_comments parameter (refs: https://github.com/sphinx-doc/sphinx/issues/8652).
return ast.parse(code, mode=mode)
@overload
def unparse(node: None, code: str = '') -> None:
...