@TypeChecked - 模糊方法

时间:2017-01-09 12:38:05

标签: groovy compiler-errors typechecking

我有以下代码:

@TypeChecked
class SomeClass {

  def someMethod( BridgeEvent event ){
    event.complete true // here comes the compile error
  }

}

该行在日食中显示错误:

  

Groovy:[静态类型检查] - 对方法的引用不明确。无法选择[void io.vertx.groovy.ext.web.handler.sockjs.BridgeEvent#complete(java.lang.Boolean),void io.vertx.groovy.ext.web.handler.sockjs.BridgeEvent #complete(java .lang.Object)]

第一种方法来自BridgeEvent类,第二种来自它的超类。

如果我删除@TypeChecked代码工作正常。

我该如何解决问题?

更新:

我试过@ tim-yates'解决方案event.complete Boolean.TRUE和编译错误消失,但complete(java.lang.Object)方法正在执行与complete(boolean)不同的操作。所以我需要调用后面的方法。

现在我重写了代码:

@TypeChecked
class SomeClass {

  def someMethod( BridgeEvent event ){
    complete event
  }

  @TypeChecked( SKIP )
  private void complete( BridgeEvent event ){
    event.complete true
  }

}

它再次运作良好,但它的外观......

0 个答案:

没有答案