def _is_instance_method()

in testslide/patch.py [0:0]


def _is_instance_method(target: Any, method: str) -> bool:
    if inspect.ismodule(target):
        return False

    klass = target if inspect.isclass(target) else type(target)
    for k in klass.mro():
        if method in k.__dict__:
            value = k.__dict__[method]
            if isinstance(value, _DescriptorProxy):
                value = value.original_class_attr
            if inspect.isfunction(value):
                return True
    return False