インタフェースjava.lang.classfile.Labelの
使用
パッケージ
説明
クラス・ファイルの解析、生成および変換ライブラリを提供します。
java.lang.classfile
PREVIEWライブラリのクラス・ファイル属性を記述するインタフェースを提供します。java.lang.classfile
PREVIEWライブラリ上に構築された特定のコンポーネント、変換およびツールを提供します。java.lang.classfile
PREVIEWライブラリのコード命令を記述するインタフェースを提供します。-
java.lang.classfilePREVIEWでのLabelPREVIEWの使用
修飾子と型メソッド説明CodeBuilder.BlockCodeBuilder.breakLabel()
コントロールが親ブロックに戻される場所を特定するラベルを返します。CodeBuilder.endLabel()
現在のブロックの末尾に関連付けられたラベルを返します。TypeAnnotation.LocalVarTargetInfo.endLabel()
指定されたローカル変数は、間隔(start_pc、start_pc + length)のコード配列へのインデックス値を持ちます。つまり、start_pc (包含)とstart_pc + length (除外)です。CodeBuilder.newBoundLabel()
現在の位置でバインドされた新しいラベルを作成CodeBuilder.newLabel()
バインドされていない新しいラベルを返します。CodeBuilder.startLabel()
現在のブロックの先頭に関連付けられたラベルを返します。TypeAnnotation.LocalVarTargetInfo.startLabel()
指定されたローカル変数は、間隔(start_pc、start_pc + length)のコード配列へのインデックス値を持ちます。つまり、start_pc (包含)とstart_pc + length (除外)です。TypeAnnotation.OffsetTarget.target()
instanceof式に対応するバイトコード命令、新しい式に対応する新しいバイトコード命令、またはメソッド参照式に対応するバイトコード命令のコード配列オフセット。TypeAnnotation.TypeArgumentTarget.target()
キャスト式に対応するバイトコード命令、新しい式に対応する新しいバイトコード命令、明示的なコンストラクタ呼び出し文に対応するバイトコード命令、メソッド呼び出し式に対応するバイトコード命令、またはメソッド参照式に対応するバイトコード命令のいずれかのコード配列オフセット。LabelPREVIEW型のパラメータを持つjava.lang.classfilePREVIEWのメソッド修飾子と型メソッド説明default CodeBuilderPREVIEW
分岐命令の生成default CodeBuilderPREVIEW
CodeBuilder.characterRange
(LabelPREVIEW startScope, LabelPREVIEW endScope, int characterRangeStart, int characterRangeEnd, int flags) 文字範囲エントリを宣言しますdefault CodeBuilderPREVIEW
CodeBuilder.exceptionCatch
(LabelPREVIEW start, LabelPREVIEW end, LabelPREVIEW handler, ClassEntryPREVIEW catchType) 例外表エントリの宣言default CodeBuilderPREVIEW
CodeBuilder.exceptionCatch
(LabelPREVIEW start, LabelPREVIEW end, LabelPREVIEW handler, ClassDesc catchType) 例外表エントリの宣言default CodeBuilderPREVIEW
CodeBuilder.exceptionCatch
(LabelPREVIEW start, LabelPREVIEW end, LabelPREVIEW handler, Optional<ClassEntryPREVIEW> catchType) 例外表エントリの宣言default CodeBuilderPREVIEW
すべての例外およびエラーを捕捉する例外表エントリを宣言します。default CodeBuilderPREVIEW
常に分岐する命令の生成default CodeBuilderPREVIEW
常にワイド・インデックスで分岐する命令を生成するdefault CodeBuilderPREVIEW
参照比較が成功した場合に分岐する命令を生成するdefault CodeBuilderPREVIEW
参照比較が成功した場合に分岐する命令を生成するdefault CodeBuilderPREVIEW
int比較が成功した場合に分岐する命令を生成するdefault CodeBuilderPREVIEW
int比較が成功した場合に分岐する命令を生成するdefault CodeBuilderPREVIEW
int比較が成功した場合に分岐する命令を生成するdefault CodeBuilderPREVIEW
int比較が成功した場合に分岐する命令を生成するdefault CodeBuilderPREVIEW
int比較が成功した場合に分岐する命令を生成するdefault CodeBuilderPREVIEW
int比較が成功した場合に分岐する命令を生成するdefault CodeBuilderPREVIEW
CodeBuilder.if_nonnull
(LabelPREVIEW target) 参照がnullでない場合、分岐する指示を生成しますdefault CodeBuilderPREVIEW
参照がnullの場合、分岐する指示を生成しますdefault CodeBuilderPREVIEW
ゼロとのint比較が成功した場合、分岐する命令を生成します。default CodeBuilderPREVIEW
ゼロとのint比較が成功した場合、分岐する命令を生成します。default CodeBuilderPREVIEW
ゼロとのint比較が成功した場合、分岐する命令を生成します。default CodeBuilderPREVIEW
ゼロとのint比較が成功した場合、分岐する命令を生成します。default CodeBuilderPREVIEW
ゼロとのint比較が成功した場合、分岐する命令を生成します。default CodeBuilderPREVIEW
ゼロとのint比較が成功した場合、分岐する命令を生成します。default CodeBuilderPREVIEW
CodeBuilder.labelBinding
(LabelPREVIEW label) ラベルを現在の位置にバインドdefault CodeBuilderPREVIEW
CodeBuilder.localVariable
(int slot, Utf8EntryPREVIEW nameEntry, Utf8EntryPREVIEW descriptorEntry, LabelPREVIEW startScope, LabelPREVIEW endScope) ローカル変数エントリを宣言しますdefault CodeBuilderPREVIEW
CodeBuilder.localVariable
(int slot, String name, ClassDesc descriptor, LabelPREVIEW startScope, LabelPREVIEW endScope) ローカル変数エントリを宣言しますdefault CodeBuilderPREVIEW
CodeBuilder.localVariableType
(int slot, Utf8EntryPREVIEW nameEntry, Utf8EntryPREVIEW signatureEntry, LabelPREVIEW startScope, LabelPREVIEW endScope) ローカル変数型エントリの宣言default CodeBuilderPREVIEW
CodeBuilder.localVariableType
(int slot, String name, SignaturePREVIEW signature, LabelPREVIEW startScope, LabelPREVIEW endScope) ローカル変数型エントリの宣言default CodeBuilderPREVIEW
CodeBuilder.lookupswitch
(LabelPREVIEW defaultTarget, List<SwitchCasePREVIEW> cases) キーの一致およびジャンプによってジャンプ表にアクセスするための指示を生成しますローカル変数ターゲット情報を返します。TypeAnnotation.TargetInfo.ofCastExpr
(LabelPREVIEW target, int typeArgumentIndex) キャスト式のi番目の型の注釈のターゲットを返します。TypeAnnotation.TargetInfo.ofConstructorInvocationTypeArgument
(LabelPREVIEW target, int typeArgumentIndex) 明示的なコンストラクタ呼出し文の明示的な型引数リストにあるi番目の型引数に対する注釈のターゲットを返します。TypeAnnotation.TargetInfo.ofConstructorReference
(LabelPREVIEW target) 前の型の注釈のターゲットを返します。 : コンストラクタ参照式TypeAnnotation.TargetInfo.ofConstructorReferenceTypeArgument
(LabelPREVIEW target, int typeArgumentIndex) 新しい式の明示的な型引数リストにあるi番目の型引数に対する注釈のターゲットを返します。TypeAnnotation.TargetInfo.ofInstanceofExpr
(LabelPREVIEW target) instanceof式内の型に対する注釈のターゲットを返します。TypeAnnotation.TargetInfo.ofMethodInvocationTypeArgument
(LabelPREVIEW target, int typeArgumentIndex) メソッド呼出し式の明示的な型引数リストにあるi番目の型引数に対する注釈のターゲットを返します。TypeAnnotation.TargetInfo.ofMethodReference
(LabelPREVIEW target) メソッド参照式内の::前の型の注釈のターゲットを返します。TypeAnnotation.TargetInfo.ofMethodReferenceTypeArgument
(LabelPREVIEW target, int typeArgumentIndex) メソッド参照式の明示的な型引数リストにあるi番目の型引数に対する注釈のターゲットを返します。新しい式内の型に対する注釈のターゲットを返します。TypeAnnotation.TargetInfo.ofOffset
(TypeAnnotation.TargetTypePREVIEW targetType, LabelPREVIEW target) instanceof式または新しい式内の型、またはメソッド参照式内の::前の型の注釈のターゲットを返します。TypeAnnotation.TargetInfo.ofTypeArgument
(TypeAnnotation.TargetTypePREVIEW targetType, LabelPREVIEW target, int typeArgumentIndex) キャスト式内のi番目の型、または明示的な型引数リスト内のi番目の型引数で、次のいずれかの注釈のターゲットを返します: 新しい式、明示的なコンストラクタ呼出し文、メソッド呼出し式またはメソッド参照式。default CodeBuilderPREVIEW
CodeBuilder.tableswitch
(int low, int high, LabelPREVIEW defaultTarget, List<SwitchCasePREVIEW> cases) 索引およびジャンプでジャンプ表にアクセスするための命令の生成default CodeBuilderPREVIEW
CodeBuilder.tableswitch
(LabelPREVIEW defaultTarget, List<SwitchCasePREVIEW> cases) 索引およびジャンプでジャンプ表にアクセスするための命令の生成 -
java.lang.classfile.attributePREVIEWでのLabelPREVIEWの使用
修飾子と型メソッド説明StackMapFrameInfo.UninitializedVerificationTypeInfo.newTarget()
このユニット化オブジェクトを作成するnew
命令位置を返します。StackMapFrameInfo.target()
フレーム・ターゲット・ラベルを返します。LabelPREVIEW型のパラメータを持つjava.lang.classfile.attributePREVIEWのメソッド修飾子と型メソッド説明int
CodeAttribute.labelToBci
(LabelPREVIEW label) Label
がcodeArray
を指していない場合は、codeArray
または -1のLabel
の位置を戻します。static StackMapFrameInfoPREVIEW
StackMapFrameInfo.of
(LabelPREVIEW target, List<StackMapFrameInfo.VerificationTypeInfoPREVIEW> locals, List<StackMapFrameInfo.VerificationTypeInfoPREVIEW> stack) 新しいスタック・マップ・フレームを返します。ユニット化検証タイプ情報を返します。 -
java.lang.classfile.componentsPREVIEWでのLabelPREVIEWの使用
修飾子と型メソッド説明CodeRelabeler.relabel
(LabelPREVIEW label, CodeBuilderPREVIEW codeBuilder) 内部ラベル変更機能へのアクセス・メソッド。LabelPREVIEW型のパラメータを持つjava.lang.classfile.componentsPREVIEWのメソッド修飾子と型メソッド説明CodeRelabeler.relabel
(LabelPREVIEW label, CodeBuilderPREVIEW codeBuilder) 内部ラベル変更機能へのアクセス・メソッド。LabelPREVIEW型の型引数を持つjava.lang.classfile.componentsPREVIEWのメソッド・パラメータ修飾子と型メソッド説明static CodeRelabelerPREVIEW
CodeRelabeler.of
(BiFunction<LabelPREVIEW, CodeBuilderPREVIEW, LabelPREVIEW> mapFunction) 指定されたBiFunction
を使用してCodeRelabelerの新しいインスタンスを作成し、コードに再度ラベルを付けます。static CodeRelabelerPREVIEW
CodeRelabeler.of
(BiFunction<LabelPREVIEW, CodeBuilderPREVIEW, LabelPREVIEW> mapFunction) 指定されたBiFunction
を使用してCodeRelabelerの新しいインスタンスを作成し、コードに再度ラベルを付けます。static CodeRelabelerPREVIEW
指定されたマップにラベル・マッピングを格納するCodeRelabelerの新しいインスタンスを作成します。static CodeRelabelerPREVIEW
指定されたマップにラベル・マッピングを格納するCodeRelabelerの新しいインスタンスを作成します。 -
java.lang.classfile.instructionPREVIEWでのLabelPREVIEWの使用
修飾子と型メソッド説明LookupSwitchInstruction.defaultTarget()
デフォルトのケースのターゲットを返します。TableSwitchInstruction.defaultTarget()
スイッチのデフォルトのターゲットを返します。CharacterRange.endScope()
命令範囲の終わりを返します。LocalVariable.endScope()
ローカル変数スコープの終了範囲を返します。LocalVariableType.endScope()
ローカル変数スコープの終了範囲を返します。ExceptionCatch.handler()
例外に対するハンドラを返します。LabelTarget.label()
このターゲットに対応するラベルを返します。CharacterRange.startScope()
命令範囲の開始を返します。LocalVariable.startScope()
ローカル変数スコープの開始範囲を返します。LocalVariableType.startScope()
ローカル変数スコープの開始範囲を返します。BranchInstruction.target()
ブランチのターゲットを返します。DiscontinuedInstruction.JsrInstruction.target()
JSR命令のターゲットを返します。SwitchCase.target()
このケースに対応するブランチ・ターゲットを返します。ExceptionCatch.tryEnd()
保護されている命令の命令範囲の終了を返します。ExceptionCatch.tryStart()
保護されている命令の命令範囲の先頭を返します。LabelPREVIEW型のパラメータを持つjava.lang.classfile.instructionPREVIEWのメソッド修飾子と型メソッド説明static BranchInstructionPREVIEW
分岐命令を返します。static CharacterRangePREVIEW
CharacterRange.of
(LabelPREVIEW startScope, LabelPREVIEW endScope, int characterRangeStart, int characterRangeEnd, int flags) 文字範囲の擬似命令を返します。JSR命令を返します。JSR命令を返します。static ExceptionCatchPREVIEW
無条件ハンドラの例外表擬似命令を返します。static ExceptionCatchPREVIEW
ExceptionCatch.of
(LabelPREVIEW handler, LabelPREVIEW tryStart, LabelPREVIEW tryEnd, Optional<ClassEntryPREVIEW> catchTypeEntry) 例外表の擬似命令を返します。static LocalVariablePREVIEW
LocalVariable.of
(int slot, Utf8EntryPREVIEW nameEntry, Utf8EntryPREVIEW descriptorEntry, LabelPREVIEW startScope, LabelPREVIEW endScope) ローカル変数擬似命令を返します。static LocalVariablePREVIEW
LocalVariable.of
(int slot, String name, ClassDesc descriptor, LabelPREVIEW startScope, LabelPREVIEW endScope) ローカル変数擬似命令を返します。static LocalVariableTypePREVIEW
LocalVariableType.of
(int slot, Utf8EntryPREVIEW nameEntry, Utf8EntryPREVIEW signatureEntry, LabelPREVIEW startScope, LabelPREVIEW endScope) ローカル変数型擬似命令を返します。static LocalVariableTypePREVIEW
LocalVariableType.of
(int slot, String name, SignaturePREVIEW signature, LabelPREVIEW startScope, LabelPREVIEW endScope) ローカル変数型擬似命令を返します。ルックアップ・スイッチ命令を返します。static SwitchCasePREVIEW
TableSwitchInstruction.of
(int lowValue, int highValue, LabelPREVIEW defaultTarget, List<SwitchCasePREVIEW> cases) 表スイッチ命令を返します。