diff --git a/python/python-psi-api/src/com/jetbrains/python/psi/types/TypeEvalContext.java b/python/python-psi-api/src/com/jetbrains/python/psi/types/TypeEvalContext.java index 441b3ae3b12e..df6beaf8c1f6 100644 --- a/python/python-psi-api/src/com/jetbrains/python/psi/types/TypeEvalContext.java +++ b/python/python-psi-api/src/com/jetbrains/python/psi/types/TypeEvalContext.java @@ -309,8 +309,8 @@ public sealed class TypeEvalContext { Pair.create(element, this), false, () -> { - // Try external providers first - for (var provider : TypeEvalExternalTypeProvider.EP_NAME.getExtensionList()) { + var provider = TypeEvalExternalTypeProvider.EP_NAME.getExtensionList().stream().filter(TypeEvalExternalTypeProvider::isAvailable).findFirst().orElse(null); + if (provider != null) { try { var provided = provider.provideType(element, this); if (provided != null) { @@ -325,6 +325,7 @@ public sealed class TypeEvalContext { catch (Exception e) { logger.warn("Exception during external type provider " + provider.getClass().getName(), e); } + return null; } PyType type = element.getType(this, Key.INSTANCE);