下面的示例将在Groovy 2.5中进行类型检查和正确编译。 为了清楚起见,我想在两个单独的源文件中定义特征。这种分裂导致x()中的属性访问B.a产生不确定的静态类型。
问题:有没有一种方法可以配置或提示类型检查,以便它考虑特征的定义?
由于多重继承是棘手的,并且在这种情况下类型检查特别有价值,因此似乎该属性非常理想。 情况。
package traits.example
import groovy.transform.CompileStatic
@CompileStatic
trait A {
String a
}
trait B implements A {
def x() {
a
}
}