diff options
Diffstat (limited to 'sphinx/domains/python.py')
-rw-r--r-- | sphinx/domains/python.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/sphinx/domains/python.py b/sphinx/domains/python.py index b401ffd3c..653dbf562 100644 --- a/sphinx/domains/python.py +++ b/sphinx/domains/python.py @@ -10,7 +10,7 @@ import re import warnings -from typing import Any, Dict, Iterable, Iterator, List, Tuple, Type +from typing import Any, Dict, Iterable, Iterator, List, Tuple from typing import cast from docutils import nodes @@ -33,6 +33,10 @@ from sphinx.util.docutils import SphinxDirective from sphinx.util.nodes import make_refnode from sphinx.util.typing import TextlikeNode +if False: + # For type annotation + from typing import Type # for python3.5.1 + logger = logging.getLogger(__name__) @@ -110,7 +114,7 @@ def _pseudo_parse_arglist(signode: desc_signature, arglist: str) -> None: # when it comes to handling "." and "~" prefixes. class PyXrefMixin: def make_xref(self, rolename: str, domain: str, target: str, - innernode: Type[TextlikeNode] = nodes.emphasis, + innernode: "Type[TextlikeNode]" = nodes.emphasis, contnode: Node = None, env: BuildEnvironment = None) -> Node: result = super().make_xref(rolename, domain, target, # type: ignore innernode, contnode, env) @@ -127,7 +131,7 @@ class PyXrefMixin: return result def make_xrefs(self, rolename: str, domain: str, target: str, - innernode: Type[TextlikeNode] = nodes.emphasis, + innernode: "Type[TextlikeNode]" = nodes.emphasis, contnode: Node = None, env: BuildEnvironment = None) -> List[Node]: delims = r'(\s*[\[\]\(\),](?:\s*or\s)?\s*|\s+or\s+)' delims_re = re.compile(delims) @@ -151,7 +155,7 @@ class PyXrefMixin: class PyField(PyXrefMixin, Field): def make_xref(self, rolename: str, domain: str, target: str, - innernode: Type[TextlikeNode] = nodes.emphasis, + innernode: "Type[TextlikeNode]" = nodes.emphasis, contnode: Node = None, env: BuildEnvironment = None) -> Node: if rolename == 'class' and target == 'None': # None is not a type, so use obj role instead. @@ -166,7 +170,7 @@ class PyGroupedField(PyXrefMixin, GroupedField): class PyTypedField(PyXrefMixin, TypedField): def make_xref(self, rolename: str, domain: str, target: str, - innernode: Type[TextlikeNode] = nodes.emphasis, + innernode: "Type[TextlikeNode]" = nodes.emphasis, contnode: Node = None, env: BuildEnvironment = None) -> Node: if rolename == 'class' and target == 'None': # None is not a type, so use obj role instead. |