モジュール java.compiler
パッケージ javax.lang.model.util

クラスElementScanner9<R,P>

  • 型パラメータ:
    R - このビジターのメソッドの戻り型。 結果を返すことを必要としないビジターのVoidを使用する。
    P - このビジターのメソッドに追加するパラメータの型。 追加のパラメータを必要としないビジターのVoidを使用する。
    すべての実装されたインタフェース:
    ElementVisitor<R,P>

    @SupportedSourceVersion(RELEASE_10)
    public class ElementScanner9<R,P>
    extends ElementScanner8<R,P>
    RELEASE_9およびRELEASE_10ソース・バージョンに適したデフォルト動作を持つプログラム要素のスキャン・ビジター。 このクラスのvisitXyzメソッドは、個々のメソッド仕様に示されているように、scan「囲まれた要素」parametersなどで呼び出してコンポーネントをスキャンします。 サブクラスは、visitXyzメソッドをオーバーライドすることによって、要素がビジットされる順序を制御できます。 スキャナのクライアントは、目的のルート・オブジェクトに対してv.visit(e, p)ではなくv.scan(e, p)を呼び出すことによって、望ましい動作を取得することができます。

    サブクラスがvisitXyzメソッドをオーバーライドすると、新しいメソッドはsuper.visitXyzを呼び出すことで、囲まれた要素をデフォルトの方法でスキャンさせることができます。 このようにして、具体的なビジターは、追加の処理に関して、構成要素にわたるトラバーサルの順序を制御することができます。例えば、オーバーライドされたメソッドの先頭で一貫してsuper.visitXyzを呼び出すと、序盤のトラバーサルなどが発生します。super.visitXyzを呼び出す代わりに、コンポーネントの要素を他の順序でトラバースする必要がある場合は、オーバーライドするvisitメソッドはscanを希望の順序。

    このクラスのメソッドは、一般規約に従ってオーバーライドできます。 @Overrideを持つ具象サブクラスの注釈型メソッドを使用すると、メソッドが意図されたとおりにオーバーライドされます。

    警告: Java™プログラミング言語の将来のバージョンに、現在は未知の新しい言語構造が追加される場合、それらを格納するために、このクラスによって実装されるElementVisitorインタフェースにメソッドが追加される可能性があります。 したがって、将来的に、名前が"visit"で始まるメソッドがこのクラスに追加される可能性があります。非互換性が生じることを避けるため、このクラスを拡張するクラスでは、名前が"visit"で始まるインスタンス・メソッドを宣言しないようにしてください。

    このような新しいビジット・メソッドが追加されると、このクラスのデフォルトの実装はvisitUnknownメソッドを呼び出します。 また、新しい要素スキャナ・ビジター・クラスが、新しい言語レベルに対応するように導入されます。このビジターでは、目的のビジット・メソッドに対するデフォルトの動作が異なります。 新しいビジターが導入された場合、このビジターのすべてまたは一部が非推奨になる可能性があります。

    導入されたバージョン:
    9
    関連項目:
    ElementScanner6, ElementScanner7, ElementScanner8
    • コンストラクタの詳細

      • ElementScanner9

        protected ElementScanner9()
        具象サブクラスのコンストラクタです。デフォルト値にnullを使用します。
      • ElementScanner9

        protected ElementScanner9​(R defaultValue)
        具象サブクラスのコンストラクタです。デフォルト値に引数を使用します。
        パラメータ:
        defaultValue - デフォルト値
    • メソッドの詳細

      • visitModule

        public R visitModule​(ModuleElement e,
                             P p)
        モジュール要素をビジットします。
        定義:
        インタフェースElementVisitor<R,P>内のvisitModule
        オーバーライド:
        クラスAbstractElementVisitor6<R,P>visitModule
        実装要件:
        この実装は、囲まれている要素をスキャンします。
        パラメータ:
        e - ビジットする要素
        p - ビジター指定のパラメータ
        戻り値:
        スキャンの結果