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.SimpleBlockIteratoris an implementation ofCodeBlockIteratorcapable 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 theCodeBlockReferences for a CodeBlock.SingleEntSubIteratoris an implementation ofCodeBlockIteratorcapable of iterating in the forward direction over subroutine code blocks.Subroutine block model.SubroutineDestReferenceIterator is a unidirectional iterator over the destinationCodeBlockReferences for a CodeBlock.SubroutineSourceReferenceIterator is a unidirectional iterator over the sourceCodeBlockReferences for a CodeBlock.