Kijimunaリファクタリング対応

久しぶりにKijimunaエンハンス。

http://d.hatena.ne.jp/koichik/20070107
http://d.hatena.ne.jp/wyukawa/20080229/1204298322

このあたりで話題になっているリファクタリングの追従について実装する予定です。JDTでクラス名を変換したら、diconファイルでそのクラスを参照している箇所も一緒に変更する、みたいな感じ。リファクタリングの追従については前々からどういう仕組みなのか知りたかったところなのでちょうどよかった。社内で作っているツールでもリファクタリングに対応させたかったんだけど、後回し・・という感じだったし。

一応Kijimunaでももともとリファクタリングは意識してたらしくorg.eclipse.ltk.core.refactoring.renameParticipantsという拡張ポイントがplugin.xmlに記述されていたんだけど、その実装を見てみると「//TODO:」ということで未実装な感じでした。

処理の流れとしては、

  1. リファクタリングによる変更の種類を判別
  2. 修正箇所(offset,length)の特定
  3. TextEdit(org.eclipse.text)の作成
  4. TextFileChangeを作成して返す

という感じ。2.をやるために、ちょっとkijimunaのdiconパーサーを修正する必要があるかも。