summaryrefslogtreecommitdiff
path: root/sphinx/domains/python.py
diff options
context:
space:
mode:
authorjfbu <jfbu@free.fr>2019-08-01 17:49:24 +0200
committerjfbu <jfbu@free.fr>2019-08-01 17:49:24 +0200
commit685e3fdb49c42b464e09ec955e1033e2a8729fff (patch)
treea7ad90fbd9c2a076575f612caf0d6baa7c4fb555 /sphinx/domains/python.py
parenteeca5ee91d2da817d4ad9e920ad7e4cabd966d08 (diff)
parent5a86a71a8fe6d4e8c3861f755cc9b05b5b10f0cf (diff)
downloadsphinx-git-685e3fdb49c42b464e09ec955e1033e2a8729fff.tar.gz
Merge branch '2.0'
Diffstat (limited to 'sphinx/domains/python.py')
-rw-r--r--sphinx/domains/python.py14
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.