decompiler
1.0.0
|
A p-code emitter for building PcodeOp objects. More...
#include <funcdata.hh>
Public Member Functions | |
void | setFuncdata (Funcdata *f) |
Establish the container for this emitter. | |
Public Member Functions inherited from ghidra::PcodeEmit | |
virtual | ~PcodeEmit (void) |
Virtual destructor. | |
void | decodeOp (const Address &addr, Decoder &decoder) |
Emit pcode directly from an <op> element. More... | |
Private Member Functions | |
virtual void | dump (const Address &addr, OpCode opc, VarnodeData *outvar, VarnodeData *vars, int4 isize) |
The main pcode emit method. More... | |
Private Attributes | |
Funcdata * | fd |
The Funcdata container to emit to. | |
A p-code emitter for building PcodeOp objects.
The emitter is attached to a specific Funcdata object. Any p-code generated (by FlowInfo typically) will be instantiated as PcodeOp and Varnode objects and placed in the Funcdata dead list.
|
privatevirtual |
The main pcode emit method.
A single pcode instruction is returned to the application via this method. Particular applications override it to tailor how the operations are used.
addr | is the Address of the machine instruction |
opc | is the opcode of the particular pcode instruction |
outvar | if not null is a pointer to data about the output varnode |
vars | is a pointer to an array of VarnodeData for each input varnode |
isize | is the number of input varnodes |
Implements ghidra::PcodeEmit.
References ghidra::PcodeOp::isCodeRef(), ghidra::VarnodeData::offset, ghidra::VarnodeData::size, ghidra::Funcdata::size, and ghidra::VarnodeData::space.