diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2020-04-23 16:21:39 +0300 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2020-05-02 08:32:16 +0300 |
commit | b8e41aa15f29fb68c956ade63fb67f2f03c5f6d1 (patch) | |
tree | b581fb9c02d321f5e406ec10d185cfeb04cff979 /sphinx/pycode | |
parent | f82151bda5a7d061c382e4a70b09813433319842 (diff) |
refactor: Update type annotations
Diffstat (limited to 'sphinx/pycode')
-rw-r--r-- | sphinx/pycode/ast.py | 11 | ||||
-rw-r--r-- | sphinx/pycode/parser.py | 5 |
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: |