JavassistのCtMethod
JavassistのCtMethodはequalsとhashCodeがオーバーライドされている。
CtMethodというからには、てっきりそのメソッドが定義されているクラスのことを意識して
結果を返してくれるのかと思いきや、実はそうではなかった。
JavadocのCtMethdo#equalsから引用
Indicates whether obj has the same name and the same signature as this method.
つまり、メソッド名とシグニチャが一緒だったらクラスとは関係なくtrue。
ソースを確認してみたけど、確かに実装もそのようになっている。
1時間もハマまってしもーた。
なんか理由があるんだろうなぁ、きっと。