0

我已经应用了一个 AST 转换,它将每个方法包装在try...catch. 我想确保在其他 AST 转换之后执行此 AST 转换。

如果我在同一个编译器阶段对同一个类应用多个 AST 转换,执行顺序或优先级是什么?

4

1 回答 1

3

在同一阶段运行的转换的执行顺序是未指定的。保证一个变换一个接一个地运行的唯一安全方法是在以后的阶段应用它。

至少在某种程度上,排序有可能是确定性的(您必须检查编译器源代码),但我不认为这是一个强有力的保证(即它可能会在 Groovy 版本之间发生变化)。

于 2013-02-07T03:08:14.580 回答