StackMapTableAttribute (Java SE 26 & JDK 26)
Description: declaration: module: java.base, package: java.lang.classfile.attribute, interface: StackMapTableAttribute
Keywords: java.lang.classfile.attribute.StackMapTableAttribute interface

# Interface StackMapTableAttribute

All Superinterfaces:
  `Attribute<StackMapTableAttribute>, ClassFileElement, CodeElement`

public sealed interface StackMapTableAttribute extends Attribute<StackMapTableAttribute>, CodeElement
Models the `StackMapTable` attribute (JVMS 4.7.4), which is used for verification by type checking (4.10.1).

This attribute is not delivered in the traversal of a `CodeAttribute`, but instead automatically generated upon `class` file writing. Advanced users can supply their own stack maps according to the `ClassFile.StackMapsOption`.

This attribute only appears on `Code` attributes, and does not permit multiple instances in a `Code` attribute. It has a data dependency on labels in the `code` array.

This attribute was introduced in the Java SE Platform version 6, major version 50.

See Java Virtual Machine Specification:
  4.7.4 The `StackMapTable` Attribute
  4.10.1 Verification by Type Checking
Since:
  24
See Also:
  - `Attributes.stackMapTable()`
  - `DiscontinuedInstruction.JsrInstruction`
  - `DiscontinuedInstruction.RetInstruction`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<StackMapFrameInfo>`
  `entries()`
  Returns the stack map frames.
  `static StackMapTableAttribute`
  `of(List<StackMapFrameInfo> entries)`
  Returns a stack map table attribute.

  ### Methods declared in interface Attribute

  `attributeMapper, attributeName`
  Modifier and Type
  Method
  Description
  `AttributeMapper<StackMapTableAttribute>`
  `attributeMapper()`
  Returns the `AttributeMapper` associated with this attribute.
  `Utf8Entry`
  `attributeName()`
  Returns the name of the attribute.

- ## Method Details

  - ### entries

    List<StackMapFrameInfo> entries()
    Returns the stack map frames.
    Returns:
      the stack map frames

  - ### of

    static StackMapTableAttribute of(List<StackMapFrameInfo> entries)
    Returns a stack map table attribute.
    Parameters:
      `entries` - the stack map frames
    Returns:
      a stack map table attribute
    Throws:
      `IllegalArgumentException` - if the number of frames exceeds the limit of `u2`