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