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 e6363312f4c4..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 @@ -47,7 +47,6 @@ public sealed class TypeEvalContext { } private final @NotNull TypeEvalConstraints myConstraints; - private boolean isInsideExternalTypeProviderCall = false; private List myTrace; private String myTraceIndent = ""; @@ -311,11 +310,9 @@ public sealed class TypeEvalContext { false, () -> { var provider = TypeEvalExternalTypeProvider.EP_NAME.getExtensionList().stream().filter(TypeEvalExternalTypeProvider::isAvailable).findFirst().orElse(null); - if (!isInsideExternalTypeProviderCall && provider != null) { + if (provider != null) { try { - isInsideExternalTypeProviderCall = true; var provided = provider.provideType(element, this); - isInsideExternalTypeProviderCall = false; if (provided != null) { var type = provided.get(); myExternalEvaluated.put(element, type == null ? PyNullType.INSTANCE : type); @@ -328,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);