Kotlin / IntelliJ – 编译器找不到正确的参数类型的函数

我正在使用IntelliJ编写Kotlin语言(的JetBrains)代码,我面临编译器错误编译器无法找到一个函数的正确参数类型,总是说该函数receve一个Nothing参数。

有人有什么想法是什么问题?

打印屏幕显示IntelliJ IDE上的错误

在图像中,控制台显示编译器错误,但屏幕中央的帮助显示IntelliJ可以找到正确的函数参数类型,但编译器不是。

====编辑==========================================

Java代码是:

  @Transactional public int deletar(BuscaInfo info) { // ---- Criando a busca ao banco: CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaDelete query = cb.createCriteriaDelete( info.classe ); Root root = query.from( info.classe ); // Cláusula WHERE do banco: Predicate[] preds = WhereBuilder.build(cb, root, info.where); if (preds.length < 1) { throw new MsgException(JsonResponse.ERROR_EXCECAO,null,"Os parâmetros de filtragem da QueryString não são válidos."); } query.where(preds); // A busca ao banco: int qtd = em.createQuery(query).executeUpdate(); return qtd; } 

info.classe的类型是Class<?>

使用Hibernate 5.x和JPA 2.1 api来编译。
该代码适用于WildFly 9.x和10.x.

你能检查一下q变量的类型吗? (导航到它,运行alt + q)我想它的类型是CriteriaDelete<*> ,这些方法中的任何一个都可以被调用,因为他们不能在类型CriteriaDelete<?>的变量Java中不能调用:我们不能确切地说明实例创建时T所在的位置。

但是,诊断当然可以在这里更好。 我已经创建了这个问题