From 7934b877dd657ba8c23ceefdce3731b22e99b420 Mon Sep 17 00:00:00 2001 From: Andrey Vokin Date: Tue, 23 Dec 2025 23:12:27 +0100 Subject: [PATCH] PY-86493 use only one external type provider GitOrigin-RevId: 2aef8be41cf65845932093ff52d33031fbf170bb --- .../src/com/jetbrains/python/psi/types/TypeEvalContext.java | 5 +++-- 1 file changed, 3 insertions(+), 2 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 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);