Package ghidra.program.model.pcode
Class BlockMultiGoto
java.lang.Object
ghidra.program.model.pcode.PcodeBlock
ghidra.program.model.pcode.BlockGraph
ghidra.program.model.pcode.BlockMultiGoto
A block representing a 2-or-more control flow branchpoint
possible multiple incoming edges
1 or more outgoing edges (as in switch control flow)
2 or more (implied) outgoing edges representing unstructured branch destinations (switch case with goto statement)
1 interior block representing the decision block of the switch
-
Nested Class Summary
Nested classes/interfaces inherited from class ghidra.program.model.pcode.PcodeBlock
PcodeBlock.BlockEdge
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addGotoTarget
(PcodeBlock target) protected 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 infoMethods inherited from class ghidra.program.model.pcode.BlockGraph
addBlock, addEdge, decode, getBlock, getSize, setIndices, transferObjectRef
Methods 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, getStart, getStop, getTrueOut, getType, nameToType, setIndex, toString, typeToName
-
Field Details
-
targets
-
-
Constructor Details
-
BlockMultiGoto
public BlockMultiGoto()
-
-
Method Details
-
addGotoTarget
-
encodeBody
Description copied from class:PcodeBlock
Encode information about the block to stream, other than header and edge info- Overrides:
encodeBody
in classBlockGraph
- 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 classBlockGraph
- Parameters:
decoder
- is the stream decoderresolver
- is for looking up edge references- Throws:
DecoderException
- for invalid encoding
-