RenderLayer in binaryninja::render_layer - Rust

pub trait RenderLayer: Sized {
    // Provided methods
    fn apply_to_flow_graph(&self, graph: &mut FlowGraph) { ... }
    fn apply_to_linear_object(
        &self,
        object: &mut LinearViewObject,
        _prev_object: Option<&mut LinearViewObject>,
        _next_object: Option<&mut LinearViewObject>,
        lines: Vec<LinearDisassemblyLine>,
    ) -> Vec<LinearDisassemblyLine> { ... }
    fn apply_to_disassembly_block(
        &self,
        _block: &BasicBlock<NativeBlock>,
        lines: Vec<DisassemblyTextLine>,
    ) -> Vec<DisassemblyTextLine> { ... }
    fn apply_to_llil_block(
        &self,
        _block: &BasicBlock<NativeBlock>,
        lines: Vec<DisassemblyTextLine>,
    ) -> Vec<DisassemblyTextLine> { ... }
    fn apply_to_mlil_block(
        &self,
        _block: &BasicBlock<NativeBlock>,
        lines: Vec<DisassemblyTextLine>,
    ) -> Vec<DisassemblyTextLine> { ... }
    fn apply_to_hlil_block(
        &self,
        _block: &BasicBlock<NativeBlock>,
        lines: Vec<DisassemblyTextLine>,
    ) -> Vec<DisassemblyTextLine> { ... }
    fn apply_to_hlil_body(
        &self,
        _function: &Function,
        lines: Vec<LinearDisassemblyLine>,
    ) -> Vec<LinearDisassemblyLine> { ... }
    fn apply_to_misc_lines(
        &self,
        _object: &mut LinearViewObject,
        _prev_object: Option<&LinearViewObject>,
        _next_object: Option<&LinearViewObject>,
        lines: Vec<LinearDisassemblyLine>,
    ) -> Vec<LinearDisassemblyLine> { ... }
    fn apply_to_block(
        &self,
        block: &BasicBlock<NativeBlock>,
        lines: Vec<DisassemblyTextLine>,
    ) -> Vec<DisassemblyTextLine> { ... }
}
Source

Apply this Render Layer to a Flow Graph.

Source

Apply this Render Layer to the lines produced by a LinearViewObject for rendering in Linear View.

Source

Apply this Render Layer to a single Basic Block of Disassembly lines.

Modify the lines to change the presentation of the block.

Source

Apply this Render Layer to a single Basic Block of Low Level IL lines.

Modify the lines to change the presentation of the block.

Source

Apply this Render Layer to a single Basic Block of Medium Level IL lines.

Modify the lines to change the presentation of the block.

Source

Apply this Render Layer to a single Basic Block of High Level IL lines.

Modify the lines to change the presentation of the block.

This function will NOT apply to High Level IL bodies as displayed in Linear View! Those are handled by RenderLayer::apply_to_hlil_body instead as they do not have a BasicBlock associated with them.

Source

Apply this Render Layer to the entire body of a High Level IL function.

Modify the lines to change the presentation of the block.

This function only applies to Linear View, and not to Graph View! If you want to handle Graph View too, you will need to use RenderLayer::apply_to_hlil_block and handle the lines one block at a time.

Source

Apply to lines generated by Linear View that are not part of a function.

Modify the lines to change the presentation of the block.

Source

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.