binaryninja::data_renderer

Trait CustomDataRenderer

source
pub trait CustomDataRenderer:
    Sized
    + Sync
    + Send
    + 'static {
    const REGISTRATION_TYPE: RegistrationType;

    // Required methods
    fn is_valid_for_data(
        &self,
        view: &BinaryView,
        addr: u64,
        type_: &Type,
        types: &[TypeContext],
    ) -> bool;
    fn lines_for_data(
        &self,
        view: &BinaryView,
        addr: u64,
        type_: &Type,
        prefix: Vec<InstructionTextToken>,
        width: usize,
        types_ctx: &[TypeContext],
        language: &str,
    ) -> Vec<DisassemblyTextLine>;
}

Required Associated Constants§

source

const REGISTRATION_TYPE: RegistrationType

The registration type for the renderer really only determines the priority for the renderer.

If you are overriding the behavior of a specific type, you should use RegistrationType::Specific.

Required Methods§

source

fn is_valid_for_data( &self, view: &BinaryView, addr: u64, type_: &Type, types: &[TypeContext], ) -> bool

source

fn lines_for_data( &self, view: &BinaryView, addr: u64, type_: &Type, prefix: Vec<InstructionTextToken>, width: usize, types_ctx: &[TypeContext], language: &str, ) -> Vec<DisassemblyTextLine>

Object Safety§

This trait is not object safe.

Implementors§