簡體   English   中英

Groovy中的AST轉換:創建宏以提供基本的構造方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM