code: def add_module_to_cache(evaluator, module_name, module, safe=False):
      if not safe and "." not in module_name:
          # We cannot add paths with dots, because that would collide with
          # the sepatator dots for nested packages. Therefore we return
          # `__main__` in ModuleWrapper.py__name__(), which is similar to
          # Python behavior.
          return
      evaluator.module_cache.add(module, module_name)
  
imports: import os
  from parso.python import tree
  from parso.tree import search_ancestor
  from parso import python_bytes_to_unicode
  from jedi._compatibility import FileNotFoundError, ImplicitNSInfo, force_unicode, unicode
  from jedi import debug
  from jedi import settings
  from jedi.parser_utils import get_cached_code_lines
  from jedi.evaluate import sys_path
  from jedi.evaluate import helpers
  from jedi.evaluate import compiled
  from jedi.evaluate import analysis
  from jedi.evaluate.utils import unite
  from jedi.evaluate.cache import evaluator_method_cache
  from jedi.evaluate.filters import AbstractNameDefinition
  from jedi.evaluate.base_context import ContextSet, NO_CONTEXTS
label_desc: Use image node_id 4 for calling a global function with example usage: add_module_to_cache(evaluator, module_name, module, safe) without return types