Module  java.compiler

Interface ElementVisitor<R,P>

  • 参数类型
    R - 这个访问者的方法的返回类型。 对不需要返回结果的访问者使用Void
    P - 此访问者方法的附加参数的类型。 对不需要附加参数的访问者使用Void
    所有已知实现类:
    AbstractElementVisitor6AbstractElementVisitor7AbstractElementVisitor8AbstractElementVisitor9ElementKindVisitor6ElementKindVisitor7ElementKindVisitor8ElementKindVisitor9ElementScanner6ElementScanner7ElementScanner8ElementScanner9SimpleElementVisitor6SimpleElementVisitor7SimpleElementVisitor8SimpleElementVisitor9


    public interface ElementVisitor<R,P>
    游客的程式元素,以访客设计风格为格局。 实现此接口的类用于在编译时元素的种类未知时对元素进行操作。 当访问者被传递到元素的accept方法时,调用最适用于该元素的visitXyz方法。

    实现此界面的类可以或可以不抛出NullPointerException如果附加参数pnull ; 有关详细信息,请参阅实施类的文档。

    警告:可能的方法将添加到此界面以适应未来版本的Java编程语言中添加的新的,当前未知的语言结构。 因此,直接实现此接口的访问者类可能与未来的平台版本不兼容。 为了避免这种源不兼容,我们鼓励访问者实现扩展实现此接口的适当抽象访问类。 然而,API通常应该将此访问接口用作参数,返回类型等的类型,而不是抽象类之一。

    请注意,如果添加为默认方法,则可以以源兼容的方式添加适应新语言结构的方法 但是,默认方法仅在Java SE 8和更高版本上可用,并且Java SE 8中捆绑的javax.lang.model.*软件包也需要在Java SE 7上运行。因此,在扩展javax.lang.model.*以涵盖Java SE 8语言时, 使用默认方法特征。 然而,默认方法用于仅需要在Java SE 8和更高版本平台上运行的javax.lang.model.*软件包的后续修订版本。

    从以下版本开始:
    1.6
    • 方法详细信息

      • visit

        R visit​(Element e,
                P p)
        访问元素
        参数
        e - 要访问的元素
        p - 访客指定的参数
        结果
        访客指定的结果
      • visit

        default R visit​(Element e)
        方便的方法相当于 visit(e, null)
        实现要求:
        默认实现为 visit(e, null)
        参数
        e - 要访问的元素
        结果
        访客指定的结果
      • visitPackage

        R visitPackage​(PackageElement e,
                       P p)
        访问包元素。
        参数
        e - 要访问的元素
        p - 访客指定的参数
        结果
        访客指定的结果
      • visitType

        R visitType​(TypeElement e,
                    P p)
        访问类型元素。
        参数
        e - 要访问的元素
        p - 访客指定的参数
        结果
        访客指定的结果
      • visitVariable

        R visitVariable​(VariableElement e,
                        P p)
        访问可变元素。
        参数
        e - 要访问的元素
        p - 访客指定的参数
        结果
        访客指定的结果
      • visitExecutable

        R visitExecutable​(ExecutableElement e,
                          P p)
        访问可执行元素。
        参数
        e - 要访问的元素
        p - 访客指定的参数
        结果
        访客指定的结果
      • visitTypeParameter

        R visitTypeParameter​(TypeParameterElement e,
                             P p)
        访问类型参数元素。
        参数
        e - 要访问的元素
        p - 访客指定的参数
        结果
        访客指定的结果
      • visitUnknown

        R visitUnknown​(Element e,
                       P p)
        访问一种未知的元素。 如果语言发展并且将新种类的元素添加到Element层次结构中,则可能会发生这种情况。
        参数
        e - 要访问的元素
        p - 访客指定的参数
        结果
        访客指定的结果
        异常
        UnknownElementException - 访问者实现可以可选地抛出该异常
      • visitModule

        default R visitModule​(ModuleElement e,
                              P p)
        访问模块元素。
        实现要求:
        访问一个 ModuleElement致电 visitUnknown(e, p)
        参数
        e - 要访问的元素
        p - 访客指定的参数
        结果
        访客指定的结果
        从以下版本开始:
        9