インタフェースStackMapFrameInfo
public sealed interface StackMapFrameInfo
StackMapTable
属性(JVMS 4.7.4)のスタック・マップ・フレームをモデル化します。 スタック・マップ・フレームは、メソッド(JVMS 4.10.1)の各基本ブロックの先頭に存在する必要があります。 - APIのノート:
- 一般に、
BranchInstruction
の各ターゲットにスタック・マップ・フレームを定義するか、goto
のような無条件の分岐命令の直後に到達不可能なコードを定義する必要があります。 自動スタック・マップ生成では、無条件ジャンプの直後に到達不可能なコードを処理できません。ClassFile.DeadCodeOption
では、このようなコードの置換が許可されます。または、上級ユーザーは、デッド・コードに独自のスタック・マップを提供できます。 - Java Virtual Machine仕様を参照してください:
-
「4.7.4
StackMapTable
属性」
「4.10.1 タイプ・チェックによる検証」 - 導入されたバージョン:
- 24
- 関連項目:
-
ネストされたクラスのサマリー
ネストされたクラス修飾子と型インタフェース説明static interface
オブジェクト型のスタック値。static enum
単純なスタック値。static interface
初期化されていないスタック値。static interface
スタックまたはローカル変数値のタイプ。 -
メソッドのサマリー
修飾子と型メソッド説明int
rawu1 frame_type
を返します。locals()
拡張されたローカル変数型を返します。static StackMapFrameInfo
of
(Label target, List<StackMapFrameInfo.VerificationTypeInfo> locals, List<StackMapFrameInfo.VerificationTypeInfo> stack) 新しいスタック・マップ・フレームを返します。stack()
拡張されたオペランド・スタック型を返します。target()
フレーム・ターゲット・ラベルを返します。
-
メソッドの詳細
-
frameType
int frameType()rawu1 frame_type
を返します。- 戻り値:
- the raw
u1 frame_type
-
target
-
locals
-
stack
-
of
static StackMapFrameInfo of(Label target, List<StackMapFrameInfo.VerificationTypeInfo> locals, List<StackMapFrameInfo.VerificationTypeInfo> stack) 新しいスタック・マップ・フレームを返します。- パラメータ:
target
- フレームのロケーションlocals
- フレーム・ロケータの完全なリストstack
- 完全なフレーム・スタック- 戻り値:
- 新しいスタック・マップ・フレーム
-