Ghidra 11.3.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
 
PatternExpressiongetDefiningExpression (void) const
 
TripleSymbolgetDefiningSymbol (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 VarnodeTplgetVarnode (void) const
 
virtual PatternExpressiongetPatternExpression (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 Constructorresolve (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
 
OperandValuelocalexp
 
TripleSymboltriple
 
PatternExpressiondefexp
 
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: