summaryrefslogtreecommitdiff
path: root/sphinx/ext/viewcode.py
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2019-07-06 12:37:27 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2019-07-06 12:37:27 +0900
commitfe06eebfb5c2a24f8a0e297aef2e7a5ec82b062c (patch)
treef9761849901806750991b3480deb32d23817ce2a /sphinx/ext/viewcode.py
parent3fbc9c9e045c298060be96c1c85c421ae08f9277 (diff)
parent847a642b414871dd0b9df4b8913f9e04516b5757 (diff)
downloadsphinx-git-fe06eebfb5c2a24f8a0e297aef2e7a5ec82b062c.tar.gz
Merge branch '2.0'
Diffstat (limited to 'sphinx/ext/viewcode.py')
-rw-r--r--sphinx/ext/viewcode.py30
1 files changed, 12 insertions, 18 deletions
diff --git a/sphinx/ext/viewcode.py b/sphinx/ext/viewcode.py
index 5de8f7f5e..5bbec60a9 100644
--- a/sphinx/ext/viewcode.py
+++ b/sphinx/ext/viewcode.py
@@ -9,28 +9,25 @@
"""
import traceback
+from typing import Any, Dict, Iterable, Iterator, Set, Tuple
from docutils import nodes
+from docutils.nodes import Element, Node
import sphinx
from sphinx import addnodes
+from sphinx.application import Sphinx
+from sphinx.environment import BuildEnvironment
from sphinx.locale import _, __
from sphinx.pycode import ModuleAnalyzer
from sphinx.util import get_full_modname, logging, status_iterator
from sphinx.util.nodes import make_refnode
-if False:
- # For type annotation
- from typing import Any, Dict, Iterable, Iterator, Set, Tuple # NOQA
- from sphinx.application import Sphinx # NOQA
- from sphinx.config import Config # NOQA
- from sphinx.environment import BuildEnvironment # NOQA
logger = logging.getLogger(__name__)
-def _get_full_modname(app, modname, attribute):
- # type: (Sphinx, str, str) -> str
+def _get_full_modname(app: Sphinx, modname: str, attribute: str) -> str:
try:
return get_full_modname(modname, attribute)
except AttributeError:
@@ -48,8 +45,7 @@ def _get_full_modname(app, modname, attribute):
return None
-def doctree_read(app, doctree):
- # type: (Sphinx, nodes.Node) -> None
+def doctree_read(app: Sphinx, doctree: Node) -> None:
env = app.builder.env
if not hasattr(env, '_viewcode_modules'):
env._viewcode_modules = {} # type: ignore
@@ -120,8 +116,8 @@ def doctree_read(app, doctree):
signode += onlynode
-def env_merge_info(app, env, docnames, other):
- # type: (Sphinx, BuildEnvironment, Iterable[str], BuildEnvironment) -> None
+def env_merge_info(app: Sphinx, env: BuildEnvironment, docnames: Iterable[str],
+ other: BuildEnvironment) -> None:
if not hasattr(other, '_viewcode_modules'):
return
# create a _viewcode_modules dict on the main environment
@@ -131,8 +127,8 @@ def env_merge_info(app, env, docnames, other):
env._viewcode_modules.update(other._viewcode_modules) # type: ignore
-def missing_reference(app, env, node, contnode):
- # type: (Sphinx, BuildEnvironment, nodes.Element, nodes.Node) -> nodes.Node
+def missing_reference(app: Sphinx, env: BuildEnvironment, node: Element, contnode: Node
+ ) -> Node:
# resolve our "viewcode" reference nodes -- they need special treatment
if node['reftype'] == 'viewcode':
return make_refnode(app.builder, node['refdoc'], node['reftarget'],
@@ -141,8 +137,7 @@ def missing_reference(app, env, node, contnode):
return None
-def collect_pages(app):
- # type: (Sphinx) -> Iterator[Tuple[str, Dict[str, Any], str]]
+def collect_pages(app: Sphinx) -> Iterator[Tuple[str, Dict[str, Any], str]]:
env = app.builder.env
if not hasattr(env, '_viewcode_modules'):
return
@@ -236,8 +231,7 @@ def collect_pages(app):
yield ('_modules/index', context, 'page.html')
-def setup(app):
- # type: (Sphinx) -> Dict[str, Any]
+def setup(app: Sphinx) -> Dict[str, Any]:
app.add_config_value('viewcode_import', None, False)
app.add_config_value('viewcode_enable_epub', False, False)
app.add_config_value('viewcode_follow_imported_members', True, False)