Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/sphinx-doc/sphinx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2020-04-23 16:21:39 +0300
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2020-05-02 08:32:16 +0300
commitb8e41aa15f29fb68c956ade63fb67f2f03c5f6d1 (patch)
treeb581fb9c02d321f5e406ec10d185cfeb04cff979 /sphinx/pycode
parentf82151bda5a7d061c382e4a70b09813433319842 (diff)
refactor: Update type annotations
Diffstat (limited to 'sphinx/pycode')
-rw-r--r--sphinx/pycode/ast.py11
-rw-r--r--sphinx/pycode/parser.py5
2 files changed, 15 insertions, 1 deletions
diff --git a/sphinx/pycode/ast.py b/sphinx/pycode/ast.py
index 9664e7edb..3f4717f45 100644
--- a/sphinx/pycode/ast.py
+++ b/sphinx/pycode/ast.py
@@ -10,6 +10,7 @@
import sys
from typing import Dict, List, Type, Optional
+from typing import overload
if sys.version_info > (3, 8):
import ast
@@ -58,6 +59,16 @@ def parse(code: str, mode: str = 'exec') -> "ast.AST":
return ast.parse(code, mode=mode)
+@overload
+def unparse(node: None) -> None:
+ ...
+
+
+@overload
+def unparse(node: ast.AST) -> str:
+ ...
+
+
def unparse(node: Optional[ast.AST]) -> Optional[str]:
"""Unparse an AST to string."""
if node is None:
diff --git a/sphinx/pycode/parser.py b/sphinx/pycode/parser.py
index a77654939..7eb2419c0 100644
--- a/sphinx/pycode/parser.py
+++ b/sphinx/pycode/parser.py
@@ -93,7 +93,10 @@ def dedent_docstring(s: str) -> str:
dummy.__doc__ = s
docstring = inspect.getdoc(dummy)
- return docstring.lstrip("\r\n").rstrip("\r\n")
+ if docstring:
+ return docstring.lstrip("\r\n").rstrip("\r\n")
+ else:
+ return ""
class Token: