Skip to main content
The OperandInfo object provides information about a function argument or return value at a call site, including annotations, origins, and values before and after the call.

Fields

Methods

Reference

name

The name of the operand.

index

The index of the operand in the parameter list.

pre_call_annotation / post_call_annotation / annotation

The annotation assigned to the operand before or after the call.
annotation is equivalent to pre_call_annotation.

pre_call_origin / post_call_origin / origin

The origin of the operand before or after the call.
origin is equivalent to pre_call_origin.

pre_call_string / post_call_string / string

The string value of the operand before or after the call. string is equivalent to pre_call_string.

is_const_pre_call / is_const_post_call / is_const

Returns true if the operand yields a constant value before or after the call. is_const is equivalent to is_const_pre_call.

is_unk_pre_call / is_unk_post_call / is_unk

Returns true if the operand value is unknown before or after the call. is_unk is equivalent to is_unk_pre_call.

pre_call_constant / post_call_constant / constant

The constant value of the operand before or after the call, returned as a BitVec. Returns nil if the operand does not resolve to a constant. constant is equivalent to pre_call_constant.

pre_call_bytes / post_call_bytes / bytes

Returns bytes at the address pointed by the operand before or after the call, returned as a table of numbers. bytes is equivalent to pre_call_bytes. These methods accept an optional limit parameter (defaults to 256) to limit the number of bytes returned.

Example