Ghidra 11.3.2
Ghidra internal decompiler documentation.
Loading...
Searching...
No Matches
ghidra::ParserContext Class Reference
Collaboration diagram for ghidra::ParserContext:
[legend]

Public Types

enum  { uninitialized = 0 , disassembly = 1 , pcode = 2 }
 

Public Member Functions

 ParserContext (ContextCache *ccache, Translate *trans)
 
uint1 * getBuffer (void)
 
void initialize (int4 maxstate, int4 maxparam, AddrSpace *spc)
 
int4 getParserState (void) const
 
void setParserState (int4 st)
 
void deallocateState (ParserWalkerChange &walker)
 
void allocateOperand (int4 i, ParserWalkerChange &walker)
 
void setAddr (const Address &ad)
 
void setNaddr (const Address &ad)
 
void setCalladdr (const Address &ad)
 
void addCommit (TripleSymbol *sym, int4 num, uintm mask, bool flow, ConstructState *point)
 
void clearCommits (void)
 
void applyCommits (void)
 
const AddressgetAddr (void) const
 
const AddressgetNaddr (void) const
 
const AddressgetN2addr (void) const
 
const AddressgetDestAddr (void) const
 
const AddressgetRefAddr (void) const
 
AddrSpacegetCurSpace (void) const
 
AddrSpacegetConstSpace (void) const
 
uintm getInstructionBytes (int4 byteoff, int4 numbytes, uint4 off) const
 
uintm getContextBytes (int4 byteoff, int4 numbytes) const
 
uintm getInstructionBits (int4 startbit, int4 size, uint4 off) const
 
uintm getContextBits (int4 startbit, int4 size) const
 
void setContextWord (int4 i, uintm val, uintm mask)
 
void loadContext (void)
 
int4 getLength (void) const
 
void setDelaySlot (int4 val)
 
int4 getDelaySlot (void) const
 

Private Attributes

Translatetranslate
 
int4 parsestate
 
AddrSpaceconst_space
 
uint1 buf [16]
 
uintm * context
 
int4 contextsize
 
ContextCachecontcache
 
vector< ContextSetcontextcommit
 
Address addr
 
Address naddr
 
Address n2addr
 
Address calladdr
 
vector< ConstructStatestate
 
ConstructStatebase_state
 
int4 alloc
 
int4 delayslot
 

Friends

class ParserWalker
 
class ParserWalkerChange
 

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