@utils.check_messages("<STR_LIT>")<EOL><INDENT>def visit_lambda(self, node):<DEDENT>
<EOL>if node.args.defaults:<EOL><INDENT>return<EOL><DEDENT>call = node.body<EOL>if not isinstance(call, astroid.Call):<EOL><INDENT>return<EOL><DEDENT>if isinstance(node.body.func, astroid.Attribute) and isinstance(<EOL>node.body.func.expr, astroid.Call<EOL>):<EOL><INDENT>return<EOL><DEDENT>call_site = CallSite.from_call(call)<EOL>ordinary_args = list(node.args.args)<EOL>new_call_args = list(self._filter_vararg(node, call.args))<EOL>if node.args.kwarg:<EOL><INDENT>if self._has_variadic_argument(call.kwargs, node.args.kwarg):<EOL><INDENT>return<EOL><DEDENT><DEDENT>if node.args.vararg:<EOL><INDENT>if self._has_variadic_argument(call.starargs, node.args.vararg):<EOL><INDENT>return<EOL><DEDENT><DEDENT>elif call.starargs:<EOL><INDENT>return<EOL><DEDENT>if call.keywords:<EOL><INDENT>lambda_kwargs = {keyword.name for keyword in node.args.defaults}<EOL>if len(lambda_kwargs) != len(call_site.keyword_arguments):<EOL><INDENT>return<EOL><DEDENT>if set(call_site.keyword_arguments).difference(lambda_kwargs):<EOL><INDENT>return<EOL><DEDENT><DEDENT>if len(ordinary_args) != len(new_call_args):<EOL><INDENT>return<EOL><DEDENT>for arg, passed_arg in zip(ordinary_args, new_call_args):<EOL><INDENT>if not isinstance(passed_arg, astroid.Name):<EOL><INDENT>return<EOL><DEDENT>if arg.name != passed_arg.name:<EOL><INDENT>return<EOL><DEDENT><DEDENT>self.add_message("<STR_LIT>", line=node.fromlineno, node=node)<EOL>
check whether or not the lambda is suspicious