Я не вижу варианта использования, но компилятор может переупорядочить объявление всех полей при создании байт-кода.Я почти уверен, что упорядочение не является ограничением для полей, хотя в основном это относится к неизмененному / расширенному классу
Согласно спецификации JVM, сгенерированные поля должны быть помечены как SYNTHETIC (как сгенерированные методы) вбайт-код, так что вы можете проверить с помощью:
Person.getDeclaredFields().grep { !it.synthetic }
и отфильтровать базовые поля Groovy, такие как ClassInfo, metaClass и другие, начиная с __timestamp
Но я не специалист, можетбыть другим способом, я не думаю о