Method: pylint.interfaces.implements
Calls: 1129705, Exceptions: 0, Paths: 1Back
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_)