Package ghidra.app.plugin.processors.generic

# Class UnimplementedConstructor

java.lang.Object
ghidra.app.plugin.processors.generic.ConstructorPcodeTemplate
ghidra.app.plugin.processors.generic.UnimplementedConstructor

All Implemented Interfaces:
  `Serializable`

public class UnimplementedConstructor extends ConstructorPcodeTemplate
Template for a constructor which is officially "unimplemented" as opposed to a constructor which does nothing (like a NOP). Any instruction which is "unimplemented" in this way will have its disassembly printed correctly but will be treated as an instruction which does nothing (and falls through) for any analysis that needs control-flow information or semantics. Actually anything that tries to get semantic information (via the getPcode call) will cause an exception to be thrown, as opposed to a NOP instruction which would return an empty pcode op array. The caller can then catch the exception and treat the instruction as special, or it can ignore the exception in which case the instruction behaves exactly like a NOP.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `UnimplementedConstructor()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addPcodeOpTemplate(Object opT)`
  `Handle`
  `getPcode(ArrayList<PcodeOp> pcode, Position position, int off, ArrayList<PcodeOp> delayPcode)`
  Method getPcode.

  ### Methods inherited from class ghidra.app.plugin.processors.generic.ConstructorPcodeTemplate

  `delaySlotDepth, getFlowFlags, optimize, result, trimToSize`

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

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

- ## Constructor Details

  - ### UnimplementedConstructor

    public UnimplementedConstructor()

- ## Method Details

  - ### addPcodeOpTemplate

    public void addPcodeOpTemplate(Object opT) throws SledException
    Overrides:
      `addPcodeOpTemplate` in class `ConstructorPcodeTemplate`
    Throws:
      `SledException`

  - ### getPcode

    public Handle getPcode(ArrayList<PcodeOp> pcode, Position position, int off, ArrayList<PcodeOp> delayPcode) throws NotYetImplementedException
    Description copied from class: `ConstructorPcodeTemplate`
    Method getPcode. Recursive pcode generation method.
    Overrides:
      `getPcode` in class `ConstructorPcodeTemplate`
    Parameters:
      `pcode` - - current list of pcode instructions to which we will append new instructions
      `delayPcode` - - pcode for instruction(s) in delay slot
    Returns:
      HandleTemplate - handle for the result of this constructors pcode
    Throws:
      `NotYetImplementedException`