我正在使用 AST 解析器编译项目源。我可以通过什么方式提取类层次结构信息,即它是实现任何接口还是从另一个类扩展?
问问题
1647 次
2 回答
1
您可以访问该TypeDeclaration
节点并从中获取类型绑定。
ITypeBinding typeBind = typDec.resolveBinding();
然后您可以获得超类和实现的接口,如下所示:
public boolean visit(TypeDeclaration typeDeclaration) {
ITypeBinding typeBind = typeDeclaration.resolveBinding();
ITypeBinding superTypeBind = typeBind.getSuperclass();
ITypeBinding[] interfaceBinds = typeBind.getInterfaces();
return true;
}
于 2013-04-04T05:53:35.107 回答
0
如果您有 IType 实例(类型),则可以在 ITypeHierarchy 中获取类层次结构,如下所示
ITypeHierarchy typeHierarchie = type.newTypeHierarchy(new NullProgressMonitor());
ITypeHierarchy 具有查询已实现接口的方法
typeHierarchie.getSuperInterfaces(type);
以及扩展了哪些课程
typeHierarchie.getSuperclass(type);
typeHierarchie.getAllSuperclasses(type);
于 2013-04-04T07:37:53.153 回答