Struct binaryninja::types::TypeBuilder
[−]pub struct TypeBuilder { /* private fields */ }
Implementations
impl TypeBuilder
impl TypeBuilder
pub fn new(t: &Type) -> Self
pub fn finalize(&self) -> Ref<Type>
pub fn set_const<T: Into<Conf<bool>>>(&self, value: T) -> &Self
pub fn set_volatile<T: Into<Conf<bool>>>(&self, value: T) -> &Self
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 target(&self) -> Result<Conf<Ref<Type>>>
pub fn element_type(&self) -> Result<Conf<Ref<Type>>>
pub fn return_value(&self) -> Result<Conf<Ref<Type>>>
pub fn calling_convention(
&self
) -> Result<Conf<Ref<CallingConvention<CoreArchitecture>>>>
pub fn parameters(&self) -> Result<Vec<FunctionParameter<BnString>>>
pub fn has_variable_arguments(&self) -> Conf<bool>
pub fn get_structure(&self) -> Result<Ref<Structure>>
pub fn get_enumeration(&self) -> Result<Ref<Enumeration>>
pub fn get_named_type_reference(&self) -> Result<NamedTypeReference>
pub fn count(&self) -> u64
pub fn offset(&self) -> u64
pub fn stack_adjustment(&self) -> Conf<i64>
pub fn void() -> Self
pub fn bool() -> Self
pub fn char() -> Self
pub fn int(width: usize, is_signed: bool) -> Self
pub fn named_int<S: BnStrCompatible>(
width: usize,
is_signed: bool,
alt_name: S
) -> Self
pub fn float(width: usize) -> Self
pub fn named_float<S: BnStrCompatible>(width: usize, alt_name: S) -> Self
pub fn array<'a, T: Into<Conf<&'a Type>>>(t: T, count: u64) -> Self
pub fn enumeration<T: Into<Conf<bool>>>(
enumeration: &Enumeration,
width: usize,
is_signed: T
) -> Self
pub fn enumeration<T: Into<Conf<bool>>>(
enumeration: &Enumeration,
width: usize,
is_signed: T
) -> Self
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 the default_int_size from an arch, if you have it, if you need to
pub fn structure(structure_type: &Structure) -> Self
pub fn named_type(type_reference: NamedTypeReference) -> Self
pub fn named_type_from_type<S: BnStrCompatible>(name: S, t: &Type) -> Self
pub fn pointer<'a, A: Architecture, T: Into<Conf<&'a Type>>>(
arch: &A,
t: T
) -> Self
pub fn const_pointer<'a, A: Architecture, T: Into<Conf<&'a Type>>>(
arch: &A,
t: T
) -> Self
pub fn pointer_of_width<'a, T: Into<Conf<&'a Type>>>(
t: T,
size: usize,
is_const: bool,
is_volatile: bool,
ref_type: Option<ReferenceType>
) -> Self
pub fn pointer_with_options<'a, A: Architecture, T: Into<Conf<&'a Type>>>(
arch: &A,
t: T,
is_const: bool,
is_volatile: bool,
ref_type: Option<ReferenceType>
) -> Self
Trait Implementations
impl Display for TypeBuilder
impl Display for TypeBuilder
impl Drop for TypeBuilder
impl Drop for TypeBuilder
impl Hash for TypeBuilder
impl Hash for TypeBuilder
impl PartialEq<TypeBuilder> for TypeBuilder
impl PartialEq<TypeBuilder> for TypeBuilder
fn eq(&self, other: &TypeBuilder) -> bool
fn eq(&self, other: &TypeBuilder) -> bool
impl Eq for TypeBuilder
impl StructuralEq for TypeBuilder
impl StructuralPartialEq for TypeBuilder
Auto Trait Implementations
impl RefUnwindSafe for TypeBuilder
impl !Send for TypeBuilder
impl !Sync for TypeBuilder
impl Unpin for TypeBuilder
impl UnwindSafe for TypeBuilder
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more