Package ghidra.program.model.block
package ghidra.program.model.block
-
ClassDescriptionThis BlockModel implements the Basic block model.CodeBlock represents some group of Instructions/Data.CodeBlockImpl is an implementation of a CodeBlock.An iterator interface over CodeBlocks.An implementation of a CodeBlockModel will produce CodeBlocks based on some algorithm.A CodeBlockReference represents the flow from one CodeBlock to another.CodeBlockReferenceImpl implements a CodeBlockReference.An iterator interface over CodeBlockReferences.FollowFlow follows the program's code flow either forward or backward from an initial address set.
IsolatedEntryCodeSubModel
(S-model) defines subroutines with a unique entry point, which may share code with other subroutines.MultEntSubModel
(M-model) defines subroutines which do not share code with any other subroutine and may have one or more entry points.OverlapCodeSubModel
(O-model) defines subroutines with a unique entry point, which may share code with other subroutines.PartitionCodeSubModel
(Model-P) defines subroutines which do not share code with other subroutines and may have one or more entry points.SimpleBlockIterator
is an implementation ofCodeBlockIterator
capable of iterating in the forward direction over "simple blocks".This BlockModel implements the simple block model.This iterator is implemented by getting the flows from the instruction and iterating over those flows (plus the fallthrough).SimpleSourceReferenceIterator is a unidirectional iterator over theCodeBlockReference
s for a CodeBlock.SingleEntSubIterator
is an implementation ofCodeBlockIterator
capable of iterating in the forward direction over subroutine code blocks.Subroutine block model.SubroutineDestReferenceIterator is a unidirectional iterator over the destinationCodeBlockReference
s for a CodeBlock.SubroutineSourceReferenceIterator is a unidirectional iterator over the sourceCodeBlockReference
s for a CodeBlock.