Fix the next builtin

This commit is contained in:
Dave Halter
2018-09-09 16:20:23 +02:00
parent bd3bd2e53b
commit 7fff203360

View File

@@ -15,7 +15,7 @@ from jedi._compatibility import force_unicode
from jedi.plugins.base import BasePlugin from jedi.plugins.base import BasePlugin
from jedi import debug from jedi import debug
from jedi.evaluate.arguments import ValuesArguments, \ from jedi.evaluate.arguments import ValuesArguments, \
repack_with_argument_clinic, AbstractArguments, TreeArguments repack_with_argument_clinic, AbstractArguments
from jedi.evaluate import analysis from jedi.evaluate import analysis
from jedi.evaluate import compiled from jedi.evaluate import compiled
from jedi.evaluate.context.instance import \ from jedi.evaluate.context.instance import \
@@ -145,17 +145,14 @@ def builtins_next(iterators, defaults, evaluator):
else: else:
name = '__next__' name = '__next__'
context_set = NO_CONTEXTS context_set = defaults
for iterator in iterators: for iterator in iterators:
if isinstance(iterator, AbstractInstanceContext): context_set |= ContextSet.from_sets(
context_set = ContextSet.from_sets( n.infer()
n.infer() for filter in iterator.get_filters(include_self_names=True)
for filter in iterator.get_filters(include_self_names=True) for n in filter.get(name)
for n in filter.get(name) ).execute_evaluated()
).execute_evaluated() return context_set
if context_set:
return context_set
return defaults
@argument_clinic('object, name[, default], /') @argument_clinic('object, name[, default], /')