サブクラスを作成する注釈プロセッサを作成しました。たとえば、次のコードがあるとします。
@MyAnnotation(Bar.class)
class Foo : MyGenerated_Foo {
}
次に、注釈プロセッサは次を生成します。
class MyGenerated_Foo extends Bar {
... generate some helpful methods and fields here ...
}
これをしばらく使用した後、Bar にカスタム コンストラクターがある場合、これが機能しないことに気付きました。パススルー コンストラクターを作成したいのですが、それを行う最善の方法が何であるかがわかりませんでした。
これが私が達成したいことです:
class Bar {
Bar(String arg) {}
}
@MyAnnotation(Bar.class)
class Foo : MyGenerated_Foo {
Foo(String arg) {
MyGenerated_Foo(arg);
}
}
上記は以下を生成するはずです:
class MyGenerated_Foo extends Bar {
MyGenerated_Bar(String arg) {
Bar(arg);
}
... generate some helpful methods and fields here ...
}