インタフェース・ラベル


public sealed interface Label
メソッド本文の命令内の位置のマーカー。 この位置は、ListIteratorの位置と同様に、命令のリスト内のカーソル位置です。

ラベルの読み込み

classファイルから読み取られるラベルは、Code属性のcode配列内の位置を表します。 これは、bci (バイトコード・インデックス) (pc (プログラム・カウンタ)とも呼ばれる)に関連付けられ、code配列への索引です。実際のカーソル位置は指定された索引の直前であるため、命令の先頭のラベルはbci 0、命令の末尾のラベルはbci codeLength() + 1になります。 bciはCodeAttribute::labelToBciを介して検査できます。

汎用CodeModel sでは、ラベルにbci値がない場合があります。ラベルの位置は、そのモデル内の対応するLabelTargetを検索することで確認できます。

ラベルの記述

java.lang.classfileの多くのモデルはラベルを参照します。 ラベルを記述するには、ラベルを取得する必要があります。ラベルはCodeBuilderにバインドする必要があります。

ラベルを取得するには:

ラベルは、使用されるCodeBuilderで1回のみバインドする必要があります。そうしないと、書込みは失敗します。 バインドされていないラベルをバインドするには:

別のモデルから読み取られたラベルは、CodeBuilderでは自動的にバインドされません。これらは別個のエンティティであり、ラベルはその中の異なる位置にバインドされます。

導入されたバージョン:
24
関連項目: