Top/Eclipse/プラグイン開発のTIPS集/コード解析

Javaの開発プラットフォームとしてとても使いやすいEclipseですが、ソースコードなどを解析するEclipseプラグインなども、比較的容易に開発することができます。

Eclipseにはいろいろなコード解析方法が存在し、ちょっとややこしいです。とりあえず書きにメモっとく事にします。

ICompilationUnitを起点にして、ソースコードを順次解析する方法

Eclipse/プラグイン開発のTIPS集/org.eclipse.jdt.core.ICompilationUnit に書いたとおり、ICompilationUnit はIParentというインタフェースを実装していて、これのメソッド

IJavaElement[] getChildren() throws JavaModelException;

を用いることで、ソースコードを上から順次解析することができます。

CompilationUnitに対して、Visitorパターンを用いてコードを走査する方法

ソースコードを解析するパーサASTParserに書いたとおり、 org.eclipse.jdt.core.ICompilationUnitからorg.eclipse.jdt.core.dom.CompilationUnit を生成し、そのインスタンスに対してVisitorパタンを適用してソースコードを走査することができます。

TIPS集

パッケージエクスプローラからICompilationUnit

アクションやハンドラ経由でパッケージエクスプローラからICompilationUnitを取得したいケースがありますが、以下のようにやればOKですね。

public Object execute(ExecutionEvent event) throws ExecutionException {
  ISelection selection = HandlerUtil.getActiveMenuSelectionChecked(event);
  if (selection instanceof IStructuredSelection) {
    IStructuredSelection sselection = (IStructuredSelection) selection;
    Object firstElement = sselection.getFirstElement();
    if (firstElement instanceof ICompilationUnit) {
      ICompilationUnit unit = (ICompilationUnit) firstElement;
      // 色々処理。
      }
    }
  }
  return null;
}

関連リンク


この記事は

選択肢 投票
おもしろかった 3  
そうでもない 0  
Top/Eclipse/プラグイン開発のTIPS集/コード解析

現在のアクセス:8289


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2026-07-15 (水) 00:03:23