模块  java.compiler
软件包  javax.lang.model.util

Class ElementScanner8<R,​P>

  • 参数类型
    R - 此访问者方法的返回类型。 对于不需要返回结果的访问者,请使用Void
    P - 此访问者方法的附加参数的类型。 对于不需要其他参数的访问者,请使用Void
    实现的所有接口
    ElementVisitor<R,​P>
    已知直接子类:
    ElementScanner9

    @SupportedSourceVersion(RELEASE_8)
    public class ElementScanner8<R,​P>
    extends ElementScanner7<R,​P>
    具有适用于RELEASE_8源版本的默认行为的程序元素的扫描访问者。 所述visitXyz方法在这个类通过调用扫描其成分元素scan他们enclosed elementsparameters ,等等,如在单独的方法规范表示。 子类可以通过覆盖visitXyz方法来控制访问的订单元素。 请注意,扫描程序的客户端可能会在感兴趣的根对象上调用v.scan(e, p)而不是v.visit(e, p)

    当子类重写visitXyz方法时,新方法可以通过调用super.visitXyz以默认方式扫描所包含的元素。 以这种方式,具体访问者可以控制关于附加处理的组件元素遍历的顺序; 例如,在重写方法的开头一直调用super.visitXyz将产生一个前序遍历等。如果组件元素应该以其他顺序遍历,而不是调用super.visitXyz ,则重写的访问方法应该调用scan中的元素。期望的顺序。

    本课程中的方法可以根据其一般合同进行覆盖。 请注意,使用@Override在具体子类中注释方法将有助于确保按预期覆盖方法。

    警告: ElementVisitor实现的ElementVisitor接口可能会在将来添加方法,以适应未来版本的Java™编程语言中添加的新的,当前未知的语言结构。 因此, "visit"可能会将名称以"visit"开头的方法添加到此类中; 为避免不兼容,扩展此类的类不应声明名称以"visit"开头的任何实例方法。

    添加这样的新访问方法时,此类中的默认实现将是调用visitUnknown方法。 还将引入一个新的元素扫描器访问者类,以对应新的语言级别; 此访问者将针对相关的访问方法使用不同的默认行为。 引入新访问者时,可能会弃用此访问者的全部或部分内容。

    从以下版本开始:
    1.8
    另请参见:
    ElementScanner6ElementScanner7ElementScanner9
    • 构造方法详细信息

      • ElementScanner8

        protected ElementScanner8()
        具体子类的构造函数; 使用null作为默认值。
      • ElementScanner8

        protected ElementScanner8​(R defaultValue)
        具体子类的构造函数; 使用参数作为默认值。
        参数
        defaultValue - 默认值