parameters: (funcdef, width=72, call_string=None)
return_statement: return '\n'.join(textwrap.wrap(code, width))
docstring: Generate call signature of this function.
  
      :param width: Fold lines if a line is longer than this value.
      :type width: int
      :arg func_name: Override function name when given.
      :type func_name: str
  
      :rtype: str
docstring_summary: Generate call signature of this function.
docstring_tokens: Generate call signature of this function .
function: def get_call_signature(funcdef, width=72, call_string=None):
      """
      Generate call signature of this function.
  
      :param width: Fold lines if a line is longer than this value.
      :type width: int
      :arg func_name: Override function name when given.
      :type func_name: str
  
      :rtype: str
      """
      # Lambdas have no name.
      if call_string is None:
          if funcdef.type == 'lambdef':
              call_string = '<lambda>'
          else:
              call_string = funcdef.name.value
      if funcdef.type == 'lambdef':
          p = '(' + ''.join(param.get_code() for param in funcdef.get_params()).strip() + ')'
      else:
          p = funcdef.children[2].get_code()
      code = call_string + p
  
      return '\n'.join(textwrap.wrap(code, width))
function_tokens: def get_call_signature ( funcdef , width = 72 , call_string = None ) : # Lambdas have no name. if call_string is None : if funcdef . type == 'lambdef' : call_string = '<lambda>' else : call_string = funcdef . name . value if funcdef . type == 'lambdef' : p = '(' + '' . join ( param . get_code ( ) for param in funcdef . get_params ( ) ) . strip ( ) + ')' else : p = funcdef . children [ 2 ] . get_code ( ) code = call_string + p return '\n' . join ( textwrap . wrap ( code , width ) )