def _check_bound_methods(self, node: types.AnyFunctionDef) -> None: node_context = nodes.get_context(node) if not isinstance(node_context, ast.ClassDef): return if not functions.get_all_arguments(node): self.add_violation( oop.MethodWithoutArgumentsViolation(node, text=node.name), ) if node.name in constants.MAGIC_METHODS_BLACKLIST: self.add_violation( oop.BadMagicMethodViolation(node, text=node.name), ) is_async = isinstance(node, ast.AsyncFunctionDef) if is_async and access.is_magic(node.name): if node.name in constants.ASYNC_MAGIC_METHODS_BLACKLIST: self.add_violation( oop.AsyncMagicMethodViolation(node, text=node.name), ) self._check_useless_overwritten_methods( node, class_name=node_context.name, )
def _check_bound_methods(self, node: types.AnyFunctionDef) -> None: node_context = get_context(node) if not isinstance(node_context, ast.ClassDef): return if not functions.get_all_arguments(node): self.add_violation( oop.MethodWithoutArgumentsViolation(node, text=node.name), ) if node.name in constants.MAGIC_METHODS_BLACKLIST: self.add_violation( oop.BadMagicMethodViolation(node, text=node.name), )