code: def _fix_forward_reference(context, node):
      evaled_nodes = context.eval_node(node)
      if len(evaled_nodes) != 1:
          debug.warning(
              "Eval'ed typing index %s should lead to 1 object, "
              " not %s" % (node, evaled_nodes)
          )
          return node
  
      evaled_context = list(evaled_nodes)[0]
      if is_string(evaled_context):
          result = _get_forward_reference_node(
              context, evaled_context.get_safe_value()
          )
          if result is not None:
              return result
  
      return node
  
imports: import os
  import re
  from parso import ParserSyntaxError, parse, split_lines
  from parso.python import tree
  from jedi._compatibility import unicode, force_unicode
  from jedi.evaluate.cache import evaluator_method_cache
  from jedi.evaluate import compiled
  from jedi.evaluate.base_context import NO_CONTEXTS, ContextSet
  from jedi.evaluate.lazy_context import LazyTreeContext
  from jedi.evaluate.context import ModuleContext
  from jedi.evaluate.helpers import is_string
  from jedi import debug
  from jedi import parser_utils
label_desc: Use image node_id 3 for calling a global function with example usage: _fix_forward_reference(context, node) and returns: node, node, result