如何使用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; }