original_docstring: 
      Adds the provided parameters to the signature s (returns a new signature instance).
  
      :param s:
      :param first: a single element or a list of `Parameter` instances to be added at the beginning of the parameter's
          list
      :param last: a single element or a list of `Parameter` instances to be added at the end of the parameter's list
      :return:
      
docstring: Adds the provided parameters to the signature s (returns a new signature instance).
docstring_tokens: Adds the provided parameters to the signature s ( returns a new signature instance ) .
code: def add_signature_parameters(s,         # type: Signature
                               first=(),  # type: Union[Parameter, Iterable[Parameter]]
                               last=(),   # type: Union[Parameter, Iterable[Parameter]]
                               ):
      """
      Adds the provided parameters to the signature s (returns a new signature instance).
  
      :param s:
      :param first: a single element or a list of `Parameter` instances to be added at the beginning of the parameter's
          list
      :param last: a single element or a list of `Parameter` instances to be added at the end of the parameter's list
      :return:
      """
      params = OrderedDict(s.parameters.items())
      lst = list(params.values())
  
      # prepend but keep the order
      try:
          for param in reversed(first):
              if param.name in params:
                  raise ValueError("Parameter with name '%s' is present twice in the signature to create" % param.name)
              else:
                  lst.insert(0, param)
      except TypeError:
          # a single argument
          if first.name in params:
              raise ValueError("Parameter with name '%s' is present twice in the signature to create" % first.name)
          else:
              lst.insert(0, first)
  
      # append
      try:
          for param in last:
              if param.name in params:
                  raise ValueError("Parameter with name '%s' is present twice in the signature to create" % param.name)
              else:
                  lst.append(param)
      except TypeError:
          # a single argument
          if last.name in params:
              raise ValueError("Parameter with name '%s' is present twice in the signature to create" % last.name)
          else:
              lst.append(last)
  
      return s.replace(parameters=lst)
code_tokens: def add_signature_parameters ( s , first = ( ) , last = ( ) , ) : params = OrderedDict ( s . parameters . items ( ) ) lst = list ( params . values ( ) ) try : for param in reversed ( first ) : if param . name in params : raise ValueError ( "Parameter with name '%s' is present twice in the signature to create" % param . name ) else : lst . insert ( 0 , param ) except TypeError : if first . name in params : raise ValueError ( "Parameter with name '%s' is present twice in the signature to create" % first . name ) else : lst . insert ( 0 , first ) try : for param in last : if param . name in params : raise ValueError ( "Parameter with name '%s' is present twice in the signature to create" % param . name ) else : lst . append ( param ) except TypeError : if last . name in params : raise ValueError ( "Parameter with name '%s' is present twice in the signature to create" % last . name ) else : lst . append ( last ) return s . replace ( parameters = lst )
short_docstring: Adds the provided parameters to the signature s (returns a new signature instance).
short_docstring_tokens: Adds the provided parameters to the signature s ( returns a new signature instance ) .
comment: # type: Signature$SEP$# type: Union[Parameter, Iterable[Parameter]]$SEP$# type: Union[Parameter, Iterable[Parameter]]$SEP$"""
      Adds the provided parameters to the signature s (returns a new signature instance).
  
      :param s:
      :param first: a single element or a list of `Parameter` instances to be added at the beginning of the parameter's
          list
      :param last: a single element or a list of `Parameter` instances to be added at the end of the parameter's list
      :return:
      """$SEP$# prepend but keep the order$SEP$# a single argument$SEP$# append$SEP$# a single argument