Package ghidra.program.model.block
Class IsolatedEntrySubModel
java.lang.Object
ghidra.program.model.block.OverlapCodeSubModel
ghidra.program.model.block.IsolatedEntrySubModel
- All Implemented Interfaces:
CodeBlockModel,SubroutineBlockModel
IsolatedEntryCodeSubModel (S-model) defines subroutines with a
unique entry point, which may share code with other subroutines. Each entry-
point may either be a source or called entry-point and is identified using
the MultEntSubModel. This model extends the OverlapCodeSubModel, redefining
the set of addresses contained within each subroutine. Unlike the
OverlapCodeSubModel, the address set of a IsolatedEntryCodeSubModel
subroutine is permitted to span entry-points of other subroutines based upon
the possible flows from its entry- point.- See Also:
-
Field Summary
FieldsFields inherited from class ghidra.program.model.block.OverlapCodeSubModel
foundOSubs, listing, modelM, OVERLAP_MODEL_NAME, programFields inherited from interface ghidra.program.model.block.CodeBlockModel
emptyBlockArray -
Constructor Summary
ConstructorsConstructorDescriptionIsolatedEntrySubModel(Program program) Construct aIsolatedEntrySubModelsubroutine on a program.IsolatedEntrySubModel(Program program, boolean includeExternals) Construct aIsolatedEntrySubModelsubroutine on a program. -
Method Summary
Modifier and TypeMethodDescriptiongetName()Returns the model name.protected CodeBlockgetSubroutine(Address mStartAddr, TaskMonitor monitor) Get the subroutine code block which starts at the specified address which is an entry point of a Model-M subroutine.Methods inherited from class ghidra.program.model.block.OverlapCodeSubModel
allowsBlockOverlap, createSub, externalsIncluded, getBaseSubroutineModel, getBasicBlockModel, getCodeBlockAt, getCodeBlocks, getCodeBlocksContaining, getCodeBlocksContaining, getDestinations, getFirstCodeBlockContaining, getFlowType, getListing, getModelM, getName, getNumDestinations, getNumSources, getProgram, getSources
-
Field Details
-
ISOLATED_MODEL_NAME
- See Also:
-
-
Constructor Details
-
IsolatedEntrySubModel
Construct aIsolatedEntrySubModelsubroutine on a program.- Parameters:
program- program to create blocks from.
-
IsolatedEntrySubModel
Construct aIsolatedEntrySubModelsubroutine on a program.- Parameters:
program- program to create blocks from.includeExternals- externals are included if true
-
-
Method Details
-
getSubroutine
protected CodeBlock getSubroutine(Address mStartAddr, TaskMonitor monitor) throws CancelledException Get the subroutine code block which starts at the specified address which is an entry point of a Model-M subroutine. Classes which extend this class should implement this method.- Overrides:
getSubroutinein classOverlapCodeSubModel- Parameters:
mStartAddr- = a Model-M subroutine entry point.monitor- task monitor which allows user to cancel operation.- Returns:
- a subroutine code block
- Throws:
CancelledException- if the monitor cancels the operation.
-
getName
Description copied from interface:CodeBlockModelReturns the model name.- Specified by:
getNamein interfaceCodeBlockModel- Overrides:
getNamein classOverlapCodeSubModel- Returns:
- the model name
- See Also:
-