インタフェースjava.lang.classfile.Labelの
使用
パッケージ
説明
クラス・ファイルの解析、生成および変換ライブラリを提供します。
java.lang.classfilePREVIEWライブラリのクラス・ファイル属性を記述するインタフェースを提供します。java.lang.classfilePREVIEWライブラリ上に構築された特定のコンポーネント、変換およびツールを提供します。java.lang.classfilePREVIEWライブラリのコード命令を記述するインタフェースを提供します。-
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 CodeBuilderPREVIEWCodeBuilder.characterRange(LabelPREVIEW startScope, LabelPREVIEW endScope, int characterRangeStart, int characterRangeEnd, int flags) 文字範囲エントリを宣言しますdefault CodeBuilderPREVIEWCodeBuilder.exceptionCatch(LabelPREVIEW start, LabelPREVIEW end, LabelPREVIEW handler, ClassEntryPREVIEW catchType) 例外表エントリの宣言default CodeBuilderPREVIEWCodeBuilder.exceptionCatch(LabelPREVIEW start, LabelPREVIEW end, LabelPREVIEW handler, ClassDesc catchType) 例外表エントリの宣言default CodeBuilderPREVIEWCodeBuilder.exceptionCatch(LabelPREVIEW start, LabelPREVIEW end, LabelPREVIEW handler, Optional<ClassEntryPREVIEW> catchType) 例外表エントリの宣言default CodeBuilderPREVIEWすべての例外およびエラーを捕捉する例外表エントリを宣言します。default CodeBuilderPREVIEW常に分岐する命令の生成default CodeBuilderPREVIEW常にワイド・インデックスで分岐する命令を生成するdefault CodeBuilderPREVIEW参照比較が成功した場合に分岐する命令を生成するdefault CodeBuilderPREVIEW参照比較が成功した場合に分岐する命令を生成するdefault CodeBuilderPREVIEWint比較が成功した場合に分岐する命令を生成するdefault CodeBuilderPREVIEWint比較が成功した場合に分岐する命令を生成するdefault CodeBuilderPREVIEWint比較が成功した場合に分岐する命令を生成するdefault CodeBuilderPREVIEWint比較が成功した場合に分岐する命令を生成するdefault CodeBuilderPREVIEWint比較が成功した場合に分岐する命令を生成するdefault CodeBuilderPREVIEWint比較が成功した場合に分岐する命令を生成するdefault CodeBuilderPREVIEWCodeBuilder.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 CodeBuilderPREVIEWCodeBuilder.labelBinding(LabelPREVIEW label) ラベルを現在の位置にバインドdefault CodeBuilderPREVIEWCodeBuilder.localVariable(int slot, Utf8EntryPREVIEW nameEntry, Utf8EntryPREVIEW descriptorEntry, LabelPREVIEW startScope, LabelPREVIEW endScope) ローカル変数エントリを宣言しますdefault CodeBuilderPREVIEWCodeBuilder.localVariable(int slot, String name, ClassDesc descriptor, LabelPREVIEW startScope, LabelPREVIEW endScope) ローカル変数エントリを宣言しますdefault CodeBuilderPREVIEWCodeBuilder.localVariableType(int slot, Utf8EntryPREVIEW nameEntry, Utf8EntryPREVIEW signatureEntry, LabelPREVIEW startScope, LabelPREVIEW endScope) ローカル変数型エントリの宣言default CodeBuilderPREVIEWCodeBuilder.localVariableType(int slot, String name, SignaturePREVIEW signature, LabelPREVIEW startScope, LabelPREVIEW endScope) ローカル変数型エントリの宣言default CodeBuilderPREVIEWCodeBuilder.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 CodeBuilderPREVIEWCodeBuilder.tableswitch(int low, int high, LabelPREVIEW defaultTarget, List<SwitchCasePREVIEW> cases) 索引およびジャンプでジャンプ表にアクセスするための命令の生成default CodeBuilderPREVIEWCodeBuilder.tableswitch(LabelPREVIEW defaultTarget, List<SwitchCasePREVIEW> cases) 索引およびジャンプでジャンプ表にアクセスするための命令の生成 -
java.lang.classfile.attributePREVIEWでのLabelPREVIEWの使用
修飾子と型メソッド説明StackMapFrameInfo.UninitializedVerificationTypeInfo.newTarget()このユニット化オブジェクトを作成するnew命令位置を返します。StackMapFrameInfo.target()フレーム・ターゲット・ラベルを返します。LabelPREVIEW型のパラメータを持つjava.lang.classfile.attributePREVIEWのメソッド修飾子と型メソッド説明intCodeAttribute.labelToBci(LabelPREVIEW label) LabelがcodeArrayを指していない場合は、codeArrayまたは -1のLabelの位置を戻します。static StackMapFrameInfoPREVIEWStackMapFrameInfo.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 CodeRelabelerPREVIEWCodeRelabeler.of(BiFunction<LabelPREVIEW, CodeBuilderPREVIEW, LabelPREVIEW> mapFunction) 指定されたBiFunctionを使用してCodeRelabelerの新しいインスタンスを作成し、コードに再度ラベルを付けます。static CodeRelabelerPREVIEWCodeRelabeler.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 CharacterRangePREVIEWCharacterRange.of(LabelPREVIEW startScope, LabelPREVIEW endScope, int characterRangeStart, int characterRangeEnd, int flags) 文字範囲の擬似命令を返します。JSR命令を返します。JSR命令を返します。static ExceptionCatchPREVIEW無条件ハンドラの例外表擬似命令を返します。static ExceptionCatchPREVIEWExceptionCatch.of(LabelPREVIEW handler, LabelPREVIEW tryStart, LabelPREVIEW tryEnd, Optional<ClassEntryPREVIEW> catchTypeEntry) 例外表の擬似命令を返します。static LocalVariablePREVIEWLocalVariable.of(int slot, Utf8EntryPREVIEW nameEntry, Utf8EntryPREVIEW descriptorEntry, LabelPREVIEW startScope, LabelPREVIEW endScope) ローカル変数擬似命令を返します。static LocalVariablePREVIEWLocalVariable.of(int slot, String name, ClassDesc descriptor, LabelPREVIEW startScope, LabelPREVIEW endScope) ローカル変数擬似命令を返します。static LocalVariableTypePREVIEWLocalVariableType.of(int slot, Utf8EntryPREVIEW nameEntry, Utf8EntryPREVIEW signatureEntry, LabelPREVIEW startScope, LabelPREVIEW endScope) ローカル変数型擬似命令を返します。static LocalVariableTypePREVIEWLocalVariableType.of(int slot, String name, SignaturePREVIEW signature, LabelPREVIEW startScope, LabelPREVIEW endScope) ローカル変数型擬似命令を返します。ルックアップ・スイッチ命令を返します。static SwitchCasePREVIEWTableSwitchInstruction.of(int lowValue, int highValue, LabelPREVIEW defaultTarget, List<SwitchCasePREVIEW> cases) 表スイッチ命令を返します。