mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Removed redundant PyTypeProvider.getIterationType()
It was used only for 'file', superseded by 'io' classes. Providers can provide iteration types via '__iter__' and '__next__'.
This commit is contained in:
@@ -41,9 +41,6 @@ public interface PyTypeProvider {
|
||||
@Nullable
|
||||
PyType getReturnType(@NotNull PyFunction function, @Nullable PyQualifiedExpression callSite, @NotNull TypeEvalContext context);
|
||||
|
||||
@Nullable
|
||||
PyType getIterationType(@NotNull PyClass iterable);
|
||||
|
||||
@Nullable
|
||||
PyType getContextManagerVariableType(PyClass contextManager, PyExpression withExpression, TypeEvalContext context);
|
||||
|
||||
|
||||
@@ -106,11 +106,6 @@ public class PyTypeProviderBase implements PyTypeProvider {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PyType getIterationType(@NotNull PyClass iterable) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public PyType getContextManagerVariableType(PyClass contextManager, PyExpression withExpression, TypeEvalContext context) {
|
||||
|
||||
@@ -135,18 +135,6 @@ public class PyStdlibTypeProvider extends PyTypeProviderBase {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public PyType getIterationType(@NotNull PyClass iterable) {
|
||||
final PyBuiltinCache builtinCache = PyBuiltinCache.getInstance(iterable);
|
||||
if (builtinCache.hasInBuiltins(iterable)) {
|
||||
if ("file".equals(iterable.getName())) {
|
||||
return builtinCache.getStrType();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public PyType getContextManagerVariableType(@NotNull PyClass contextManager, @NotNull PyExpression withExpression, @NotNull TypeEvalContext context) {
|
||||
|
||||
@@ -392,13 +392,6 @@ public class PyTargetExpressionImpl extends PyPresentableElementImpl<PyTargetExp
|
||||
}
|
||||
else if (iterableType instanceof PyClassType) {
|
||||
final PyClass pyClass = ((PyClassType)iterableType).getPyClass();
|
||||
for (PyTypeProvider provider: Extensions.getExtensions(PyTypeProvider.EP_NAME)) {
|
||||
final PyType iterationType = provider.getIterationType(pyClass);
|
||||
if (iterationType != null) {
|
||||
result = iterationType;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (PyABCUtil.isSubclass(pyClass, PyNames.ITERATOR)) {
|
||||
final PyFunction iterateMethod = pyClass.findMethodByName(PyNames.ITER, true);
|
||||
PyType iterateMethodType = null;
|
||||
|
||||
Reference in New Issue
Block a user