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> { ... }
}
Provided Methods§
sourcefn apply_to_flow_graph(&self, graph: &mut FlowGraph)
fn apply_to_flow_graph(&self, graph: &mut FlowGraph)
Apply this Render Layer to a Flow Graph.
sourcefn 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_linear_object( &self, object: &mut LinearViewObject, _prev_object: Option<&mut LinearViewObject>, _next_object: Option<&mut LinearViewObject>, lines: Vec<LinearDisassemblyLine>, ) -> Vec<LinearDisassemblyLine>
Apply this Render Layer to the lines produced by a LinearViewObject for rendering in Linear View.
sourcefn apply_to_disassembly_block(
&self,
_block: &BasicBlock<NativeBlock>,
lines: Vec<DisassemblyTextLine>,
) -> Vec<DisassemblyTextLine>
fn apply_to_disassembly_block( &self, _block: &BasicBlock<NativeBlock>, lines: Vec<DisassemblyTextLine>, ) -> Vec<DisassemblyTextLine>
Apply this Render Layer to a single Basic Block of Disassembly lines.
Modify the lines to change the presentation of the block.
sourcefn apply_to_llil_block(
&self,
_block: &BasicBlock<NativeBlock>,
lines: Vec<DisassemblyTextLine>,
) -> Vec<DisassemblyTextLine>
fn apply_to_llil_block( &self, _block: &BasicBlock<NativeBlock>, lines: Vec<DisassemblyTextLine>, ) -> Vec<DisassemblyTextLine>
Apply this Render Layer to a single Basic Block of Low Level IL lines.
Modify the lines to change the presentation of the block.
sourcefn apply_to_mlil_block(
&self,
_block: &BasicBlock<NativeBlock>,
lines: Vec<DisassemblyTextLine>,
) -> Vec<DisassemblyTextLine>
fn apply_to_mlil_block( &self, _block: &BasicBlock<NativeBlock>, lines: Vec<DisassemblyTextLine>, ) -> Vec<DisassemblyTextLine>
Apply this Render Layer to a single Basic Block of Medium Level IL lines.
Modify the lines to change the presentation of the block.
sourcefn apply_to_hlil_block(
&self,
_block: &BasicBlock<NativeBlock>,
lines: Vec<DisassemblyTextLine>,
) -> Vec<DisassemblyTextLine>
fn apply_to_hlil_block( &self, _block: &BasicBlock<NativeBlock>, lines: Vec<DisassemblyTextLine>, ) -> Vec<DisassemblyTextLine>
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.
sourcefn apply_to_hlil_body(
&self,
_function: &Function,
lines: Vec<LinearDisassemblyLine>,
) -> Vec<LinearDisassemblyLine>
fn apply_to_hlil_body( &self, _function: &Function, lines: Vec<LinearDisassemblyLine>, ) -> Vec<LinearDisassemblyLine>
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.
sourcefn apply_to_misc_lines(
&self,
_object: &mut LinearViewObject,
_prev_object: Option<&LinearViewObject>,
_next_object: Option<&LinearViewObject>,
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>
Apply to lines generated by Linear View that are not part of a function.
Modify the lines to change the presentation of the block.
sourcefn apply_to_block(
&self,
block: &BasicBlock<NativeBlock>,
lines: Vec<DisassemblyTextLine>,
) -> Vec<DisassemblyTextLine>
fn apply_to_block( &self, block: &BasicBlock<NativeBlock>, lines: Vec<DisassemblyTextLine>, ) -> Vec<DisassemblyTextLine>
Apply this Render Layer to all IL blocks and disassembly blocks.
If not implemented this will handle calling the view specific apply functions:
RenderLayer::apply_to_disassembly_block
RenderLayer::apply_to_llil_block
RenderLayer::apply_to_mlil_block
RenderLayer::apply_to_hlil_block
Modify the lines to change the presentation of the block.