forked from VimPlug/jedi
@publish_method should provide arguments
This commit is contained in:
@@ -255,7 +255,7 @@ class _BuiltinMappedMethod(ValueWrapper):
|
||||
|
||||
def py__call__(self, arguments):
|
||||
# TODO add TypeError if params are given/or not correct.
|
||||
return self._method(self._value)
|
||||
return self._method(self._value, arguments)
|
||||
|
||||
|
||||
class SpecialMethodFilter(DictFilter):
|
||||
@@ -330,7 +330,7 @@ class _AttributeOverwriteMixin(object):
|
||||
def get_filters(self, *args, **kwargs):
|
||||
yield SpecialMethodFilter(self, self.overwritten_methods, self._wrapped_value)
|
||||
|
||||
for filter in self._wrapped_value.get_filters():
|
||||
for filter in self._wrapped_value.get_filters(*args, **kwargs):
|
||||
yield filter
|
||||
|
||||
|
||||
|
||||
@@ -58,13 +58,13 @@ class GeneratorBase(LazyAttributeOverwrite, IterableMixin):
|
||||
return True
|
||||
|
||||
@publish_method('__iter__')
|
||||
def py__iter__(self, contextualized_node=None):
|
||||
def _iter(self, arguments):
|
||||
return ValueSet([self])
|
||||
|
||||
@publish_method('send')
|
||||
@publish_method('next', python_version_match=2)
|
||||
@publish_method('__next__', python_version_match=3)
|
||||
def py__next__(self):
|
||||
def py__next__(self, arguments):
|
||||
return ValueSet.from_sets(lazy_value.infer() for lazy_value in self.py__iter__())
|
||||
|
||||
def py__stop_iteration_returns(self):
|
||||
@@ -290,12 +290,12 @@ class DictComprehension(ComprehensionMixin, Sequence, _DictKeyMixin):
|
||||
return ValueSet.from_sets(values for keys, values in self._iterate())
|
||||
|
||||
@publish_method('values')
|
||||
def _imitate_values(self):
|
||||
def _imitate_values(self, arguments):
|
||||
lazy_value = LazyKnownValues(self._dict_values())
|
||||
return ValueSet([FakeList(self.inference_state, [lazy_value])])
|
||||
|
||||
@publish_method('items')
|
||||
def _imitate_items(self):
|
||||
def _imitate_items(self, arguments):
|
||||
lazy_values = [
|
||||
LazyKnownValue(
|
||||
FakeTuple(
|
||||
@@ -457,12 +457,12 @@ class DictLiteralValue(_DictMixin, SequenceLiteralValue, _DictKeyMixin):
|
||||
yield LazyKnownValues(types)
|
||||
|
||||
@publish_method('values')
|
||||
def _imitate_values(self):
|
||||
def _imitate_values(self, arguments):
|
||||
lazy_value = LazyKnownValues(self._dict_values())
|
||||
return ValueSet([FakeList(self.inference_state, [lazy_value])])
|
||||
|
||||
@publish_method('items')
|
||||
def _imitate_items(self):
|
||||
def _imitate_items(self, arguments):
|
||||
lazy_values = [
|
||||
LazyKnownValue(FakeTuple(
|
||||
self.inference_state,
|
||||
@@ -552,7 +552,7 @@ class FakeDict(_DictMixin, Sequence, _DictKeyMixin):
|
||||
return lazy_value.infer()
|
||||
|
||||
@publish_method('values')
|
||||
def _values(self):
|
||||
def _values(self, arguments):
|
||||
return ValueSet([FakeTuple(
|
||||
self.inference_state,
|
||||
[LazyKnownValues(self._dict_values())]
|
||||
|
||||
@@ -260,13 +260,12 @@ class ReversedObject(AttributeOverwrite):
|
||||
super(ReversedObject, self).__init__(reversed_obj)
|
||||
self._iter_list = iter_list
|
||||
|
||||
@publish_method('__iter__')
|
||||
def py__iter__(self, contextualized_node=None):
|
||||
def py__iter__(self, contextualized_node):
|
||||
return self._iter_list
|
||||
|
||||
@publish_method('next', python_version_match=2)
|
||||
@publish_method('__next__', python_version_match=3)
|
||||
def py__next__(self):
|
||||
def py__next__(self, arguments):
|
||||
return ValueSet.from_sets(
|
||||
lazy_value.infer() for lazy_value in self._iter_list
|
||||
)
|
||||
@@ -401,7 +400,7 @@ class PropertyObject(AttributeOverwrite, ValueWrapper):
|
||||
@publish_method('deleter')
|
||||
@publish_method('getter')
|
||||
@publish_method('setter')
|
||||
def _return_self(self):
|
||||
def _return_self(self, arguments):
|
||||
return ValueSet({self})
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user