@Nullable
  private PyType getPossibleCallType(@NotNull TypeEvalContext context, @Nullable PyCallSiteExpression callSite) {
    if (!isDefinition()) {
      return PyUtil.getReturnTypeOfMember(this, PyNames.CALL, callSite, context);
    }
    else {
      return withUserDataCopy(new PyClassTypeImpl(getPyClass(), false));
    }
  }
@Nullable
  private PyType getPossibleCallType(@NotNull TypeEvalContext context, @Nullable PyCallSiteExpression callSite)