PY-20063 Fixed: Code introspection / autocomplete does not resolve types in Sets (and perhaps other collection types) when used with single-character iteration expressions

Add skeletons for set.__iter__
This commit is contained in:
Semyon Proshev
2016-09-09 16:02:53 +03:00
parent 291f54bdec
commit e79b624ec3
3 changed files with 20 additions and 0 deletions
@@ -2349,6 +2349,12 @@ class set(object):
"""
return False
def __iter__(self):
"""
:rtype: collections.Iterator[T]
"""
pass
class frozenset(object):
"""frozenset object."""
@@ -2039,6 +2039,12 @@ class set(object):
"""
return False
def __iter__(self):
"""
:rtype: collections.Iterator[T]
"""
pass
class frozenset(object):
"""frozenset object."""
@@ -1102,6 +1102,14 @@ public class PyTypeTest extends PyTestCase {
TypeEvalContext.userInitiated(expr.getProject(), expr.getContainingFile()));
}
// PY-20063
public void testIteratedSetElement() {
doTest("int",
"xs = {1}\n" +
"for expr in xs:\n" +
" print(expr)");
}
private static List<TypeEvalContext> getTypeEvalContexts(@NotNull PyExpression element) {
return ImmutableList.of(TypeEvalContext.codeAnalysis(element.getProject(), element.getContainingFile()).withTracing(),
TypeEvalContext.userInitiated(element.getProject(), element.getContainingFile()).withTracing());