parameters: (mcs, *args, **kwargs)
docstring: Returns an instance of the argument parser cls.
  
      This method overrides behavior of the __new__ methods in
      all subclasses of ArgumentParser (inclusive). If an instance
      for mcs with the same set of arguments exists, this instance is
      returned, otherwise a new instance is created.
  
      If any keyword arguments are defined, or the values in args
      are not hashable, this method always returns a new instance of
      cls.
  
      Args:
        args: Positional initializer arguments.
        kwargs: Initializer keyword arguments.
  
      Returns:
        An instance of cls, shared or new.
docstring_summary: Returns an instance of the argument parser cls.
docstring_tokens: Returns an instance of the argument parser cls .
function: def __call__(mcs, *args, **kwargs):
      """Returns an instance of the argument parser cls.
  
      This method overrides behavior of the __new__ methods in
      all subclasses of ArgumentParser (inclusive). If an instance
      for mcs with the same set of arguments exists, this instance is
      returned, otherwise a new instance is created.
  
      If any keyword arguments are defined, or the values in args
      are not hashable, this method always returns a new instance of
      cls.
  
      Args:
        args: Positional initializer arguments.
        kwargs: Initializer keyword arguments.
  
      Returns:
        An instance of cls, shared or new.
      """
      if kwargs:
        return type.__call__(mcs, *args, **kwargs)
      else:
        instances = mcs._instances
        key = (mcs,) + tuple(args)
        try:
          return instances[key]
        except KeyError:
          # No cache entry for key exists, create a new one.
          return instances.setdefault(key, type.__call__(mcs, *args))
        except TypeError:
          # An object in args cannot be hashed, always return
          # a new instance.
          return type.__call__(mcs, *args)
function_tokens: def __call__ ( mcs , * args , * * kwargs ) : if kwargs : return type . __call__ ( mcs , * args , * * kwargs ) else : instances = mcs . _instances key = ( mcs , ) + tuple ( args ) try : return instances [ key ] except KeyError : # No cache entry for key exists, create a new one. return instances . setdefault ( key , type . __call__ ( mcs , * args ) ) except TypeError : # An object in args cannot be hashed, always return # a new instance. return type . __call__ ( mcs , * args )