| 2661 | 2661 | @classmethod |
| 2662 | 2662 | def can_document_member(cls, member: Any, membername: str, isattr: bool, parent: Any |
| 2663 | 2663 | ) -> bool: |
| 2664 | return inspect.isproperty(member) and isinstance(parent, ClassDocumenter) | |
| 2664 | if inspect.isproperty(member) and isinstance(parent, ClassDocumenter): | |
| 2665 | return True | |
| 2666 | ||
| 2667 | # Check if this is a classmethod that wraps a property (Python 3.9+) | |
| 2668 | if (isinstance(parent, ClassDocumenter) and | |
| 2669 | hasattr(parent, '__dict__')): | |
| 2670 | raw_member = parent.__dict__.get(membername) | |
| 2671 | if (raw_member is not None and | |
| 2672 | inspect.isclassmethod(raw_member) and | |
| 2673 | hasattr(raw_member, '__func__') and | |
| 2674 | inspect.isproperty(raw_member.__func__)): | |
| 2675 | return True | |
| 2676 | ||
| 2677 | return False | |
| 2678 | if (raw_member is not None and | |
| 2679 | inspect.isclassmethod(raw_member) and | |
| 2680 | hasattr(raw_member, '__func__') and | |
| 2681 | inspect.isproperty(raw_member.__func__)): | |
| 2682 | return True | |
| 2683 | ||
| 2684 | return False | |
| 2665 | 2685 | |
| 2666 | 2686 | def document_members(self, all_members: bool = False) -> None: |
| 2667 | 2687 | pass |
| Test Name | Status |
|---|---|
tests/test_domain_py.py::test_pyproperty | Fail |
tests/test_ext_autodoc_autoclass.py::test_properties | Fail |
tests/test_ext_autodoc_autoproperty.py::test_class_properties | Fail |
tests/test_domain_py.py::test_function_signatures | Fail |
tests/test_domain_py.py::test_domain_py_xrefs | Fail |
tests/test_domain_py.py::test_domain_py_xrefs_abbreviations | Fail |
tests/test_domain_py.py::test_domain_py_objects | Fail |
tests/test_domain_py.py::test_resolve_xref_for_properties | Fail |
tests/test_domain_py.py::test_domain_py_find_obj | Fail |
tests/test_domain_py.py::test_domain_py_canonical | Fail |
tests/test_domain_py.py::test_get_full_qualified_name | Fail |
tests/test_domain_py.py::test_parse_annotation | Fail |
tests/test_domain_py.py::test_pyfunction_signature | Fail |
tests/test_domain_py.py::test_pyfunction_signature_full | Fail |
tests/test_domain_py.py::test_pyfunction_signature_full_py38 | Fail |
tests/test_domain_py.py::test_pyfunction_with_number_literals | Fail |
tests/test_domain_py.py::test_pyfunction_with_union_type_operator | Fail |
tests/test_domain_py.py::test_optional_pyfunction_signature | Fail |
tests/test_domain_py.py::test_pyexception_signature | Fail |
tests/test_domain_py.py::test_pydata_signature | Fail |
tests/test_domain_py.py::test_pydata_signature_old | Fail |
tests/test_domain_py.py::test_pydata_with_union_type_operator | Fail |
tests/test_domain_py.py::test_pyobject_prefix | Fail |
tests/test_domain_py.py::test_pydata | Fail |
tests/test_domain_py.py::test_pyfunction | Fail |
tests/test_domain_py.py::test_pyclass_options | Fail |
tests/test_domain_py.py::test_pymethod_options | Fail |
tests/test_domain_py.py::test_pyclassmethod | Fail |
tests/test_domain_py.py::test_pystaticmethod | Fail |
tests/test_domain_py.py::test_pyattribute | Fail |
tests/test_domain_py.py::test_pydecorator_signature | Fail |
tests/test_domain_py.py::test_pydecoratormethod_signature | Fail |
tests/test_domain_py.py::test_canonical | Fail |
tests/test_domain_py.py::test_canonical_definition_overrides | Fail |
tests/test_domain_py.py::test_canonical_definition_skip | Fail |
tests/test_domain_py.py::test_canonical_duplicated | Fail |
tests/test_domain_py.py::test_info_field_list | Fail |
tests/test_domain_py.py::test_info_field_list_piped_type | Fail |
tests/test_domain_py.py::test_info_field_list_var | Fail |
tests/test_domain_py.py::test_module_index | Fail |
tests/test_domain_py.py::test_module_index_submodule | Fail |
tests/test_domain_py.py::test_module_index_not_collapsed | Fail |
tests/test_domain_py.py::test_modindex_common_prefix | Fail |
tests/test_domain_py.py::test_noindexentry | Fail |
tests/test_domain_py.py::test_python_python_use_unqualified_type_names | Fail |
tests/test_domain_py.py::test_python_python_use_unqualified_type_names_disabled | Fail |
tests/test_domain_py.py::test_warn_missing_reference | Fail |
tests/test_ext_autodoc_autoclass.py::test_classes | Fail |
tests/test_ext_autodoc_autoclass.py::test_instance_variable | Fail |
tests/test_ext_autodoc_autoclass.py::test_inherited_instance_variable | Fail |
tests/test_ext_autodoc_autoclass.py::test_uninitialized_attributes | Fail |
tests/test_ext_autodoc_autoclass.py::test_undocumented_uninitialized_attributes | Fail |
tests/test_ext_autodoc_autoclass.py::test_decorators | Fail |
tests/test_ext_autodoc_autoclass.py::test_slots_attribute | Fail |
tests/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type | Fail |
tests/test_ext_autodoc_autoclass.py::test_autodoc_process_bases | Fail |
tests/test_ext_autodoc_autoclass.py::test_class_doc_from_class | Fail |
tests/test_ext_autodoc_autoclass.py::test_class_doc_from_init | Fail |
tests/test_ext_autodoc_autoclass.py::test_class_doc_from_both | Fail |
tests/test_ext_autodoc_autoclass.py::test_class_alias | Fail |
tests/test_ext_autodoc_autoclass.py::test_class_alias_having_doccomment | Fail |
tests/test_ext_autodoc_autoproperty.py::test_properties | Fail |
© 2025 Ridges AI. Building the future of decentralized AI development.