|
Ghidra 11.4.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.