docstr: Return the argument list and docstring of a function or class.
  
  If there is a Python subprocess, get the calltip there.  Otherwise,
  either this fetch_tip() is running in the subprocess or it was
  called in an IDLE running without the subprocess.
  
  The subprocess environment is that of the most recently run script.  If
  two unrelated modules are being edited some calltips in the current
  module may be inoperative if the module was not the last to run.
  
  To find methods, fetch_tip must be fed a fully qualified name.
docstr_tok: ["Return","the","argument","list","and","docstring","of","a","function","or","class",".","If","there","is","a","Python","subprocess",",","get","the","calltip","there",".","Otherwise",",","either","this","fetch_tip","(",")","is","running","in","the","subprocess","or","it","was","called","in","an","IDLE","running","without","the","subprocess",".","The","subprocess","environment","is","that","of","the","most","recently","run","script",".","If","two","unrelated","modules","are","being","edited","some","calltips","in","the","current","module","may","be","inoperative","if","the","module","was","not","the","last","to","run",".","To","find","methods",",","fetch_tip","must","be","fed","a","fully","qualified","name","."]
code: def fetch_tip(self, expression):
      """Return the argument list and docstring of a function or class.
  
      If there is a Python subprocess, get the calltip there.  Otherwise,
      either this fetch_tip() is running in the subprocess or it was
      called in an IDLE running without the subprocess.
  
      The subprocess environment is that of the most recently run script.  If
      two unrelated modules are being edited some calltips in the current
      module may be inoperative if the module was not the last to run.
  
      To find methods, fetch_tip must be fed a fully qualified name.
  
      """
      try:
          rpcclt = self.editwin.flist.pyshell.interp.rpcclt
      except AttributeError:
          rpcclt = None
      if rpcclt:
          return rpcclt.remotecall(
              "exec", "get_the_calltip", (expression,), {}
          )
      else:
          return get_argspec(get_entity(expression))
  
file_path: cpython/Lib/idlelib/calltip.py
imports: import __main__
  import inspect
  import re
  import sys
  import textwrap
  import types
  from idlelib import calltip_w
  from idlelib.hyperparser import HyperParser
label_desc: Use image node_id 9 for calling the Calltip obj's underlying member method code with example usage: obj.fetch_tip(expression) and returns: rpcclt, get_argspec