0
我正在构建一个生成void
方法的AST转换。我想检查传入的值是否已经等于另一个值,如果是,请尽早退出。该代码通常会是这样的:如何在Groovy AST转换中创建一个void return语句?
if(param.is existing) {
return
}
的ReturnStatement
类有检查,看看返回的表达式是null
属性returningNullOrVoid
,所以我尝试了明显的方法:
ifS(sameX(paramEx, existingEx), returnS(constX(null))
如此制编译转换类时出现异常:
BUG! exception in phase 'instruction selection' in source unit 'Annotated.groovy' Unexpected return statement at -1:-1 return null
如何插入返回语句早退出?