Class UnimplementedConstructor
java.lang.Object
ghidra.app.plugin.processors.generic.ConstructorPcodeTemplate
ghidra.app.plugin.processors.generic.UnimplementedConstructor
- All Implemented Interfaces:
Serializable
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:
-
Constructor Summary
-
Method Summary
Methods inherited from class ghidra.app.plugin.processors.generic.ConstructorPcodeTemplate
delaySlotDepth, getFlowFlags, optimize, result, trimToSize
-
Constructor Details
-
UnimplementedConstructor
public UnimplementedConstructor()
-
-
Method Details
-
addPcodeOpTemplate
- Overrides:
addPcodeOpTemplate
in classConstructorPcodeTemplate
- 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 classConstructorPcodeTemplate
- Parameters:
pcode
- - current list of pcode instructions to which we will append new instructionsposition
-off
-delayPcode
- - pcode for instruction(s) in delay slot- Returns:
- HandleTemplate - handle for the result of this constructors pcode
- Throws:
NotYetImplementedException
-