Groovy AST @Canonical:不会为祖先的字段生成构造函数

Groovy AST @Canonical: constructors are not generated for ancestor's fields

两个类:

Parent

@Canonical
class Parent {
    int id
}

Child

@Canonical
class Child extends Parent {
    String name
}

当使用 from Java 时,Child 只有默认和 Child(String name) 构造函数(当然还有 Map),但是没有 Child (int id) 和 Child(int id, String name) 构造函数。

有机会通过AST获得吗?

您还需要在 Child class 上使用 @InheritConstructors 注释来引入预期的构造函数。

@Canonical @InheritConstructors
class Child extends Parent {
    String name
}