1

http://www.google.com/url?sa=t&rct=j&q=jdt_fundamentals&source=web&cd=1&ved=0CDIQFjAA&url=http%3A%2F%2Fwww.eclipsecon.org%2F2008%2Fsub%2Fattachments%2FJDT_fundamentals.ppt">JDT JDT を使用して型階層を取得するサンプル コードのチュートリアル。

ここに画像の説明を入力

リージョン (= Java 要素のセット) パラメータを設定するにはどうすればよいですか? サブクラス B とスーパークラス C を持つコード A がある場合、リージョンを設定するにはどうすればよいですか?

4

2 に答える 2

1

IRegion Javadocsを読み、 Eclipse の JDTを使用した後、クラス名から IType を取得するにはどうすればよいでしょうか? 、次のようなリージョンを作成できるはずだという印象を受けました。

final IJavaProject project = ...;
final IProgressMonitor monitor = ...;
final IRegion region = JavaCore.newRegion();
region.add(project.findType("some.packagename.B"));
final ITypeHierarchy typeHierarchy = project.newTypeHierarchy(region, monitor);
于 2013-01-20T00:16:38.560 に答える
0

このサイトからヒントを得たこのコードは正常に動作します。

IRegion region = JavaCore.newRegion();
for (IJavaElement i : javaProject.getPackageFragmentRoots())
{
    String elementName = i.getElementName();
    if (!elementName.endsWith("jar") && !elementName.endsWith("zip"))
        region.add(i);
    }

    NullProgressMonitor progressMonitor = new  NullProgressMonitor();

    // for getting a class hierarchy for type
    ITypeHierarchy typeHierarchy= type.newTypeHierarchy(progressMonitor);
    // for getting all the class hierarchies of the region in the project
    ITypeHierarchy typeHierarchy= javaProject.newTypeHierarchy(region, progressMonitor);
}

関連 - JDT API で getAllSuperclasses() を使用してスーパー クラスを取得できないのはなぜですか?

于 2013-01-20T04:00:07.233 に答える