Interface StackMapFrameInfo
public sealed interface StackMapFrameInfo
Models a stack map frame in a
StackMapTable
attribute (JVMS 4.7.4). A stack map frame must appear at the
beginning of each basic block in a method (JVMS 4.10.1).- API Note:
- In general, a stack map frame should be defined for each target of a
BranchInstruction
, or unreachable code right after an unconditional branch instruction likegoto
. The automatic stack map generation cannot handle unreachable code right after an unconditional jump; TheClassFile.DeadCodeOption
allows substituting such code, or advanced users can provide their own stack maps for dead code. - See Java Virtual Machine Specification:
-
4.7.4 The
StackMapTable
Attribute
4.10.1 Verification by Type Checking - Since:
- 24
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interface
A stack value for an object type.static enum
A simple stack value.static interface
An uninitialized stack value.static interface
The type of a stack or local variable value. -
Method Summary
Modifier and TypeMethodDescriptionint
Returns the rawu1 frame_type
.locals()
Returns the expanded local variable types.static StackMapFrameInfo
of
(Label target, List<StackMapFrameInfo.VerificationTypeInfo> locals, List<StackMapFrameInfo.VerificationTypeInfo> stack) Returns a new stack map frame.stack()
Returns the expanded operand stack types.target()
Returns the frame target label.
-
Method Details
-
frameType
int frameType()Returns the rawu1 frame_type
.- Returns:
- the raw
u1 frame_type
-
target
-
locals
List<StackMapFrameInfo.VerificationTypeInfo> locals()Returns the expanded local variable types.- Returns:
- the expanded local variable types
-
stack
Returns the expanded operand stack types.- Returns:
- the expanded operand stack types
-
of
static StackMapFrameInfo of(Label target, List<StackMapFrameInfo.VerificationTypeInfo> locals, List<StackMapFrameInfo.VerificationTypeInfo> stack) Returns a new stack map frame.- Parameters:
target
- the location of the framelocals
- the complete list of frame localsstack
- the complete frame stack- Returns:
- a new stack map frame
-