@Nullable public static PyType getReferenceTypeFromProviders( @NotNull final PsiElement target, TypeEvalContext context, @Nullable PsiElement anchor) { for (PyTypeProvider provider : Extensions.getExtensions(PyTypeProvider.EP_NAME)) { final PyType result = provider.getReferenceType(target, context, anchor); if (result != null) return result; } return null; }
@Nullable private PyType getTypeFromProviders(@NotNull TypeEvalContext context) { for (PyTypeProvider provider : Extensions.getExtensions(PyTypeProvider.EP_NAME)) { try { final PyType type = provider.getReferenceExpressionType(this, context); if (type != null) { return type; } } catch (AbstractMethodError e) { LOG.info(new ExtensionException(provider.getClass())); } } return null; }