@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; }