プラグインからType Hierarchy
っぽいことができる。というか、まんまType Hierarchyなのかな。
使用するメソッドは、IJavaProject#newTypeHierarchy。
引数は
- IType:階層化する型
- IRegion:階層化する対象
戻り値はITypeHierarchy(まんまじゃん)。
特定ソースフォルダ配下のテストケースの階層を見る場合は、
こんな感じ。
Eclipse内部での、JUnit3系のテストケースの検索は、
IJavaProject javaProject = ・・・
IPackageFragmentRoot root = ・・・// IType
IType test = javaProject.findType("junit.framework.TestCase");// IRegion
IRegion region = JavaCore.newRegion();
region.add(root);ITypeHierarchy hierarchy = javaProject.newTypeHierarchy(test, region, null);
IType[] subtypes= hierarchy.getAllSubtypes(test);
このようなイメージでやってるみたい。
ITypeHierarchyには他にもメソッドがいっぱいあるけど、
めんどいからこのへんで。
Type HierarchyじゃなくてJava Searchをやりたい場合は、
マニュアルの「JDT Core>Using the Java search engine」にあるやつ(だと思う)。