Remove use_metaclass

This commit is contained in:
Dave Halter
2020-07-02 00:58:30 +02:00
parent c651109b9a
commit 1dc83115be
4 changed files with 6 additions and 16 deletions

View File

@@ -218,13 +218,6 @@ except NameError:
unicode = str unicode = str
def use_metaclass(meta, *bases):
""" Create a class with a metaclass. """
if not bases:
bases = (object,)
return meta("Py2CompatibilityMetaClass", bases, {})
try: try:
encoding = sys.stdout.encoding encoding = sys.stdout.encoding
if encoding is None: if encoding is None:

View File

@@ -7,7 +7,6 @@ import weakref
from parso.tree import search_ancestor from parso.tree import search_ancestor
from jedi._compatibility import use_metaclass
from jedi.inference import flow_analysis from jedi.inference import flow_analysis
from jedi.inference.base_value import ValueSet, ValueWrapper, \ from jedi.inference.base_value import ValueSet, ValueWrapper, \
LazyValueWrapper LazyValueWrapper
@@ -334,14 +333,14 @@ class _AttributeOverwriteMixin(object):
yield filter yield filter
class LazyAttributeOverwrite(use_metaclass(_OverwriteMeta, _AttributeOverwriteMixin, class LazyAttributeOverwrite(_AttributeOverwriteMixin, LazyValueWrapper,
LazyValueWrapper)): metaclass=_OverwriteMeta):
def __init__(self, inference_state): def __init__(self, inference_state):
self.inference_state = inference_state self.inference_state = inference_state
class AttributeOverwrite(use_metaclass(_OverwriteMeta, _AttributeOverwriteMixin, class AttributeOverwrite(_AttributeOverwriteMixin, ValueWrapper,
ValueWrapper)): metaclass=_OverwriteMeta):
pass pass

View File

@@ -1,6 +1,5 @@
from parso.python import tree from parso.python import tree
from jedi._compatibility import use_metaclass
from jedi import debug from jedi import debug
from jedi.inference.cache import inference_state_method_cache, CachedMetaClass from jedi.inference.cache import inference_state_method_cache, CachedMetaClass
from jedi.inference import compiled from jedi.inference import compiled
@@ -126,7 +125,7 @@ class FunctionMixin(object):
return [TreeSignature(f) for f in self.get_signature_functions()] return [TreeSignature(f) for f in self.get_signature_functions()]
class FunctionValue(use_metaclass(CachedMetaClass, FunctionMixin, FunctionAndClassBase)): class FunctionValue(FunctionMixin, FunctionAndClassBase, metaclass=CachedMetaClass):
@classmethod @classmethod
def from_context(cls, context, tree_node): def from_context(cls, context, tree_node):
def create(tree_node): def create(tree_node):

View File

@@ -37,7 +37,6 @@ py__doc__() Returns the docstring for a value.
""" """
from jedi import debug from jedi import debug
from jedi._compatibility import use_metaclass
from jedi.parser_utils import get_cached_parent_scope, expr_is_dotted from jedi.parser_utils import get_cached_parent_scope, expr_is_dotted
from jedi.inference.cache import inference_state_method_cache, CachedMetaClass, \ from jedi.inference.cache import inference_state_method_cache, CachedMetaClass, \
inference_state_method_generator_cache inference_state_method_generator_cache
@@ -321,7 +320,7 @@ class ClassMixin(object):
return ValueSet({self}) return ValueSet({self})
class ClassValue(use_metaclass(CachedMetaClass, ClassMixin, FunctionAndClassBase)): class ClassValue(ClassMixin, FunctionAndClassBase, metaclass=CachedMetaClass):
api_type = u'class' api_type = u'class'
@inference_state_method_cache() @inference_state_method_cache()