Ghidra Decompiler Analysis Engine
|
A single non-operator token emitted by the decompiler. More...
#include <printlanguage.hh>
Public Member Functions | |
Atom (const string &nm, tagtype t, EmitXml::syntax_highlight hl) | |
Construct a token with no associated data-flow annotations. | |
Atom (const string &nm, tagtype t, EmitXml::syntax_highlight hl, const Datatype *c) | |
Construct a token for a data-type name. | |
Atom (const string &nm, tagtype t, EmitXml::syntax_highlight hl, const Datatype *c, int4 off) | |
Construct a token for a field name. | |
Atom (const string &nm, tagtype t, EmitXml::syntax_highlight hl, const PcodeOp *o) | |
Construct a token with an associated PcodeOp. | |
Atom (const string &nm, tagtype t, EmitXml::syntax_highlight hl, const PcodeOp *o, const Varnode *v) | |
Construct a token with an associated PcodeOp and Varnode. | |
Atom (const string &nm, tagtype t, EmitXml::syntax_highlight hl, const PcodeOp *o, const Funcdata *f) | |
Construct a token for a function name. | |
Public Attributes | |
const string & | name |
The actual printed characters of the token. | |
tagtype | type |
The type of Atom. | |
EmitXml::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. | |
} | 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.