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

クラスElementScanner14<R,​P>

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

@SupportedSourceVersion(RELEASE_14)
public class ElementScanner14<R,​P>
extends ElementScanner9<R,​P>
このクラスは、Java言語のプレビュー機能であるrecordsに関連付けられています。 プレビュー機能は、将来のリリースで削除されるか、Java言語の永続機能にアップグレードされる可能性があります。

RELEASE_14ソース・バージョンに適したデフォルトの動作を持つ、プログラム要素のスキャン・ビジターです。
このクラスの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メソッドを呼び出します。 また、新しい要素スキャナ・ビジター・クラスが、新しい言語レベルに対応するように導入されます。このビジターでは、目的のビジット・メソッドに対するデフォルトの動作が異なります。 新しいビジターが導入された場合、このビジターのすべてまたは一部が非推奨になる可能性があります。

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

    • ElementScanner14

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

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

    • visitType

      public R visitType​(TypeElement e, P p)
      型要素をビジットします。
      定義:
      インタフェースElementVisitor<R,​P>内のvisitType
      オーバーライド:
      クラスElementScanner6<R,​P>visitType
      実装要件:
      この実装では、型パラメータ(存在する場合)をスキャンしてから、要素を囲みます。
      パラメータ:
      e - ビジットする要素
      p - ビジター指定のパラメータ
      戻り値:
      スキャン結果
    • visitExecutable

      public R visitExecutable​(ExecutableElement e, P p)
      実行可能要素をビジットします。
      定義:
      インタフェースElementVisitor<R,​P>内のvisitExecutable
      オーバーライド:
      クラスElementScanner6<R,​P>visitExecutable
      実装要件:
      この実装では、最初に型パラメータ(存在する場合)をスキャンし、次にパラメータをスキャンします。
      パラメータ:
      e - ビジットする要素
      p - ビジター指定のパラメータ
      戻り値:
      スキャン結果
    • visitRecordComponent

      public R visitRecordComponent​(RecordComponentElement e, P p)
      このメソッドは、Java言語のプレビュー機能であるrecordに関連付けられています。 プレビュー機能は、将来のリリースで削除されるか、Java言語の永続機能にアップグレードされる可能性があります。

      レコード・コンポーネント要素を訪問します。
      定義:
      インタフェースElementVisitor<R,​P>内のvisitRecordComponent
      オーバーライド:
      クラスAbstractElementVisitor6<R,​P>visitRecordComponent
      実装要件:
      この実装は、囲まれている要素をスキャンします。
      パラメータ:
      e - ビジットする要素
      p - ビジター指定のパラメータ
      戻り値:
      スキャンの結果