如何从Groovy AST转换中访问所有构造函数?

时间:2015-11-13 12:14:59

标签: groovy metaprogramming abstract-syntax-tree

我正在编写一个AST转换,旨在通过使引用端的setter也在拥有方调用setter来保持双向JPA关系同步。这在调用setFoo()时可靠地工作,但是在构造函数中初始化的变量(由于声明中的初始化语句,构造函数中的new或构造函数参数)将不会被链接。 / p>

要处理这种情况,我可以打开所有现有的构造函数(加上任何隐式的默认构造函数)并添加必要的代码。但是,添加构造函数的一些常见AST转换(例如@TupleConstructor)在CANONICALIZATION阶段运行,之后没有阶段,我可以可靠地插入新指令。

如何确保将我的额外代码添加到每个构造函数中,包括可能由其他转换添加的代码?

0 个答案:

没有答案