Ghidra 11.4.2
Ghidra internal decompiler documentation.
Loading...
Searching...
No Matches
ghidra::OperandSymbol Class Reference
Inheritance diagram for ghidra::OperandSymbol:
[legend]
Collaboration diagram for ghidra::OperandSymbol:
[legend]

Public Types

enum  { code_address =1 , offset_irrel =2 , variable_len =4 , marked =8 }
 
- Public Types inherited from ghidra::SleighSymbol
enum  symbol_type {
  space_symbol , token_symbol , userop_symbol , value_symbol ,
  valuemap_symbol , name_symbol , varnode_symbol , varnodelist_symbol ,
  operand_symbol , start_symbol , end_symbol , next2_symbol ,
  subtable_symbol , macro_symbol , section_symbol , bitrange_symbol ,
  context_symbol , epsilon_symbol , label_symbol , flowdest_symbol ,
  flowref_symbol , dummy_symbol
}
 

Public Member Functions

 OperandSymbol (const string &nm, int4 index, Constructor *ct)
 
uint4 getRelativeOffset (void) const
 
int4 getOffsetBase (void) const
 
int4 getMinimumLength (void) const
 
PatternExpression * getDefiningExpression (void) const
 
TripleSymbol * getDefiningSymbol (void) const
 
int4 getIndex (void) const
 
void defineOperand (PatternExpression *pe)
 
void defineOperand (TripleSymbol *tri)
 
void setCodeAddress (void)
 
bool isCodeAddress (void) const
 
void setOffsetIrrelevant (void)
 
bool isOffsetIrrelevant (void) const
 
void setMark (void)
 
void clearMark (void)
 
bool isMarked (void) const
 
virtual VarnodeTpl * getVarnode (void) const
 
virtual PatternExpression * getPatternExpression (void) const
 
virtual void getFixedHandle (FixedHandle &hnd, ParserWalker &walker) const
 
virtual int4 getSize (void) const
 
virtual void print (ostream &s, ParserWalker &walker) const
 
virtual void collectLocalValues (vector< uintb > &results) const
 
virtual symbol_type getType (void) const
 
virtual void encode (Encoder &encoder) const
 
virtual void encodeHeader (Encoder &encoder) const
 
virtual void decode (Decoder &decoder, SleighBase *trans)
 
- Public Member Functions inherited from ghidra::SpecificSymbol
 SpecificSymbol (const string &nm)
 
- Public Member Functions inherited from ghidra::TripleSymbol
 TripleSymbol (const string &nm)
 
virtual Constructor * resolve (ParserWalker &walker)
 
- Public Member Functions inherited from ghidra::SleighSymbol
 SleighSymbol (const string &nm)
 
const string & getName (void) const
 
uintm getId (void) const
 
void decodeHeader (Decoder &decoder)
 

Private Member Functions

void setVariableLength (void)
 
bool isVariableLength (void) const
 

Private Attributes

uint4 reloffset
 
int4 offsetbase
 
int4 minimumlength
 
int4 hand
 
OperandValue * localexp
 
TripleSymbol * triple
 
PatternExpression * defexp
 
uint4 flags
 

Friends

class Constructor
 
class OperandEquation
 

Member Function Documentation

◆ collectLocalValues()

void ghidra::OperandSymbol::collectLocalValues ( vector< uintb > &  results) const
virtual

Reimplemented from ghidra::TripleSymbol.

◆ decode()

void ghidra::OperandSymbol::decode ( Decoder &  decoder,
SleighBase *  trans 
)
virtual

Reimplemented from ghidra::SleighSymbol.

◆ encode()

void ghidra::OperandSymbol::encode ( Encoder &  encoder) const
virtual

Reimplemented from ghidra::SleighSymbol.

◆ encodeHeader()

void ghidra::OperandSymbol::encodeHeader ( Encoder &  encoder) const
virtual

Reimplemented from ghidra::SleighSymbol.

◆ getFixedHandle()

void ghidra::OperandSymbol::getFixedHandle ( FixedHandle &  hnd,
ParserWalker &  walker 
) const
virtual

Implements ghidra::TripleSymbol.

◆ getPatternExpression()

virtual PatternExpression * ghidra::OperandSymbol::getPatternExpression ( void  ) const
inlinevirtual

Implements ghidra::TripleSymbol.

◆ getSize()

int4 ghidra::OperandSymbol::getSize ( void  ) const
virtual

Reimplemented from ghidra::TripleSymbol.

◆ getType()

virtual symbol_type ghidra::OperandSymbol::getType ( void  ) const
inlinevirtual

Reimplemented from ghidra::SleighSymbol.

◆ getVarnode()

VarnodeTpl * ghidra::OperandSymbol::getVarnode ( void  ) const
virtual

◆ print()

void ghidra::OperandSymbol::print ( ostream &  s,
ParserWalker &  walker 
) const
virtual

Implements ghidra::TripleSymbol.


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