Groovy статическая компиляция (@CompileStatic) превращает типы полей класса в `Object`
Компиляция следующего класса Groovy
@CompileStatic
class StaticCompileTest {
private def fieldInt = 3
}
результаты в этом классе, при декомпиляции .class
файл:
public class StaticCompileTest implements GroovyObject {
private Object fieldInt;
}
Изменение поля на final
не меняет ситуацию.
Почему в этом случае Groovy-компилятор не может получить тип?
1 ответ
Решение
Потому что изначально небезопасно предполагать, что тип не изменится.