我正在使用AST解析器编译项目源。我可以通过什么方式提取类层次结构信息,即它是实现任何接口还是从另一个类扩展?

最佳答案

您可以访问TypeDeclaration节点并从中获取类型绑定。

ITypeBinding typeBind = typDec.resolveBinding();


然后,您可以按以下方式获取超类和已实现的接口:

public boolean visit(TypeDeclaration typeDeclaration) {

        ITypeBinding typeBind = typeDeclaration.resolveBinding();
        ITypeBinding superTypeBind = typeBind.getSuperclass();
        ITypeBinding[] interfaceBinds = typeBind.getInterfaces();

        return true;
}

09-30 11:44