angr.rust.sim_type¶
- angr.rust.sim_type.is_composite_type(ty)¶
- class angr.rust.sim_type.RustSimTypeInt¶
Bases:
RustSimType,SimTypeInt- property alignment¶
The alignment of the type in bytes.
- class angr.rust.sim_type.RustSimTypeSize¶
Bases:
RustSimTypeInt- property size¶
The size of the type in bits, or None if no size is computable.
- copy()¶
- class angr.rust.sim_type.RustSimTypeFunction¶
Bases:
RustSimType,SimTypeFunctionSimTypeFunction is a type that specifies an actual function (i.e. not a pointer) with certain types of arguments and a certain return value.
- args: list[RustSimType]
- returnty: RustSimType | None
- __init__(args, returnty, label=None, arg_names=None, variadic=False, is_arg0_retbuf=False, is_class_member_function=False)¶
- Parameters:
label – The type label
args (
list[RustSimType]) – A tuple of types representing the arguments to the functionreturnty (
RustSimType|None) – The return type of the function, or none for voidvariadic – Whether the function accepts varargs
- property size¶
The size of the type in bits, or None if no size is computable.
- normalize()¶
- copy()¶
- class angr.rust.sim_type.RustSimTypeReference¶
Bases:
RustSimType,SimTypePointerSimTypePointer is a type that specifies a pointer to some other type.
- __init__(pts_to, label=None, offset=0)¶
- Parameters:
label – The type label.
pts_to – The type to which this pointer points.
- property size¶
The size of the type in bits, or None if no size is computable.
- copy()¶
- class angr.rust.sim_type.RustSimTypeArray¶
Bases:
RustSimType,SimTypeArraySimTypeArray is a type that specifies a series of data laid out in sequence.
- __init__(elem_type, length=None, label=None)¶
- Parameters:
label – The type label.
elem_type – The type of each element in the array.
length – An expression of the length of the array, if known.
- copy()¶
- property size¶
The size of the type in bits, or None if no size is computable.
- class angr.rust.sim_type.RustSimStruct¶
Bases:
RustSimType,SimStruct- property size¶
The size of the type in bits, or None if no size is computable.
- copy()¶
- get_field_ty(name)¶
- get_field_offset(name, default=None)¶
- class angr.rust.sim_type.RustSimTypeNumOffset¶
Bases:
RustSimType,SimTypeNumOffsetlike SimTypeNum, but supports an offset of 1 to 7 to a byte aligned address to allow structs with bitfields
- class angr.rust.sim_type.RustSimTypeSlice¶
Bases:
RustSimStruct,SimType- copy()¶
- property size¶
The size of the type in bits, or None if no size is computable.
- class angr.rust.sim_type.RustSimTypeVec¶
Bases:
RustSimStruct,SimType
- class angr.rust.sim_type.RustSimTypeBottom¶
Bases:
RustSimType,SimTypeBottom
- class angr.rust.sim_type.EnumVariant¶
Bases:
object- __init__(name, fields, discriminant, discriminant_size)¶
- static from_no_data(name, discriminant, discriminant_size)¶
- static from_single_field_ty(name, field_ty, discriminant, discriminant_size)¶
- has_fields()¶
- property first_field_offset¶
- property field_offsets¶
- property bits¶
- property size¶
- property type¶
- as_struct_ty()¶
- with_arch(arch)¶
- to_json(memo=None)¶
- static from_json(d)¶
- class angr.rust.sim_type.RustSimEnum¶
Bases:
RustSimType,SimType- copy()¶
- get_variant(discriminant)¶
- Return type:
- get_variant_by_name(name)¶
- num_variants()¶
- as_struct_ty()¶
- class angr.rust.sim_type.RustSimTypeOption¶
Bases:
RustSimEnum- copy()¶
- class angr.rust.sim_type.RustSimTypeResult¶
Bases:
RustSimEnum- copy()¶
- class angr.rust.sim_type.RustSimTypeUnit¶
Bases:
RustSimStruct- copy()¶
- property size¶
The size of the type in bits, or None if no size is computable.
- class angr.rust.sim_type.RustSimTypeStrRef¶
Bases:
RustSimTypeSlice- copy()¶