プラグイン(8) Hack検索ウィンドウのfeasibility

UI作るの嫌いなので先にロジックが深い方を調査してました。好き嫌い言っちゃいけないですけどね。

Hackとしてのクラスをプロジェクトから探すダイアログがどの程度でできるのか。とりあえずソースコード表現のものを探す部分から。クラスファイルは別の表記するので現時点では考慮しませんよ。

以下メモ。

  • org.eclipse.jdt.internal.ui.dialogs.MainTypeSelectionDialog がmainを含む型へのTypeSelectionDialog
    • MainMethodSearchEngineを利用している
    • internalですか。
  • org.eclipse.jdt.internal.ui.util.MainMethodSearchEngine でmain(String[]):voidを探してる。
  • MainMethodSearchEngine.MethodCollector extends SearchRequestor
    • SearchMatch#getElement() が IMethod 返す
    • main(String[])は型に一個だけど、ITypeが重複しないようにしないとね
  • final IType res= new IType[1][] って気持ちは分かるけどさぁ…
    • 今なら AtomicReference が安全でよさげ?

IMethodからJavadocとって、@when探せばいけそう。

テスト含めると1日じゃ厳しい。そして調査に時間かけすぎたので明日の午前までにUIの調査が終わらなさそう。
残りは以下。

この辺はどのプラグインでも使ってそうなのではまりポイントは少ないはず。