_fn.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:tidy 作者: cyrus- 项目源码 文件源码
def _setup_args(ctx, args, arg_types, tree):
        # var and kw args are not supported
        if args.vararg:
            raise _errors.TyError("Varargs are not supported.", args.vararg)
        if args.kwarg:
            raise _errors.TyError("Kwargs are not supported.", args.kwarg)
        if len(args.defaults) != 0:
            raise _errors.TyError("Defaults are not supported.", tree)

        variables = ctx.variables
        arguments = args.args
        n_args, n_arg_types = len(arguments), len(arg_types)
        if n_args != n_arg_types:
            raise _errors.TyError(
                "Type specifies {0} arguments but function has {1}.".format(
                    n_arg_types, n_args), 
                tree)
        for arg, arg_type in zip(arguments, arg_types):
            if not isinstance(arg, ast.Name):
                raise _errors.TyError("Argument must be an identifier.", arg)
            arg_id = arg.id
            uniq_id = ctx.generate_fresh_id(arg_id)
            arg.uniq_id = uniq_id
            variables[arg_id] = (uniq_id, arg_type)
            yield arg_id
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号