使用eclipse JDT提取内部类

时间:2013-03-29 08:05:05

标签: eclipse-jdt

我想解析一个项目,其中一些类有内部类。我可以使用eclips JDT提取内部类名称其他信息吗?

2 个答案:

答案 0 :(得分:4)

您可以遍历Java类的Compilation单元并访问TypeDeclaration AST节点。然后可以使用下面的代码来检查它是否不是顶级类,即内部类。

public boolean visit(TypeDeclaration typeDeclarationStatement) {

    if (!typeDeclarationStatement.isPackageMemberTypeDeclaration()) {
            System.out.println(typeDeclarationStatement.getName());
            // Get more details from the type declaration.
    }

    return true;
}

获取匿名内部类也使用以下代码:

public boolean visit(AnonymousClassDeclaration anonyomousClassDeclaration) {

    System.out.println(anonyomousClassDeclaration.toString());

    return true;
}

使用JDT进行类遍历的详细信息可以在以下链接中找到:

答案 1 :(得分:1)

如果您有一个IType实例(类型),那么您可以通过

查询内部类
type.getTypes();

将为您提供此类型声明的直接成员类型的数组。