class_docstr: This class is not only important to extend `tree.Class`, it is also a
  important for descriptors (if the descriptor methods are evaluated or not).
code: def get_filters(
      self,
      search_global,
      until_position=None,
      origin_scope=None,
      is_instance=False,
  ):
      if search_global:
          yield ParserTreeFilter(
              self.evaluator,
              context=self,
              until_position=until_position,
              origin_scope=origin_scope,
          )
      else:
          for cls in self.py__mro__():
              if isinstance(cls, compiled.CompiledObject):
                  for filter in cls.get_filters(
                      is_instance=is_instance
                  ):
                      yield filter
              else:
                  yield ClassFilter(
                      self.evaluator,
                      self,
                      node_context=cls,
                      origin_scope=origin_scope,
                      is_instance=is_instance,
                  )
  
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 5 for calling the ClassContext obj's underlying member method code with example usage: obj.get_filters(search_global, until_position, origin_scope, is_instance) without return types