ASTVisitor类定义节点



我一直在Eclipse中使用ASTVisitor类,以便在方法声明和方法调用节点获取数据。我现在还想在Class Declaration节点获取数据,但我在API中找不到任何允许我这样做的东西。我是不是错过了什么?这样做的好方法是什么?

如果您想获得ClassDeclaration,您应该查找TypeDeclaration对象,因为:

类型声明是类声明和接口声明。

一旦找到它,您只需要使用isInterface((方法,如果它返回false,那么它就是ClassDeclaration

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

  • 修饰符列表("public"等(允许您计算哪些修饰符以及有多少修饰符(node.modifiers(((
  • 超级类的类型(如果存在((node.getSuperclassType(((
  • 方法的所有声明
  • 等等

但是,这些是您需要从TypeDeclaration 构建的详细信息

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

最新更新