def is_method_call(func, types=(), methods=()):
return (<EOL>isinstance(func, astroid.BoundMethod)<EOL>and isinstance(func.bound, astroid.Instance)<EOL>and (func.bound.name in types if types else True)<EOL>and (func.name in methods if methods else True)<EOL>)<EOL>
Determines if a BoundMethod node represents a method call.

    Args:
      func (astroid.BoundMethod): The BoundMethod AST node to check.
      types (Optional[String]): Optional sequence of caller type names to restrict check.
      methods (Optional[String]): Optional sequence of method names to restrict check.

    Returns:
      bool: true if the node represents a method call for the given type and
      method names, False otherwise.