我正在使用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;
}