Package ghidra.program.model.block
Class SimpleSourceReferenceIterator
- java.lang.Object
-
- ghidra.program.model.block.SimpleSourceReferenceIterator
-
- All Implemented Interfaces:
CodeBlockReferenceIterator
public class SimpleSourceReferenceIterator extends java.lang.Object implements CodeBlockReferenceIterator
SimpleSourceReferenceIterator is a unidirectional iterator over theCodeBlockReferences for a CodeBlock. It is not failfast, wheneverhasNext()are called it will find if there is a nextCodeBlockReferenceand acquire a handle if there is one. If new code units are added to the listing after the iterator is created it will find them as it scans ahead.
-
-
Constructor Summary
Constructors Constructor Description SimpleSourceReferenceIterator(CodeBlock block, boolean followIndirectFlows, TaskMonitor monitor)Construct an Iterator over Source blocks for a CodeBlock.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static intgetNumSources(CodeBlock block, boolean followIndirectFlows, TaskMonitor monitor)Deprecated.this method should be avoided since it repeats the work of the iteratorbooleanhasNext()Return true if next() will return a CodeBlockReference.CodeBlockReferencenext()Return the next CodeBlockReference.
-
-
-
Constructor Detail
-
SimpleSourceReferenceIterator
public SimpleSourceReferenceIterator(CodeBlock block, boolean followIndirectFlows, TaskMonitor monitor) throws CancelledException
Construct an Iterator over Source blocks for a CodeBlock.- Parameters:
block- block to get destination blocks for. This should be a block obtained from SimpleBlockModel.followIndirectFlows- indirect references will only be included if truemonitor- task monitor which allows user to cancel operation.- Throws:
CancelledException- if the monitor cancels the operation.
-
-
Method Detail
-
next
public CodeBlockReference next() throws CancelledException
Description copied from interface:CodeBlockReferenceIteratorReturn the next CodeBlockReference.- Specified by:
nextin interfaceCodeBlockReferenceIterator- Throws:
CancelledException- thrown if the operation is cancelled.- See Also:
CodeBlockReferenceIterator.next()
-
hasNext
public boolean hasNext() throws CancelledExceptionDescription copied from interface:CodeBlockReferenceIteratorReturn true if next() will return a CodeBlockReference.- Specified by:
hasNextin interfaceCodeBlockReferenceIterator- Throws:
CancelledException- thrown if the operation is cancelled.- See Also:
CodeBlockReferenceIterator.hasNext()
-
getNumSources
@Deprecated public static int getNumSources(CodeBlock block, boolean followIndirectFlows, TaskMonitor monitor) throws CancelledException
Deprecated.this method should be avoided since it repeats the work of the iteratorGet number of source references flowing from this subroutine (block). All Calls to this block, and all external FlowType block references to this block are counted.- Parameters:
block- code block to get the number of source references to.followIndirectFlows- indirect references will only be included if truemonitor- task monitor which allows user to cancel operation.- Throws:
CancelledException- if the monitor cancels the operation.
-
-