(stub: nodes.FuncDef, runtime: Any)
| 1517 | |
| 1518 | |
| 1519 | def _verify_abstract_status(stub: nodes.FuncDef, runtime: Any) -> Iterator[str]: |
| 1520 | stub_abstract = stub.abstract_status == nodes.IS_ABSTRACT |
| 1521 | runtime_abstract = getattr(runtime, "__isabstractmethod__", False) |
| 1522 | # The opposite can exist: some implementations omit `@abstractmethod` decorators |
| 1523 | if runtime_abstract and not stub_abstract: |
| 1524 | item_type = "property" if stub.is_property else "method" |
| 1525 | yield f"is inconsistent, runtime {item_type} is abstract but stub is not" |
| 1526 | |
| 1527 | |
| 1528 | def _verify_final_method( |
no test coverage detected
searching dependent graphs…