是否可以通过 spock 扩展访问和修改 AST 节点?
Is it possible to visit and modify AST nodes via spock extension?
Spock 有很棒的功能:Argument Constraints。
我正在尝试为我的任务移植此功能:
// JSON body template for comparsion
[
id: _ as Long,
inn: !null,
name: _ as String,
addresses: 1.._ * [city: _ as String, street: _ as String, house: _ as Integer]
]
Spock 还允许通过特殊注释扩展自身:Spock Extensions, AbstractAnnotationDrivenExtension。
但是我无法实现如何通过visitFeatureAnnotation
修改Feature的AST节点。
好像不可能。
Spock 没有为此提供任何挂钩。您必须编写一个标准的 Groovy AST 转换(或 fork Spock)。
Spock 有很棒的功能:Argument Constraints。 我正在尝试为我的任务移植此功能:
// JSON body template for comparsion
[
id: _ as Long,
inn: !null,
name: _ as String,
addresses: 1.._ * [city: _ as String, street: _ as String, house: _ as Integer]
]
Spock 还允许通过特殊注释扩展自身:Spock Extensions, AbstractAnnotationDrivenExtension。
但是我无法实现如何通过visitFeatureAnnotation
修改Feature的AST节点。
好像不可能。
Spock 没有为此提供任何挂钩。您必须编写一个标准的 Groovy AST 转换(或 fork Spock)。