mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Merge pull request #8033 from tk0miya/8032_typehint_for_ivar_on_parentclass
Fix #8032: autodoc: A typehint for inherited ivars is not shown
This commit is contained in:
commit
5be006124e
2
CHANGES
2
CHANGES
@ -61,6 +61,8 @@ Bugs fixed
|
||||
* #7983: autodoc: Generator type annotation is wrongly rendered in py36
|
||||
* #8030: autodoc: An uninitialized annotated instance variable is not documented
|
||||
when ``:inherited-members:`` option given
|
||||
* #8032: autodoc: A type hint for the instance variable defined at parent class
|
||||
is not shown in the document of the derived class
|
||||
* #7839: autosummary: cannot handle umlauts in function names
|
||||
* #7865: autosummary: Failed to extract summary line when abbreviations found
|
||||
* #7866: autosummary: Failed to extract correct summary line when docstring
|
||||
|
@ -2020,11 +2020,22 @@ class InstanceAttributeDocumenter(AttributeDocumenter):
|
||||
isattr and
|
||||
member is INSTANCEATTR)
|
||||
|
||||
def import_parent(self) -> Any:
|
||||
try:
|
||||
parent = importlib.import_module(self.modname)
|
||||
for name in self.objpath[:-1]:
|
||||
parent = self.get_attr(parent, name)
|
||||
|
||||
return parent
|
||||
except (ImportError, AttributeError):
|
||||
return None
|
||||
|
||||
def import_object(self, raiseerror: bool = False) -> bool:
|
||||
"""Never import anything."""
|
||||
# disguise as an attribute
|
||||
self.objtype = 'attribute'
|
||||
self.object = INSTANCEATTR
|
||||
self.parent = self.import_parent()
|
||||
self._datadescriptor = False
|
||||
return True
|
||||
|
||||
|
@ -25,3 +25,7 @@ class Class:
|
||||
self.attr5: int #: attr5
|
||||
self.attr6 = 0 # type: int
|
||||
"""attr6"""
|
||||
|
||||
|
||||
class Derived(Class):
|
||||
pass
|
||||
|
@ -1576,6 +1576,20 @@ def test_autodoc_typed_instance_variables(app):
|
||||
' This is descr4',
|
||||
'',
|
||||
'',
|
||||
'.. py:class:: Derived()',
|
||||
' :module: target.typed_vars',
|
||||
'',
|
||||
'',
|
||||
' .. py:attribute:: Derived.attr2',
|
||||
' :module: target.typed_vars',
|
||||
' :type: int',
|
||||
'',
|
||||
'',
|
||||
' .. py:attribute:: Derived.descr4',
|
||||
' :module: target.typed_vars',
|
||||
' :type: int',
|
||||
'',
|
||||
'',
|
||||
'.. py:data:: attr1',
|
||||
' :module: target.typed_vars',
|
||||
' :type: str',
|
||||
|
Loading…
Reference in New Issue
Block a user