Package ghidra.program.model.pcode

# Class BlockIfGoto

java.lang.Object
ghidra.program.model.pcode.PcodeBlock
ghidra.program.model.pcode.BlockGraph
ghidra.program.model.pcode.BlockIfGoto

public class BlockIfGoto extends BlockGraph
Block representing an if () goto control flow possible multiple incoming edges 1 output edge if the condition is false 1 (implied) output edge representing the unstructured control flow if the condition is true 1 block evaluating the condition

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class ghidra.program.model.pcode.PcodeBlock

  `PcodeBlock.BlockEdge`

- ## Field Summary

  ### Fields inherited from class ghidra.program.model.pcode.PcodeBlock

  `BASIC, CONDITION, COPY, DOWHILE, GOTO, GRAPH, IFELSE, IFGOTO, INFLOOP, LIST, MULTIGOTO, PLAIN, PROPERIF, SWITCH, WHILEDO`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BlockIfGoto()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `decodeBody(Decoder decoder, BlockMap resolver)`
  Restore the any additional information beyond header and edges from stream
  `protected void`
  `encodeBody(Encoder encoder)`
  Encode information about the block to stream, other than header and edge info
  `PcodeBlock`
  `getGotoTarget()`
  `int`
  `getGotoType()`
  `void`
  `setGotoTarget(PcodeBlock bl)`

  ### Methods 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`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### BlockIfGoto

    public BlockIfGoto()

- ## Method Details

  - ### setGotoTarget

    public void setGotoTarget(PcodeBlock bl)

  - ### getGotoTarget

    public PcodeBlock getGotoTarget()

  - ### getGotoType

    public int getGotoType()

  - ### encodeBody

    protected void encodeBody(Encoder encoder) throws IOException
    Description copied from class: `PcodeBlock`
    Encode information about the block to stream, other than header and edge info
    Overrides:
      `encodeBody` in class `BlockGraph`
    Parameters:
      `encoder` - is the stream encoder
    Throws:
      `IOException` - for errors writing to the underlying stream

  - ### decodeBody

    protected void decodeBody(Decoder decoder, BlockMap resolver) throws DecoderException
    Description copied from class: `PcodeBlock`
    Restore the any additional information beyond header and edges from stream
    Overrides:
      `decodeBody` in class `BlockGraph`
    Parameters:
      `decoder` - is the stream decoder
      `resolver` - is for looking up edge references
    Throws:
      `DecoderException` - for invalid encoding