decompiler  1.0.0
Public Member Functions | Private Attributes | List of all members
ghidra::JumpAssistOp Class Reference

A user defined p-code op for assisting the recovery of jump tables. More...

#include <userop.hh>

Inheritance diagram for ghidra::JumpAssistOp:
ghidra::UserPcodeOp

Public Member Functions

 JumpAssistOp (Architecture *g)
 Constructor. More...
 
int4 getIndex2Case (void) const
 Get the injection id for index2case.
 
int4 getIndex2Addr (void) const
 Get the injection id for index2addr.
 
int4 getDefaultAddr (void) const
 Get the injection id for defaultaddr.
 
int4 getCalcSize (void) const
 Get the injection id for calcsize.
 
virtual void decode (Decoder &decoder)
 Restore the detailed description from a stream element. More...
 
- Public Member Functions inherited from ghidra::UserPcodeOp
 UserPcodeOp (Architecture *g, const string &nm, int4 ind)
 Construct from name and index.
 
const string & getName (void) const
 Get the low-level name of the p-code op.
 
int4 getIndex (void) const
 Get the constant id of the op.
 
uint4 getDisplay (void) const
 Get display type (0=functional)
 
virtual ~UserPcodeOp (void)
 Destructor.
 
virtual string getOperatorName (const PcodeOp *op) const
 Get the symbol representing this operation in decompiled code. More...
 
virtual int4 extractAnnotationSize (const Varnode *vn, const PcodeOp *op)
 Assign a size to an annotation input to this userop. More...
 

Private Attributes

int4 index2case
 Id of p-code script performing index2case (== -1 if no script and index==case)
 
int4 index2addr
 Id of p-code script performing index2addr (must be present)
 
int4 defaultaddr
 Id of p-code script performing calculation of default address (must be present)
 
int4 calcsize
 Id of p-code script that calculates number of indices (== -1 if no script)
 

Additional Inherited Members

- Public Types inherited from ghidra::UserPcodeOp
enum  userop_flags { annotation_assignment = 1, no_operator = 2 }
 Enumeration of different boolean properties that can be assigned to a CALLOTHER. More...
 
- Protected Attributes inherited from ghidra::UserPcodeOp
string name
 Low-level name of p-code operator.
 
int4 useropindex
 Index passed in the CALLOTHER op.
 
Architectureglb
 Architecture owning the user defined op.
 
uint4 flags
 Boolean attributes of the CALLOTHER.
 

Detailed Description

A user defined p-code op for assisting the recovery of jump tables.

An instance of this class refers to p-code script(s) that describe how to parse the jump table from the load image. Possible scripts include:

This class stores injection ids. The scripts themselves are managed by PcodeInjectLibrary.

Constructor & Destructor Documentation

◆ JumpAssistOp()

ghidra::JumpAssistOp::JumpAssistOp ( Architecture g)

Constructor.

Parameters
gis the Architecture owning this set of jump assist scripts

References calcsize, defaultaddr, index2addr, and index2case.

Referenced by ghidra::UserOpManage::decodeJumpAssist().

Member Function Documentation

◆ decode()

void ghidra::JumpAssistOp::decode ( Decoder decoder)
virtual

The documentation for this class was generated from the following files: