code: def listen(self):
      stdout = sys.stdout
      # Mute stdout. Nobody should actually be able to write to it,
      # because stdout is used for IPC.
      sys.stdout = open(os.devnull, "w")
      stdin = sys.stdin
      if sys.version_info[0] > 2:
          stdout = stdout.buffer
          stdin = stdin.buffer
      # Python 2 opens streams in text mode on Windows. Set stdout and stdin
      # to binary mode.
      elif sys.platform == "win32":
          import msvcrt
  
          msvcrt.setmode(stdout.fileno(), os.O_BINARY)
          msvcrt.setmode(stdin.fileno(), os.O_BINARY)
  
      while True:
          try:
              payload = pickle_load(stdin)
          except EOFError:
              # It looks like the parent process closed.
              # Don't make a big fuss here and just exit.
              exit(0)
          try:
              result = False, None, self._run(*payload)
          except Exception as e:
              result = True, traceback.format_exc(), e
  
          pickle_dump(result, stdout, self._pickle_protocol)
  
imports: import os
  import sys
  import subprocess
  import socket
  import errno
  import weakref
  import traceback
  from functools import partial
  from threading import Thread
  from jedi._compatibility import queue, is_py3, force_unicode, pickle_dump, pickle_load, GeneralizedPopen, print_to_stderr
  from jedi import debug
  from jedi.cache import memoize_method
  from jedi.evaluate.compiled.subprocess import functions
  from jedi.evaluate.compiled.access import DirectObjectAccess, AccessPath, SignatureParam
  from jedi.api.exceptions import InternalError
label_desc: Use image node_id 4 for calling the Listener obj's underlying member method code with example usage: obj.listen() without return types