diff --git a/python/src/com/jetbrains/python/psi/types/PyClassTypeImpl.java b/python/src/com/jetbrains/python/psi/types/PyClassTypeImpl.java index 368c9ee05bf9..4e42df6e4a60 100644 --- a/python/src/com/jetbrains/python/psi/types/PyClassTypeImpl.java +++ b/python/src/com/jetbrains/python/psi/types/PyClassTypeImpl.java @@ -368,15 +368,12 @@ public class PyClassTypeImpl extends UserDataHolderBase implements PyClassType { @Nullable @Override public PyType getReturnType(@NotNull TypeEvalContext context) { - if (isDefinition()) { - return new PyClassTypeImpl(getPyClass(), false); - } - return null; + return getCallType(context, null); } @Nullable @Override - public PyType getCallType(@NotNull TypeEvalContext context, @NotNull PyCallSiteExpression callSite) { + public PyType getCallType(@NotNull TypeEvalContext context, @Nullable PyCallSiteExpression callSite) { if (!isDefinition()) { final PyResolveContext resolveContext = PyResolveContext.noImplicits().withTypeEvalContext(context); final List resolveResults = resolveMember(PyNames.CALL, callSite, AccessDirection.READ, resolveContext); @@ -392,6 +389,8 @@ public class PyClassTypeImpl extends UserDataHolderBase implements PyClassType { return PyUnionType.union(result); } + } else { + return new PyClassTypeImpl(getPyClass(), false); } return null;