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

# Interface StackMapFrameInfo

public sealed interface StackMapFrameInfo
`StackMapFrameInfo` is a preview API of the Java platform.
Programs can only use `StackMapFrameInfo` when preview features are enabled.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
Models stack map frame of `StackMapTable` attribute 4.7.4.

Since:
  22

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static interface`
  `StackMapFrameInfo.ObjectVerificationTypeInfoPREVIEW`
  Preview.
  A stack value for an object type.
  `static enum`
  `StackMapFrameInfo.SimpleVerificationTypeInfoPREVIEW`
  Preview.
  A simple stack value.
  `static interface`
  `StackMapFrameInfo.UninitializedVerificationTypeInfoPREVIEW`
  Preview.
  An uninitialized stack value.
  `static interface`
  `StackMapFrameInfo.VerificationTypeInfoPREVIEW`
  Preview.
  The type of a stack value.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `frameType()`
  Returns the frame compact form type.
  `List<StackMapFrameInfo.VerificationTypeInfoPREVIEW>`
  `locals()`
  Returns the expanded local variable types.
  `static StackMapFrameInfoPREVIEW`
  `of(LabelPREVIEW target, List<StackMapFrameInfo.VerificationTypeInfoPREVIEW> locals, List<StackMapFrameInfo.VerificationTypeInfoPREVIEW> stack)`
  Returns a new stack map frame.
  `List<StackMapFrameInfo.VerificationTypeInfoPREVIEW>`
  `stack()`
  Returns the expanded stack types.
  `LabelPREVIEW`
  `target()`
  Returns the frame target label.

- ## Method Details

  - ### frameType

    int frameType()
    Returns the frame compact form type.
    Returns:
      the frame compact form type

  - ### target

    LabelPREVIEW target()
    Returns the frame target label.
    Returns:
      the frame target label

  - ### locals

    List<StackMapFrameInfo.VerificationTypeInfoPREVIEW> locals()
    Returns the expanded local variable types.
    Returns:
      the expanded local variable types

  - ### stack

    List<StackMapFrameInfo.VerificationTypeInfoPREVIEW> stack()
    Returns the expanded stack types.
    Returns:
      the expanded stack types

  - ### of

    static StackMapFrameInfoPREVIEW of(LabelPREVIEW target, List<StackMapFrameInfo.VerificationTypeInfoPREVIEW> locals, List<StackMapFrameInfo.VerificationTypeInfoPREVIEW> stack)
    Returns a new stack map frame.
    Parameters:
      `target` - the location of the frame
      `locals` - the complete list of frame locals
      `stack` - the complete frame stack
    Returns:
      a new stack map frame