pub struct Type { /* private fields */ }
Implementations§
source§impl Type
impl Type
let bv = binaryninja::load("example.bin").unwrap();
let my_custom_type_1 = Type::named_int(5, false, "my_w");
let my_custom_type_2 = Type::int(5, false);
bv.define_user_type("int_1", &my_custom_type_1);
bv.define_user_type("int_2", &my_custom_type_2);
pub fn to_builder(&self) -> TypeBuilder
pub fn type_class(&self) -> TypeClass
pub fn width(&self) -> u64
pub fn alignment(&self) -> usize
pub fn is_signed(&self) -> Conf<bool>
pub fn is_const(&self) -> Conf<bool>
pub fn is_volatile(&self) -> Conf<bool>
pub fn is_floating_point(&self) -> bool
pub fn child_type(&self) -> Option<Conf<Ref<Type>>>
sourcepub fn element_type(&self) -> Option<Conf<Ref<Type>>>
pub fn element_type(&self) -> Option<Conf<Ref<Type>>>
This is an alias for Self::child_type
.
sourcepub fn return_value(&self) -> Option<Conf<Ref<Type>>>
pub fn return_value(&self) -> Option<Conf<Ref<Type>>>
This is an alias for Self::child_type
.
pub fn calling_convention(&self) -> Option<Conf<Ref<CoreCallingConvention>>>
pub fn parameters(&self) -> Option<Vec<FunctionParameter>>
pub fn has_variable_arguments(&self) -> Conf<bool>
pub fn can_return(&self) -> Conf<bool>
pub fn pure(&self) -> Conf<bool>
pub fn get_structure(&self) -> Option<Ref<Structure>>
pub fn get_enumeration(&self) -> Option<Ref<Enumeration>>
pub fn get_named_type_reference(&self) -> Option<Ref<NamedTypeReference>>
pub fn count(&self) -> u64
pub fn offset(&self) -> u64
pub fn stack_adjustment(&self) -> Conf<i64>
pub fn registered_name(&self) -> Option<Ref<NamedTypeReference>>
pub fn void() -> Ref<Self>
pub fn bool() -> Ref<Self>
pub fn char() -> Ref<Self>
pub fn wide_char(width: usize) -> Ref<Self>
pub fn int(width: usize, is_signed: bool) -> Ref<Self>
pub fn named_int<S: BnStrCompatible>( width: usize, is_signed: bool, alt_name: S, ) -> Ref<Self>
pub fn float(width: usize) -> Ref<Self>
pub fn named_float<S: BnStrCompatible>(width: usize, alt_name: S) -> Ref<Self>
pub fn array<'a, T: Into<Conf<&'a Type>>>(ty: T, count: u64) -> Ref<Self>
sourcepub fn enumeration<T: Into<Conf<bool>>>(
enumeration: &Enumeration,
width: NonZeroUsize,
is_signed: T,
) -> Ref<Self>
pub fn enumeration<T: Into<Conf<bool>>>( enumeration: &Enumeration, width: NonZeroUsize, is_signed: T, ) -> Ref<Self>
§NOTE
The C/C++ APIs require an associated architecture, but in the core we only query the default_int_size if the given width is 0.
For simplicity’s sake, that convention isn’t followed, and you can query Architecture::default_integer_size
if you need to.
pub fn structure(structure: &Structure) -> Ref<Self>
pub fn named_type(type_reference: &NamedTypeReference) -> Ref<Self>
pub fn named_type_from_type<T: Into<QualifiedName>>( name: T, t: &Type, ) -> Ref<Self>
pub fn function<'a, T: Into<Conf<&'a Type>>>( return_type: T, parameters: Vec<FunctionParameter>, variable_arguments: bool, ) -> Ref<Self>
pub fn function_with_opts<'a, T: Into<Conf<&'a Type>>, C: Into<Conf<Ref<CoreCallingConvention>>>>( return_type: T, parameters: &[FunctionParameter], variable_arguments: bool, calling_convention: C, stack_adjust: Conf<i64>, ) -> Ref<Self>
pub fn pointer<'a, A: Architecture, T: Into<Conf<&'a Type>>>( arch: &A, ty: T, ) -> Ref<Self>
pub fn const_pointer<'a, A: Architecture, T: Into<Conf<&'a Type>>>( arch: &A, ty: T, ) -> Ref<Self>
pub fn pointer_of_width<'a, T: Into<Conf<&'a Type>>>( ty: T, size: usize, is_const: bool, is_volatile: bool, ref_type: Option<ReferenceType>, ) -> Ref<Self>
pub fn pointer_with_options<'a, A: Architecture, T: Into<Conf<&'a Type>>>( arch: &A, ty: T, is_const: bool, is_volatile: bool, ref_type: Option<ReferenceType>, ) -> Ref<Self>
pub fn generate_auto_demangled_type_id<T: Into<QualifiedName>>( name: T, ) -> BnString
Trait Implementations§
source§impl CoreArrayProvider for Type
impl CoreArrayProvider for Type
source§impl ToOwned for Type
impl ToOwned for Type
impl Eq for Type
impl Send for Type
impl Sync for Type
Auto Trait Implementations§
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