Ghidra 11.3.2
Ghidra internal decompiler documentation.
|
A single non-operator token emitted by the decompiler. More...
#include <printlanguage.hh>
Public Member Functions | |
Atom (const string &nm, tagtype t, EmitMarkup::syntax_highlight hl) | |
Construct a token with no associated data-flow annotations. | |
Atom (const string &nm, tagtype t, EmitMarkup::syntax_highlight hl, const Datatype *c) | |
Construct a token for a data-type name. | |
Atom (const string &nm, tagtype t, EmitMarkup::syntax_highlight hl, const Datatype *c, int4 off, const PcodeOp *o) | |
Construct a token for a field name. | |
Atom (const string &nm, tagtype t, EmitMarkup::syntax_highlight hl, const PcodeOp *o) | |
Construct a token with an associated PcodeOp. | |
Atom (const string &nm, tagtype t, EmitMarkup::syntax_highlight hl, const PcodeOp *o, const Varnode *v) | |
Construct a token with an associated PcodeOp and Varnode. | |
Atom (const string &nm, tagtype t, EmitMarkup::syntax_highlight hl, const PcodeOp *o, const Funcdata *f) | |
Construct a token for a function name. | |
Atom (const string &nm, tagtype t, EmitMarkup::syntax_highlight hl, const PcodeOp *o, const Varnode *v, uintb intValue) | |
Construct a token with an associated PcodeOp, Varnode, and constant value. | |
Public Attributes | ||
const string & | name | |
The actual printed characters of the token. | ||
tagtype | type | |
The type of Atom. | ||
EmitMarkup::syntax_highlight | highlight | |
The type of highlighting to use when emitting the token. | ||
const PcodeOp * | op | |
A p-code operation associated with the token. | ||
union { | ||
const Varnode * vn | ||
A Varnode associated with the token. | ||
const Funcdata * fd | ||
A function associated with the token. | ||
const Datatype * ct | ||
A type associated with the token. | ||
uintb intValue | ||
An integer value associated with the token. | ||
} | ptr_second | |
Other meta-data associated with the token. | ||
int4 | offset | |
The offset (within the parent structure) for a field token. | ||
A single non-operator token emitted by the decompiler.
These play the role of variable tokens on the RPN stack with the operator tokens. The term variable has a broader meaning than just a Varnode. An Atom can also be a data-type name, a function name, or a structure field etc.