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
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddGotoTarget(PcodeBlock target) protected 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 infoMethods inherited from class ghidra.program.model.pcode.BlockGraph
addBlock, addEdge, decode, getBlock, getSize, setIndices, transferObjectRefMethods 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:PcodeBlockEncode information about the block to stream, other than header and edge info- Overrides:
encodeBodyin classBlockGraph- 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 classBlockGraph- Parameters:
decoder- is the stream decoderresolver- is for looking up edge references- Throws:
DecoderException- for invalid encoding
-