forked from VimPlug/jedi
Fix generators.
This commit is contained in:
@@ -116,8 +116,6 @@ def _faked(module, obj, name):
|
|||||||
if faked_mod is None:
|
if faked_mod is None:
|
||||||
return None, None
|
return None, None
|
||||||
|
|
||||||
module.used_names = faked_mod.used_names
|
|
||||||
|
|
||||||
# Having the module as a `parser.representation.module`, we need to scan
|
# Having the module as a `parser.representation.module`, we need to scan
|
||||||
# for methods.
|
# for methods.
|
||||||
if name is None:
|
if name is None:
|
||||||
@@ -193,7 +191,8 @@ def _get_faked(module, obj, name=None):
|
|||||||
def get_faked(module, obj, name=None, parent=None):
|
def get_faked(module, obj, name=None, parent=None):
|
||||||
faked, fake_module = _get_faked(module and module.obj, obj, name)
|
faked, fake_module = _get_faked(module and module.obj, obj, name)
|
||||||
faked.parent = parent
|
faked.parent = parent
|
||||||
module.used_names = fake_module.used_names
|
if module is not None:
|
||||||
|
module.used_names = fake_module.used_names
|
||||||
return faked
|
return faked
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ from jedi.evaluate.cache import CachedMetaClass, memoize_default
|
|||||||
from jedi.evaluate import analysis
|
from jedi.evaluate import analysis
|
||||||
from jedi.evaluate import pep0484
|
from jedi.evaluate import pep0484
|
||||||
from jedi import common
|
from jedi import common
|
||||||
|
from jedi.evaluate.filters import DictFilter
|
||||||
|
|
||||||
|
|
||||||
class IterableWrapper(tree.Base):
|
class IterableWrapper(tree.Base):
|
||||||
@@ -56,10 +57,10 @@ class IterableWrapper(tree.Base):
|
|||||||
try:
|
try:
|
||||||
method = builtin_methods[name_str, self.type]
|
method = builtin_methods[name_str, self.type]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
dct[name_str] = [name]
|
dct[name_str] = name
|
||||||
else:
|
else:
|
||||||
parent = BuiltinMethod(self, method, name.parent)
|
parent = BuiltinMethod(self, method, name.parent)
|
||||||
dct[name_str] = [helpers.FakeName(name_str, parent, is_definition=True)]
|
dct[name_str] = helpers.FakeName(name_str, parent, is_definition=True)
|
||||||
return dct
|
return dct
|
||||||
|
|
||||||
|
|
||||||
@@ -111,6 +112,10 @@ class GeneratorMixin(object):
|
|||||||
gen_obj = compiled.get_special_object(self._evaluator, 'GENERATOR_OBJECT')
|
gen_obj = compiled.get_special_object(self._evaluator, 'GENERATOR_OBJECT')
|
||||||
yield self._get_names_dict(gen_obj.names_dict)
|
yield self._get_names_dict(gen_obj.names_dict)
|
||||||
|
|
||||||
|
def get_filters(self, search_global, until_position=None, origin_scope=None):
|
||||||
|
gen_obj = compiled.get_special_object(self._evaluator, 'GENERATOR_OBJECT')
|
||||||
|
yield DictFilter(self._get_names_dict(gen_obj.names_dict))
|
||||||
|
|
||||||
def py__bool__(self):
|
def py__bool__(self):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user