mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-06 22:14:27 +08:00
Use _create_instance_with_generics
This commit is contained in:
@@ -122,8 +122,8 @@ class DefineGenericBase(LazyValueWrapper):
|
|||||||
def __init__(self, generics_manager):
|
def __init__(self, generics_manager):
|
||||||
self._generics_manager = generics_manager
|
self._generics_manager = generics_manager
|
||||||
|
|
||||||
def _get_fixed_generics_cls(self):
|
def _create_instance_with_generics(self, generics_manager):
|
||||||
return GenericClass
|
raise NotImplementedError
|
||||||
|
|
||||||
@inference_state_method_cache()
|
@inference_state_method_cache()
|
||||||
def get_generics(self):
|
def get_generics(self):
|
||||||
@@ -151,8 +151,7 @@ class DefineGenericBase(LazyValueWrapper):
|
|||||||
# cached results.
|
# cached results.
|
||||||
return ValueSet([self])
|
return ValueSet([self])
|
||||||
|
|
||||||
return ValueSet([self._get_fixed_generics_cls()(
|
return ValueSet([self._create_instance_with_generics(
|
||||||
self._wrapped_value,
|
|
||||||
TupleGenericManager(tuple(new_generics))
|
TupleGenericManager(tuple(new_generics))
|
||||||
)])
|
)])
|
||||||
|
|
||||||
@@ -212,6 +211,9 @@ 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)
|
||||||
|
|
||||||
|
def _create_instance_with_generics(self, generics_manager):
|
||||||
|
return GenericClass(self._class_value, generics_manager)
|
||||||
|
|
||||||
|
|
||||||
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