Enum rust_jvm::model::class_file::attribute::stack_map_frame::StackMapFrame [] [src]

pub enum StackMapFrame {
    SameFrame {
        offset_delta: u1,
    },
    SameLocals1StackItemFrame {
        offset_delta: u1,
        stack_item: VerificationTypeInfo,
    },
    SameLocals1StackItemFrameExtended {
        offset_delta: u2,
        stack_item: VerificationTypeInfo,
    },
    ChopFrame {
        offset_delta: u2,
        num_chopped: u1,
    },
    SameFrameExtended {
        offset_delta: u2,
    },
    AppendFrame {
        offset_delta: u2,
        locals: Vec<VerificationTypeInfo>,
    },
    FullFrame {
        offset_delta: u2,
        locals: Vec<VerificationTypeInfo>,
        stack: Vec<VerificationTypeInfo>,
    },
}

A StackMapFrame variant stores a relative bytecode offset, the verification types (§4.10.1.2) for the local variables, and the verification types for the operand stack. Each variant stores a bytecode offset relative to the previous StackMapFrame. The actual bytecode offset can be calculated as described in (§4.7.4).

Variants

SameFrame

Fields

offset_delta
SameLocals1StackItemFrame

Fields

offset_delta
stack_item
SameLocals1StackItemFrameExtended

Fields

offset_delta
stack_item
ChopFrame

Fields

offset_delta
num_chopped
SameFrameExtended

Fields

offset_delta
AppendFrame

Fields

offset_delta
locals
FullFrame

Fields

offset_delta
locals
stack

Trait Implementations

Derived Implementations

impl Debug for StackMapFrame

fn fmt(&self, __arg_0: &mut Formatter) -> Result