Ответ 1
Я думаю, что вы обнаружили ошибку. Если бы ожидалось, что @CompileStatic
запретит доступ к закрытой переменной, то это тоже не сработает
import groovy.transform.CompileStatic
class Echo {
public void text(String txt) {
println txt
}
}
@CompileStatic
class Test {
private Echo echo = new Echo()
public void doStuff() {
Closure c = {
echo.text('hi')
}
c()
}
}
new Test().doStuff()
Но это не так. Есть некоторые Jiras, которые могут быть той же проблемой (GROOVY-6278, GROOVY-7165, GROOVY-6468), но я не уверен, является ли коренная причина такой же. Я бы сказал, открывай новую Джиру для этого.