Interface CodeAttribute

All Superinterfaces:
AttributePREVIEW<CodeAttributePREVIEW>, AttributedElementPREVIEW, ClassFileElementPREVIEW, CodeModelPREVIEW, CompoundElementPREVIEW<CodeElementPREVIEW>, Iterable<CodeElementPREVIEW>, MethodElementPREVIEW

public sealed interface CodeAttribute extends AttributePREVIEW<CodeAttributePREVIEW>, CodeModelPREVIEW
CodeAttribute is a preview API of the Java platform.
Programs can only use CodeAttribute when preview features are enabled.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
Models the Code attribute (JVMS 4.7.3), appears on non-native, non-abstract methods and contains the bytecode of the method body. Delivered as a MethodElementPREVIEW when traversing the elements of a MethodModelPREVIEW.

The attribute does not permit multiple instances in a given location. Subsequent occurrence of the attribute takes precedence during the attributed element build or transformation.

Since:
22
  • Method Details

    • maxLocals

      int maxLocals()
      Returns the maximum size of the local variable table.
      Returns:
      the maximum size of the local variable table
    • maxStack

      int maxStack()
      Returns the maximum size of the operand stack.
      Returns:
      the maximum size of the operand stack
    • codeLength

      int codeLength()
      Returns The length of the code array in bytes.
      Returns:
      The length of the code array in bytes
    • codeArray

      byte[] codeArray()
      Returns the bytes (bytecode) of the code array.
      Returns:
      the bytes (bytecode) of the code array
    • labelToBci

      int labelToBci(LabelPREVIEW label)
      Returns the position of the label in the codeArray.
      Parameters:
      label - a marker for a position within this CodeAttribute
      Returns:
      the position of the label in the codeArray
      Throws:
      IllegalArgumentException - if the label is not from this attribute