インタフェースCodeModel
- すべてのスーパー・インタフェース:
AttributedElement, ClassFileElement, CompoundElement<CodeElement>, Iterable<CodeElement>, MethodElement
- 既知のすべてのサブインタフェース:
CodeAttribute
public sealed interface CodeModel extends CompoundElement<CodeElement>, AttributedElement, MethodElement permits CodeAttribute (not exhaustive)
メソッド(
Code属性)の本文をモデル化します。 Code属性は、Instructionにアクセスする唯一の方法であるCodeElement sの「組成」とみなされます。コード・モデルの要素の順序は重要です。
CodeModelは、MethodModel.code()、またはメソッドのメンバー要素のトラバースから取得されます。
MethodBuilder.withCode(Consumer)は、コード・モデルを構築する主な方法です。 MethodBuilder.transformCode(CodeModel, CodeTransform)およびCodeBuilder.transforming(CodeTransform, Consumer)では、元のコード要素を選択して処理し、結果をコード・ビルダーに指示することで、新しいCode属性を作成できます。
Code属性は属性を保持しますが、通常はメンバー要素ではありませんが、PseudoInstructionに分解され、ClassFile.DeadLabelsOption、ClassFile.DebugElementsOptionおよびClassFile.LineNumbersOptionに従ってアクセスできます。 StackMapTableAttributeには、コード本文から導出プロパティとみなされるため、「明示的な属性読み取り」を介してのみアクセスできます。
- Java Virtual Machine仕様を参照してください:
-
4.7.3
Code属性 - 導入されたバージョン:
- 24
- 関連項目:
-
メソッドのサマリー
インタフェースで宣言されたメソッド AttributedElement
attributes, findAttribute, findAttributesインタフェースで宣言されたメソッド CompoundElement
elementList, elementStream, forEach, iterator, toDebugStringインタフェースIterableで宣言されたメソッド
spliterator
-
メソッドの詳細
-
parent
-
exceptionHandlers
List<ExceptionCatch> exceptionHandlers()メソッドの例外表を返します。 例外表は、ストリーミング・ビューのExceptionCatch要素によってもモデル化されます。- 戻り値:
- メソッドの例外表
-