1
0
forked from VimPlug/jedi

also add scope_names_generator to the iterable module classes, as well as cleaning up some old scope_names_generator stuff

This commit is contained in:
Dave Halter
2014-07-02 18:58:31 +02:00
parent 13ada3154b
commit a7e4d81692
3 changed files with 25 additions and 40 deletions

View File

@@ -44,7 +44,7 @@ class Generator(use_metaclass(CachedMetaClass, pr.Base)):
self.var_args = var_args
@underscore_memoization
def get_defined_names(self):
def _get_defined_names(self):
"""
Returns a list of names that define a generator, which can return the
content of a generator.
@@ -57,6 +57,9 @@ class Generator(use_metaclass(CachedMetaClass, pr.Base)):
else:
yield name
def scope_names_generator(self):
yield self, self._get_defined_names()
def iter_content(self):
""" returns the content of __iter__ """
return self._evaluator.execute(self.func, self.var_args, True)
@@ -172,7 +175,7 @@ class Array(use_metaclass(CachedMetaClass, pr.Base)):
values = [self._array.values[index]]
return _follow_values(self._evaluator, values)
def get_defined_names(self):
def scope_names_generator(self):
"""
This method generates all `ArrayMethod` for one pr.Array.
It returns e.g. for a list: append, pop, ...
@@ -181,7 +184,7 @@ class Array(use_metaclass(CachedMetaClass, pr.Base)):
scope = self._evaluator.find_types(compiled.builtin, self._array.type)[0]
scope = self._evaluator.execute(scope)[0] # builtins only have one class
names = scope.get_defined_names()
return [ArrayMethod(n) for n in names]
yield self, [ArrayMethod(n) for n in names]
@common.safe_property
def parent(self):