LoginSignup
0
0

More than 5 years have passed since last update.

カスタムチェックの作り方 - おススメ親クラス

Posted at

社内共有用に英語化する前の下書き

どのクラスを継承して作るの?

カスタムチェックを作ろうと FindBugs の既存のチェックのクラスツリーを調べてみると、継承関係が深い事に気が付く。Object から 7 段階ぐらい継承してできていたりする。深い。

継承木の途中にたくさんの実装がある場合もあって、必ずしも末端の方のクラスを継承すればいいわけではなさそうだ。どうなってるんだ?

さて、何を継承すればいいんだろうか?

結論

素直に OpcodeStackDetector を継承しよう。

理由

いろいろなメソッドが使えるようになるので、Object から数えて 6 段階目のこのクラスを継承しよう。ほとんどのチェックがこれを継承しているし。

sawOpcode を使ったバイトコードの解析をしないなら 1 つ上の BytecodeScanningDetector でもいいかもしれない。

これが継承木で出てくる最初の Detector で、カスタムチェックは Detector か Detector2 である必要があるので、これより上から継承するのはお奨めしない。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0