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

时间:2009-07-03 13:40:27

标签: java eclipse-plugin

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

提前致谢...

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

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

getSuperClass()

答案 2 :(得分:0)

此代码可以正常工作..

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;
        }