Package ghidra.program.model.pcode

# Class PcodeOpAST

java.lang.Object
ghidra.program.model.pcode.PcodeOp
ghidra.program.model.pcode.PcodeOpAST

public class PcodeOpAST extends PcodeOp
Some extra things attached to PcodeOp for ease of walking the syntax tree

- ## Field Summary

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

  `BOOL_AND, BOOL_NEGATE, BOOL_OR, BOOL_XOR, BRANCH, BRANCHIND, CALL, CALLIND, CALLOTHER, CAST, CBRANCH, COPY, CPOOLREF, EXTRACT, FLOAT_ABS, FLOAT_ADD, FLOAT_CEIL, FLOAT_DIV, FLOAT_EQUAL, FLOAT_FLOAT2FLOAT, FLOAT_FLOOR, FLOAT_INT2FLOAT, FLOAT_LESS, FLOAT_LESSEQUAL, FLOAT_MULT, FLOAT_NAN, FLOAT_NEG, FLOAT_NOTEQUAL, FLOAT_ROUND, FLOAT_SQRT, FLOAT_SUB, FLOAT_TRUNC, INDIRECT, INSERT, INT_2COMP, INT_ADD, INT_AND, INT_CARRY, INT_DIV, INT_EQUAL, INT_LEFT, INT_LESS, INT_LESSEQUAL, INT_MULT, INT_NEGATE, INT_NOTEQUAL, INT_OR, INT_REM, INT_RIGHT, INT_SBORROW, INT_SCARRY, INT_SDIV, INT_SEXT, INT_SLESS, INT_SLESSEQUAL, INT_SREM, INT_SRIGHT, INT_SUB, INT_XOR, INT_ZEXT, LOAD, LZCOUNT, MULTIEQUAL, NEW, PCODE_MAX, PIECE, POPCOUNT, PTRADD, PTRSUB, RETURN, SEGMENTOP, STORE, SUBPIECE, UNIMPLEMENTED`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PcodeOpAST(Address a, int uq, int op, int numinputs)`
  `PcodeOpAST(SequenceNumber sq, int op, int numinputs)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Iterator<PcodeOp>`
  `getBasicIter()`
  `Iterator<Object>`
  `getInsertIter()`
  `PcodeBlockBasic`
  `getParent()`
  `boolean`
  `isDead()`
  Check if the pcode has been determined to be a dead operation.
  `void`
  `setBasicIter(Iterator<PcodeOp> iter)`
  Set the iterator being used to iterate the pcode within a basic block.
  `void`
  `setInsertIter(Iterator<Object> iter)`
  Set the iterator being used to iterate the pcode to insert within a block.
  `void`
  `setParent(PcodeBlockBasic par)`
  Set the parent basic block this pcode is contained within.

  ### Methods inherited from class ghidra.program.model.pcode.PcodeOp

  `decode, encodeRaw, getInput, getInputs, getMnemonic, getMnemonic, getNumInputs, getOpcode, getOpcode, getOutput, getSeqnum, getSlot, hashCode, insertInput, isAssignment, isCommutative, isCommutative, removeInput, setInput, setOpcode, setOrder, setOutput, setTime, toString`

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

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

- ## Constructor Details

  - ### PcodeOpAST

    public PcodeOpAST(SequenceNumber sq, int op, int numinputs)

  - ### PcodeOpAST

    public PcodeOpAST(Address a, int uq, int op, int numinputs)

- ## Method Details

  - ### isDead

    public boolean isDead()
    Description copied from class: `PcodeOp`
    Check if the pcode has been determined to be a dead operation.
    Overrides:
      `isDead` in class `PcodeOp`
    Returns:
      true if the pcode has been determined to have no effect in the context it is used

  - ### getParent

    public PcodeBlockBasic getParent()
    Overrides:
      `getParent` in class `PcodeOp`
    Returns:
      the pcode basic block this pcode belongs to

  - ### getBasicIter

    public Iterator<PcodeOp> getBasicIter()
    Overrides:
      `getBasicIter` in class `PcodeOp`

  - ### getInsertIter

    public Iterator<Object> getInsertIter()
    Overrides:
      `getInsertIter` in class `PcodeOp`

  - ### setParent

    public void setParent(PcodeBlockBasic par)
    Set the parent basic block this pcode is contained within.
    Parameters:
      `par` - parent basic block.

  - ### setBasicIter

    public void setBasicIter(Iterator<PcodeOp> iter)
    Set the iterator being used to iterate the pcode within a basic block.
    Parameters:
      `iter` -

  - ### setInsertIter

    public void setInsertIter(Iterator<Object> iter)
    Set the iterator being used to iterate the pcode to insert within a block.
    Parameters:
      `iter` -