Path 1: 1129705 calls (1.0)

ClassChecker (133147) TypeChecker (102086) VariablesChecker (84846) BasicChecker (77980) StringFormatChecker (71041) PyLinter (70234) BasicErrorChecke...

tuple (1048277) ITokenChecker def (40714) IRawChecker def (40714)

False (1129705)

1def implements(
2    obj: BaseChecker,
3    interface: type[Interface] | tuple[type[Interface], ...],
4) -> bool:
5    """Does the given object (maybe an instance or class) implement the interface."""
6    # TODO: 3.0: Remove deprecated function
7    warnings.warn(
8        "implements has been deprecated in favour of using basic "
9        "inheritance patterns without using __implements__.",
10        DeprecationWarning,
11        stacklevel=2,
12    )
13    implements_ = getattr(obj, "__implements__", ())
14    if not isinstance(implements_, (list, tuple)):
15        implements_ = (implements_,)
16    return any(issubclass(i, interface) for i in implements_)