Summary
This chapter has been quite a deep dive into the relatively complex subject of AST transformations. We've covered both local and global AST transformations and even used AST transformation to build a mini DSL.
In the next chapter, we will look at some of the publicly available Groovy DSLs. We will describe how to use them, but we will also be taking a critical view of how they might be implemented given the knowledge we now have about the Groovy MOP and Groovy AST transformations.