如何分隔Traits的源文件并在Groovy中对其进行类型检查?

时间:2018-09-03 02:36:26

标签: groovy

下面的示例将在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                                                                                                                                          
    }                                                                                                                                              
}                                                                                                                                                  

0 个答案:

没有答案