From c6ecb30532e688d6222d32c97041f526d2ad82aa Mon Sep 17 00:00:00 2001 From: Andrey Vokin Date: Mon, 12 Jan 2026 12:29:27 +0100 Subject: [PATCH] Revert "PY-86493 Avoid using an external type provider to resolve the type when the type hint itself originated from an external type provider." This reverts commit 27ae660342d8322dbbd92d0fd98d14cb9ac90ee7. GitOrigin-RevId: 92ae43b4212b140057435290a8234d8519c9a9ff --- .../src/com/jetbrains/python/psi/types/TypeEvalContext.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) 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);