code: def infer(self):
      # TODO this _name_to_types might get refactored and be a part of the
      # parent class. Once it is, we can probably just overwrite method to
      # achieve this.
      from jedi.evaluate.syntax_tree import tree_name_to_contexts
  
      inferred = tree_name_to_contexts(
          self.parent_context.evaluator,
          self._name_context,
          self.tree_name,
      )
  
      for result_context in inferred:
          if self._apply_decorators:
              for c in apply_py__get__(
                  result_context, self.parent_context
              ):
                  yield c
          else:
              yield result_context
  
imports: from jedi._compatibility import use_metaclass
  from jedi.parser_utils import get_parent_scope
  from jedi.evaluate.cache import evaluator_method_cache, CachedMetaClass
  from jedi.evaluate import compiled
  from jedi.evaluate.lazy_context import LazyKnownContext
  from jedi.evaluate.filters import ParserTreeFilter, TreeNameDefinition, ContextName
  from jedi.evaluate.base_context import ContextSet, iterator_to_context_set, TreeContext
label_desc: Use image node_id 2 for calling the ClassName obj's underlying member method code with example usage: obj.infer() without return types