В большинстве докладов про Groovy AST рассказывают одно и то же на одинаковых примерах. При этом для слушателя остаётся неясно: «А как, собственно, с этим работать-то?», поэтому рассказ будет следующим:

  • Что такое мета-программирование на уровне компиляции? Где используется?
  • Что требуется, чтобы начать писать свои трансформации? Что может помочь в процессе написания?
  • Образец трансформации на примере простейших аннотаций для контрактного программирования.