mirror of
https://github.com/davidhalter/jedi.git
synced 2026-05-20 07:19:40 +08:00
Make sure execute_function_slots and get_function_slots is defined for all instances
This commit is contained in:
@@ -107,6 +107,16 @@ class AbstractInstanceValue(Value):
|
|||||||
call_funcs = self.py__getattribute__('__call__').py__get__(self, self.class_value)
|
call_funcs = self.py__getattribute__('__call__').py__get__(self, self.class_value)
|
||||||
return [s.bind(self) for s in call_funcs.get_signatures()]
|
return [s.bind(self) for s in call_funcs.get_signatures()]
|
||||||
|
|
||||||
|
def get_function_slot_names(self, name):
|
||||||
|
# Searches for Python functions in classes.
|
||||||
|
return []
|
||||||
|
|
||||||
|
def execute_function_slots(self, names, *inferred_args):
|
||||||
|
return ValueSet.from_sets(
|
||||||
|
name.infer().execute_with_values(*inferred_args)
|
||||||
|
for name in names
|
||||||
|
)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "<%s of %s>" % (self.__class__.__name__, self.class_value)
|
return "<%s of %s>" % (self.__class__.__name__, self.class_value)
|
||||||
|
|
||||||
@@ -286,12 +296,6 @@ class _BaseTreeInstance(AbstractInstanceValue):
|
|||||||
return names
|
return names
|
||||||
return []
|
return []
|
||||||
|
|
||||||
def execute_function_slots(self, names, *inferred_args):
|
|
||||||
return ValueSet.from_sets(
|
|
||||||
name.infer().execute_with_values(*inferred_args)
|
|
||||||
for name in names
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class TreeInstance(_BaseTreeInstance):
|
class TreeInstance(_BaseTreeInstance):
|
||||||
def __init__(self, inference_state, parent_context, class_value, arguments):
|
def __init__(self, inference_state, parent_context, class_value, arguments):
|
||||||
|
|||||||
Reference in New Issue
Block a user