mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-08 23:04:48 +08:00
The generics manager is now part of DefineGenericBase
This commit is contained in:
@@ -119,11 +119,15 @@ class AnnotatedClassContext(ClassContext):
|
|||||||
|
|
||||||
|
|
||||||
class DefineGenericBase(LazyValueWrapper):
|
class DefineGenericBase(LazyValueWrapper):
|
||||||
|
def __init__(self, generics_manager):
|
||||||
|
self._generics_manager = generics_manager
|
||||||
|
|
||||||
def _get_fixed_generics_cls(self):
|
def _get_fixed_generics_cls(self):
|
||||||
return GenericClass
|
return GenericClass
|
||||||
|
|
||||||
|
@inference_state_method_cache()
|
||||||
def get_generics(self):
|
def get_generics(self):
|
||||||
raise NotImplementedError
|
return self._generics_manager.to_tuple()
|
||||||
|
|
||||||
def define_generics(self, type_var_dict):
|
def define_generics(self, type_var_dict):
|
||||||
from jedi.inference.gradual.type_var import TypeVar
|
from jedi.inference.gradual.type_var import TypeVar
|
||||||
@@ -187,8 +191,8 @@ class DefineGenericBase(LazyValueWrapper):
|
|||||||
|
|
||||||
class GenericClass(ClassMixin, DefineGenericBase):
|
class GenericClass(ClassMixin, DefineGenericBase):
|
||||||
def __init__(self, class_value, generics_manager):
|
def __init__(self, class_value, generics_manager):
|
||||||
|
super(GenericClass, self).__init__(generics_manager)
|
||||||
self._class_value = class_value
|
self._class_value = class_value
|
||||||
self._generics_manager = generics_manager
|
|
||||||
|
|
||||||
def _get_wrapped_value(self):
|
def _get_wrapped_value(self):
|
||||||
return self._class_value
|
return self._class_value
|
||||||
@@ -208,10 +212,6 @@ class GenericClass(ClassMixin, DefineGenericBase):
|
|||||||
for base in self._wrapped_value.py__bases__():
|
for base in self._wrapped_value.py__bases__():
|
||||||
yield _LazyGenericBaseClass(self, base)
|
yield _LazyGenericBaseClass(self, base)
|
||||||
|
|
||||||
@inference_state_method_cache()
|
|
||||||
def get_generics(self):
|
|
||||||
return self._generics_manager.to_tuple()
|
|
||||||
|
|
||||||
|
|
||||||
class _LazyGenericBaseClass(object):
|
class _LazyGenericBaseClass(object):
|
||||||
def __init__(self, class_value, lazy_base_class):
|
def __init__(self, class_value, lazy_base_class):
|
||||||
|
|||||||
Reference in New Issue
Block a user