如何使用ASTParser从java文件中检索SuperClass名称?

我需要检索一个java文件的SuperClass名称(它扩展了一个类,我需要该类名)。 为了做到这一点,我开始使用ASTParser,但我是新手,所以任何示例或插图都可以提供帮助。 我使用ASTView来理解AST保存java文件结构的方式但我在尝试visit(),endvisit()函数时遇到困难。 我找不到任何详细的例子。

提前致谢…

你没有多说你已经走了多远。

在访问者中,覆盖visit(TypeDeclaration node) ,然后在节点上调用getSuperclassType()

如果返回true则解析将在类型声明中继续,否则它将停止。

您可以在代码中使用Class类的getSuperClass()方法吗?

getSuperclass之()

这段代码可以工作..

 IType type = ...; ITypeHierarchy a = type.newSupertypeHierarchy(new NullProgressMonitor()); IType[] superTypes = a.getAllSupertypes(type); if(superTypes.length == 1 && superTypes[0].getKey().equals("Ljava/lang/Object;")){ this.isSuperClassObject = true; } else{ this.isSuperClassObject = false; }