3

サブクラスを作成する注釈プロセッサを作成しました。たとえば、次のコードがあるとします。

@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 ...
}
4

0 に答える 0