code: def _search_function_executions(
      evaluator, module_context, funcdef, string_name
  ):
      """
      Returns a list of param names.
      """
      compare_node = funcdef
      if string_name == "__init__":
          cls = get_parent_scope(funcdef)
          if isinstance(cls, tree.Class):
              string_name = cls.name.value
              compare_node = cls
  
      found_executions = False
      i = 0
      for for_mod_context in imports.get_modules_containing_name(
          evaluator, [module_context], string_name
      ):
          if not isinstance(module_context, ModuleContext):
              return
          for name, trailer in _get_possible_nodes(
              for_mod_context, string_name
          ):
              i += 1
  
              # This is a simple way to stop Jedi's dynamic param recursion
              # from going wild: The deeper Jedi's in the recursion, the less
              # code should be evaluated.
              if (
                  i * evaluator.dynamic_params_depth
                  > MAX_PARAM_SEARCHES
              ):
                  return
  
              random_context = evaluator.create_context(
                  for_mod_context, name
              )
              for function_execution in _check_name_for_execution(
                  evaluator, random_context, compare_node, name, trailer
              ):
                  found_executions = True
                  yield function_execution
  
          # If there are results after processing a module, we're probably
          # good to process. This is a speed optimization.
          if found_executions:
              return
  
imports: from parso.python import tree
  from jedi import settings
  from jedi import debug
  from jedi.evaluate.cache import evaluator_function_cache
  from jedi.evaluate import imports
  from jedi.evaluate.arguments import TreeArguments
  from jedi.evaluate.param import create_default_params
  from jedi.evaluate.helpers import is_stdlib_path
  from jedi.evaluate.utils import to_list
  from jedi.parser_utils import get_parent_scope
  from jedi.evaluate.context import ModuleContext, instance
  from jedi.evaluate.base_context import ContextSet, NO_CONTEXTS
  from jedi.evaluate import recursion
label_desc: Use image node_id 2 for calling a global function with example usage: _search_function_executions(evaluator, module_context, funcdef, string_name) without return types