The generics manager is now part of DefineGenericBase

This commit is contained in:
Dave Halter
2019-12-08 23:03:15 +01:00
parent 9eef771ec5
commit 5874b0bd69

View File

@@ -119,11 +119,15 @@ class AnnotatedClassContext(ClassContext):
class DefineGenericBase(LazyValueWrapper):
def __init__(self, generics_manager):
self._generics_manager = generics_manager
def _get_fixed_generics_cls(self):
return GenericClass
@inference_state_method_cache()
def get_generics(self):
raise NotImplementedError
return self._generics_manager.to_tuple()
def define_generics(self, type_var_dict):
from jedi.inference.gradual.type_var import TypeVar
@@ -187,8 +191,8 @@ class DefineGenericBase(LazyValueWrapper):
class GenericClass(ClassMixin, DefineGenericBase):
def __init__(self, class_value, generics_manager):
super(GenericClass, self).__init__(generics_manager)
self._class_value = class_value
self._generics_manager = generics_manager
def _get_wrapped_value(self):
return self._class_value
@@ -208,10 +212,6 @@ class GenericClass(ClassMixin, DefineGenericBase):
for base in self._wrapped_value.py__bases__():
yield _LazyGenericBaseClass(self, base)
@inference_state_method_cache()
def get_generics(self):
return self._generics_manager.to_tuple()
class _LazyGenericBaseClass(object):
def __init__(self, class_value, lazy_base_class):