[英]AST Transformation in Groovy: Create Macro to Give a Basic Constructor
我想做一個宏,從根本上擴展這個:
@WithBasicConstructor
class Person {
private String name
private String address
}
到這個:
class Person {
private String name
private String address
Person(String name, String address) {
this.name = name
this.address = address
}
}
我一直在閱讀@Immutable
的代碼,以了解它是如何完成的。 有人使用過新的AstBuilder嗎?
任何想法如何實現這一點? AstBuilder之間是否有首選的字符串/代碼/規范選項?
您可以從groovy 1.8使用(或復制) @groovy.transform.TupleConstructor
。
關於首選項...我喜歡buildFromSpec
,它帶來的驚喜更少。
但我建議您嘗試使用buildFromCode
,測試其局限性和怪異之處,並對其進行一些嘗試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.