ASTVisitor类定义节点

时间:2014-05-01 19:22:11

标签: java eclipse abstract-syntax-tree

我一直在Eclipse中使用ASTVisitor类,以便在Method Declaration和Method Invocation节点中获取数据。我现在也想在Class Declaration节点上获取数据,但我无法在ASTVisitor的API中找到允许我这样做的任何内容。我错过了什么吗?什么是一个好方法呢?

2 个答案:

答案 0 :(得分:0)

如果你想获得ClassDeclaration,你应该寻找TypeDeclaration个对象,因为:

  

类型声明是类声明和类的声明   界面声明。

找到后,您只需使用isInterface()方法,如果返回false,则为ClassDeclaration

答案 1 :(得分:0)

节点"类声明"您感兴趣的实际上是TypeDeclaration,即从中获取所需信息的节点。例如:

  • 修饰符列表(' public'等)允许您确定修改器的数量和数量(node.modifiers())
  • 超类的类型(如果存在)(node.getSuperclassType())
  • 方法的所有声明

但是,这些是您需要从TypeDeclaration

构建的详细信息

但是,这两种方法都是继承的TypeDeclaration,可以帮助您以自上而下的方式获取遍历树所需的所有信息。