インタフェースTypeCheckInstruction
- すべてのスーパー・インタフェース:
ClassFileElement, CodeElement, Instruction
public sealed interface TypeCheckInstruction extends Instruction
Code属性のcode配列のinstanceofまたはcheckcast命令をモデル化します。 対応するopcodesのkindはOpcode.Kind.TYPE_CHECKです。 CodeModelの要素をトラバースするときに、CodeElementとして提供されます。
instanceofは、型をチェックし、整数をオペランド・スタックにプッシュします。 checkcastはタイプをチェックし、チェックが失敗した場合はClassCastExceptionをスローします。instanceofはnull参照を失敗として扱いますが、checkcastはnull参照を成功として扱います。
型チェック命令はコンポジットです:
TypeCheckInstruction(
Opcode opcode,
ClassEntry type
)
- 導入されたバージョン:
- 24
-
メソッドのサマリー
修飾子と型メソッド説明static TypeCheckInstructionof(Opcode op, ClassEntry type) 型チェック命令を返します。static TypeCheckInstruction型チェック命令を返します。type()命令がチェックするタイプを返します。インタフェースInstructionで宣言されたメソッド
opcode, sizeInBytes
-
メソッドの詳細
-
type
-
of
static TypeCheckInstruction of(Opcode op, ClassEntry type) 型チェック命令を返します。- パラメータ:
op- 特定のタイプのチェック命令のopcode。Opcode.Kind.TYPE_CHECKの種類である必要がありますtype- チェックまたはキャストする対象となるタイプ- 戻り値:
- 型チェック命令
- スロー:
IllegalArgumentException- opcodeの種類がOpcode.Kind.TYPE_CHECKでない場合
-
of
static TypeCheckInstruction of(Opcode op, ClassDesc type) 型チェック命令を返します。- パラメータ:
op- 特定のタイプのチェック命令のopcode。Opcode.Kind.TYPE_CHECKの種類である必要がありますtype- チェックまたはキャストする対象となるタイプ- 戻り値:
- 型チェック命令
- スロー:
IllegalArgumentException- opcode kindがOpcode.Kind.TYPE_CHECKでない場合、またはtypeがプリミティブの場合
-