Package ghidra.program.model.pcode
Class PcodeBlockBasic
java.lang.Object
ghidra.program.model.pcode.PcodeBlock
ghidra.program.model.pcode.PcodeBlockBasic
A basic block constructed from PcodeOps
-
Nested Class Summary
Nested classes/interfaces inherited from class ghidra.program.model.pcode.PcodeBlock
PcodeBlock.BlockEdge -
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionbooleanIs the given address in the range of instructions represented by this basic blockprotected voiddecodeBody(Decoder decoder, BlockMap resolver) Restore the any additional information beyond header and edges from streamprotected voidencodeBody(Encoder encoder) Encode information about the block to stream, other than header and edge infogetStart()getStop()protected voidinsertAfter(Iterator<PcodeOp> iter, PcodeOp op) Insert a new PcodeOp after a specific point in the list of PcodeOpsprotected voidinsertBefore(Iterator<PcodeOp> iter, PcodeOp op) Insert a new PcodeOp before a specific point in the list of PcodeOpsprotected voidInsert a PcodeOp at the end of the blockprotected voidRemove a PcodeOp from the blockMethods inherited from class ghidra.program.model.pcode.PcodeBlock
addInEdge, calcDepth, decode, decodeEdges, decodeHeader, decodeNextInEdge, decodeNextInEdge, encode, encodeEdges, encodeHeader, getFalseOut, getFrontLeaf, getIn, getIndex, getInRevIndex, getInSize, getOut, getOutRevIndex, getOutSize, getParent, getTrueOut, getType, nameToType, setIndex, toString, typeToName
-
Method Details
-
getStart
- Overrides:
getStartin classPcodeBlock- Returns:
- the first Address covered by this block
-
getStop
- Overrides:
getStopin classPcodeBlock- Returns:
- the last Address covered by this block
-
contains
Is the given address in the range of instructions represented by this basic block- Parameters:
addr- is the Address- Returns:
- true if the Address is contained
-
insertBefore
Insert a new PcodeOp before a specific point in the list of PcodeOps- Parameters:
iter- points to the PcodeOp to insert beforeop- is the new PcodeOp to insert
-
insertAfter
Insert a new PcodeOp after a specific point in the list of PcodeOps- Parameters:
iter- points to the PcodeOp to insert afterop- is the new PcodeOp to insert
-
insertEnd
Insert a PcodeOp at the end of the block- Parameters:
op- is the PcodeOp to insert
-
remove
Remove a PcodeOp from the block- Parameters:
op- is the PcodeOp to remove
-
getIterator
- Returns:
- an iterator over the PcodeOps in this basic block
-
encodeBody
Description copied from class:PcodeBlockEncode information about the block to stream, other than header and edge info- Overrides:
encodeBodyin classPcodeBlock- Parameters:
encoder- is the stream encoder- Throws:
IOException- for errors writing to the underlying stream
-
decodeBody
Description copied from class:PcodeBlockRestore the any additional information beyond header and edges from stream- Overrides:
decodeBodyin classPcodeBlock- Parameters:
decoder- is the stream decoderresolver- is for looking up edge references- Throws:
DecoderException- for invalid encoding
-
getFirstOp
- Returns:
- the first PcodeOp in this block (or null if the block is empty)
-
getLastOp
- Returns:
- the last PcodeOp in this block (or null if the block is empty)
-