Most practical examples of using AST transforms are given on this page. I often used @Delegate to delegate to another class or @Lazy for lazy loading. @Grab is great for pulling dependencies from the Maven / ivy repository. All are based on AST transformations and are part of the core language.
You can use the transforms directly, but most of the material you want is already built. You can do what you might want to do with AOP in other languages.
source share