'return the argument declarations of this FunctionDecl as a printable
list.'

def get_argument_expressions(self, include_defaults=True):

    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)
            kwargs = False
        elif varargs:
            arg = ('*' + 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
