class_docstr: Inject code or modify the docstring of a class, method, or function.
docstr: Call.
  
  Parameters
  ----------
  obj : object
      Object to call.
  
  Returns
  -------
  obj : object
      The modified object.
docstr_tok: ["Call",".","Parameters","--","--","--","--","--","obj",":","object","Object","to","call",".","Returns","--","--","--","-","obj",":","object","The","modified","object","."]
code: def __call__(self, obj):  # noqa: D105
      """Call.
  
      Parameters
      ----------
      obj : object
          Object to call.
  
      Returns
      -------
      obj : object
          The modified object.
      """
      if inspect.isclass(obj):
          obj_type = "class"
      else:
          # NB: detecting (bound and unbound) methods seems to be impossible
          assert inspect.isfunction(
              obj
          ), f"decorator used on {type(obj)}"
          obj_type = "function"
      msg = self.msg.format(obj.__name__, obj_type)
      if obj_type == "class":
          obj.__init__ = self._make_fun(obj.__init__, msg)
          return obj
      return self._make_fun(obj, msg)
  
imports: import inspect
  import os
  import os.path
  import re
  import sys
  import webbrowser
  from copy import deepcopy
  from decorator import FunctionMaker
  from ..defaults import HEAD_SIZE_DEFAULT
  from ._bunch import BunchConst
label_desc: Use image node_id 2 for calling the _decorator obj's underlying member method code with example usage: obj.__call__(obj) and returns: self, obj