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
如何插入返回語句早退出?