我有以下特点:
trait DataSource{
private File handle
private List data
def readFile(String target){
try{
handle = new File(target)
data = handle.readLines()
}catch(FileNotFoundException fnf){
return false;
}
}
def printLines(){
for(int i = 0; i < data.size(); i++){
println(data.get(i));
}
}
def getData(){
if(data != null){
return data
}else{
return false;
}
}
def getHandle(){
if(handle != null){
return handle
}else{
return false
}
}
}
每当我尝试编译它时,我都会收到以下错误:
Error:(5, 5) Groovyc: Unknown type: METHOD_DEF at line: 5 column: 5. File: <SOMEFILE>
这个语法对我来说都是正确的,我做错了什么?这是封闭的问题吗?
我在Windows 7 Professional上使用IntelliJ 14.1.1 CE
答案 0 :(得分:0)
由于语法正确,我强烈认为你的Groovy版本太旧了。让IntelliJ使用Groovy 2.3+来实现这个目的。我认为编译器将`trait DataSource {...}'视为使用open block的方法调用,并对方法定义进行故障转移,因为open块不能包含一个。