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 TypeMethodDescriptionboolean
Is the given address in the range of instructions represented by this basic blockprotected void
decodeBody
(Decoder decoder, BlockMap resolver) Restore the any additional information beyond header and edges from streamprotected void
encodeBody
(Encoder encoder) Encode information about the block to stream, other than header and edge infogetStart()
getStop()
protected void
insertAfter
(Iterator<PcodeOp> iter, PcodeOp op) Insert a new PcodeOp after a specific point in the list of PcodeOpsprotected void
insertBefore
(Iterator<PcodeOp> iter, PcodeOp op) Insert a new PcodeOp before a specific point in the list of PcodeOpsprotected void
Insert a PcodeOp at the end of the blockprotected void
Remove 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:
getStart
in classPcodeBlock
- Returns:
- the first Address covered by this block
-
getStop
- Overrides:
getStop
in 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:PcodeBlock
Encode information about the block to stream, other than header and edge info- Overrides:
encodeBody
in classPcodeBlock
- Parameters:
encoder
- is the stream encoder- Throws:
IOException
- for errors writing to the underlying stream
-
decodeBody
Description copied from class:PcodeBlock
Restore the any additional information beyond header and edges from stream- Overrides:
decodeBody
in 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)
-