code: def infer_param(execution_context, param):
      from jedi.evaluate.context.instance import InstanceArguments
      from jedi.evaluate.context import FunctionExecutionContext
  
      def eval_docstring(docstring):
          return ContextSet.from_iterable(
              p
              for param_str in _search_param_in_docstr(
                  docstring, param.name.value
              )
              for p in _evaluate_for_statement_string(
                  module_context, param_str
              )
          )
  
      module_context = execution_context.get_root_context()
      func = param.get_parent_function()
      if func.type == "lambdef":
          return NO_CONTEXTS
  
      types = eval_docstring(execution_context.py__doc__())
      if (
          isinstance(execution_context, FunctionExecutionContext)
          and isinstance(execution_context.var_args, InstanceArguments)
          and execution_context.function_context.py__name__()
          == "__init__"
      ):
          class_context = (
              execution_context.var_args.instance.class_context
          )
          types |= eval_docstring(class_context.py__doc__())
  
      return types
  
file_path: catboost/contrib/python/jedi/py3/jedi/evaluate/docstrings.py
imports: import re
  from textwrap import dedent
  from parso import parse, ParserSyntaxError
  from jedi._compatibility import u
  from jedi.evaluate.utils import indent_block
  from jedi.evaluate.cache import evaluator_method_cache
  from jedi.evaluate.base_context import iterator_to_context_set, ContextSet, NO_CONTEXTS
  from jedi.evaluate.lazy_context import LazyKnownContexts
label_desc: Use image node_id 10 for calling a global function with example usage: infer_param(execution_context, param) and returns: types, ContextSet, NO_CONTEXTS