Example #1
0
    def get_argument_expressions(self, include_defaults=True):
        """return the argument declarations of this FunctionDecl as a printable
        list."""

        namedecls = []
        defaults = [d for d in self.defaults]
        kwargs = self.kwargs
        varargs = self.varargs
        argnames = [f for f in self.argnames]
        argnames.reverse()
        for arg in argnames:
            default = None
            if kwargs:
                arg = "**" + arg_stringname(arg)
                kwargs = False
            elif varargs:
                arg = "*" + arg_stringname(arg)
                varargs = False
            else:
                default = len(defaults) and defaults.pop() or None
            if include_defaults and default:
                namedecls.insert(
                    0, "%s=%s" %
                    (arg, pyparser.ExpressionGenerator(default).value()))
            else:
                namedecls.insert(0, arg)
        return namedecls
Example #2
0
File: ast.py Project: Zer0-/mako
    def get_argument_expressions(self, include_defaults=True):
        """return the argument declarations of this FunctionDecl as a printable
        list."""

        namedecls = []
        defaults = [d for d in self.defaults]
        kwargs = self.kwargs
        varargs = self.varargs
        argnames = [f for f in self.argnames]
        argnames.reverse()
        for arg in argnames:
            default = None
            if kwargs:
                arg = "**" + arg_stringname(arg)
                kwargs = False
            elif varargs:
                arg = "*" + arg_stringname(arg)
                varargs = False
            else:
                default = len(defaults) and defaults.pop() or None
            if include_defaults and default:
                namedecls.insert(0, "%s=%s" % (arg, pyparser.ExpressionGenerator(default).value()))
            else:
                namedecls.insert(0, arg)
        return namedecls
Example #3
0
 def visit_FunctionDef(self, node):
     self.listener.funcname = node.name
     argnames = [arg_id(arg) for arg in node.args.args]
     if node.args.vararg:
         argnames.append(arg_stringname(node.args.vararg))
     if node.args.kwarg:
         argnames.append(arg_stringname(node.args.kwarg))
     self.listener.argnames = argnames
     self.listener.defaults = node.args.defaults  # ast
     self.listener.varargs = node.args.vararg
     self.listener.kwargs = node.args.kwarg
Example #4
0
 def visit_FunctionDef(self, node):
     self.listener.funcname = node.name
     argnames = [arg_id(arg) for arg in node.args.args]
     if node.args.vararg:
         argnames.append(arg_stringname(node.args.vararg))
     if node.args.kwarg:
         argnames.append(arg_stringname(node.args.kwarg))
     self.listener.argnames = argnames
     self.listener.defaults = node.args.defaults  # ast
     self.listener.varargs = node.args.vararg
     self.listener.kwargs = node.args.kwarg