インタフェースCodeRelabeler

すべてのスーパー・インタフェース:
ClassFileTransformPREVIEW<CodeTransformPREVIEW,CodeElementPREVIEW,CodeBuilderPREVIEW>, CodeTransformPREVIEW

public sealed interface CodeRelabeler extends CodeTransformPREVIEW
CodeRelabelerは、JavaプラットフォームのプレビューAPIです。
プレビュー機能が有効な場合のみ、プログラムでCodeRelabelerを使用できます。
プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
コード・リラベラは、変換されたコード内のすべてのLabelPREVIEWを新しいインスタンスで置き換えるCodeTransformPREVIEWです。 すべてのLabelTargetPREVIEW命令が適宜調整されます。 ラベルが変更されたコード・グラフは元のものと同じです。

CodeRelabelerの主な目的は、同じコード・ブロックを繰り返しインジェクションすることです。 同じコード・ブロックの繰返しインジェクションにラベルを付け直す必要があるため、LabelPREVIEWの各インスタンスはターゲット・バイトコードに1回のみバインドされます。

導入されたバージョン:
22
  • メソッドの詳細

    • of

      static CodeRelabelerPREVIEW of()
      CodeRelabelerの新しいインスタンスを作成します。
      戻り値:
      CodeRelabelerの新しいインスタンス
    • of

      指定されたマップにラベル・マッピングを格納するCodeRelabelerの新しいインスタンスを作成します。
      パラメータ:
      map - ラベル変更にアクティブに使用されるラベル・マップ
      戻り値:
      CodeRelabelerの新しいインスタンス
    • of

      指定されたBiFunctionを使用してCodeRelabelerの新しいインスタンスを作成し、コードに再度ラベルを付けます。
      パラメータ:
      mapFunction - ソース・コード・モデルのラベルを再マッピングするための関数
      戻り値:
      CodeRelabelerの新しいインスタンス
    • relabel

      LabelPREVIEW relabel(LabelPREVIEW label, CodeBuilderPREVIEW codeBuilder)
      内部ラベル変更機能へのアクセス・メソッド。
      パラメータ:
      label - ソース・ラベル
      codeBuilder - 新しいラベルを作成するビルダー
      戻り値:
      ターゲット・ラベル