code: def __init__(
      self,
      evaluator,
      context,
      name_context,
      name_or_str,
      position=None,
      analysis_errors=True,
  ):
      self._evaluator = evaluator
      # Make sure that it's not just a syntax tree node.
      self._context = context
      self._name_context = name_context
      self._name = name_or_str
      if isinstance(name_or_str, tree.Name):
          self._string_name = name_or_str.value
      else:
          self._string_name = name_or_str
      self._position = position
      self._found_predefined_types = None
      self._analysis_errors = analysis_errors
  
imports: from parso.python import tree
  from parso.tree import search_ancestor
  from jedi import debug
  from jedi import settings
  from jedi.evaluate.context import AbstractInstanceContext
  from jedi.evaluate import compiled
  from jedi.evaluate import analysis
  from jedi.evaluate import flow_analysis
  from jedi.evaluate.arguments import TreeArguments
  from jedi.evaluate import helpers
  from jedi.evaluate.context import iterable
  from jedi.evaluate.filters import get_global_filters, TreeNameDefinition
  from jedi.evaluate.base_context import ContextSet
  from jedi.parser_utils import is_scope, get_parent_scope
label_desc: Use image node_id 1 to create a new NameFinder object from inherited base classes: object with example: obj = NameFinder(evaluator, context, name_context, name_or_str, position, analysis_errors)