pub enum ArgKind {
Imm(u64),
Field(u64),
Global(u64),
LocalAddr,
Other,
}Expand description
The recovered “kind” of a single call argument, harvested from the instruction that set it
up (a register load or a PUSH). Coarse on purpose — only the distinctions a faithful port
must preserve, and only those a short local scan can recover without false positives.
Variants§
Imm(u64)
An immediate constant (PUSH 0x10, MOV ECX,0, XOR ECX,ECX).
Field(u64)
A struct-field load [reg+disp] off a non-stack base (PUSH [ESI+0xc]).
Global(u64)
An absolute in-image data reference [0x00bXXXXX] (a global).
LocalAddr
Address of a stack local (LEA ECX,[EBP-8] / LEA EAX,[ESP+4]) — an out-param / temp.
Other
Anything not confidently classified (a register value, computed expression, prior result).
Trait Implementations§
impl Copy for ArgKind
impl Eq for ArgKind
impl StructuralPartialEq for ArgKind
Auto Trait Implementations§
impl Forget for ArgKind
impl Freeze for ArgKind
impl RefUnwindSafe for ArgKind
impl Send for ArgKind
impl Sync for ArgKind
impl Unpin for ArgKind
impl UnsafeUnpin for ArgKind
impl UnwindSafe for ArgKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more