Go to the source code of this file.
| #define MTOKEN_BINARY_LEFT | ( | PT | ) | ((PT)->binary.left) |
Sets the left node on binary token, PT pointer to a binary uMToken.
| #define MTOKEN_BINARY_RIGHT | ( | PT | ) | ((PT)->binary.right) |
Sets the right node on binary token, PT pointer to a binary uMToken.
| #define MTOKEN_CHAIN | ( | PT | ) | ((PT)->base.chain) |
Sets the pointer to the next token in the chain.
| #define MTOKEN_DIM_NEGATE | ( | PT | ) | ((PT)->dim.beNegate) |
Retrieve or set negative bit on value token, PT pointer to an generic uMToken
| #define MTOKEN_DIM_NTTP | ( | PT | ) | ((PT)->dim.non_tt_param) |
Retrieve or set the template of a token, PT pointer to a name uMToken
| #define MTOKEN_DIM_VALUE | ( | PT | ) | ((PT)->dim.value) |
Retrieve or set the value of a token, PT pointer to a value uMToken
| #define MTOKEN_FLAGS | ( | PT | ) | ((PT)->base.flags) |
Sets flags in base descriptor.
| #define MTOKEN_FLAGS_ARRAY 0x8 |
Decoded fragment has an array-like expression.
| #define MTOKEN_FLAGS_NOTE 0x2 |
Contains "note" name token.
| #define MTOKEN_FLAGS_PTRREF 0x4 |
Decoded fragment is a referrence.
| #define MTOKEN_FLAGS_UDC 0x1 |
Indicates a following "name" token for named struct/union/class.
| #define MTOKEN_KIND | ( | PT | ) | ((PT)->base.kind) |
Sets the token kind, PT pointer to a base uMToken.
| #define MTOKEN_NAME | ( | PT | ) | ((PT)->name.name) |
Retrieve or set the name string, PT pointer to a name uMToken
| #define MTOKEN_SUBKIND | ( | PT | ) | ((PT)->base.subkind) |
Sets the token subkind, PT pointer to a base uMToken.
| #define MTOKEN_UNARY | ( | PT | ) | ((PT)->unary.unary) |
Sets the leaf element on a unary token, PT pointer to a unary uMToken.
| #define MTOKEN_VALUE | ( | PT | ) | ((PT)->value.value) |
Sets the token value. PT pointer to a value uMToken.
| #define MTOKEN_VALUE_SIGNED | ( | PT | ) | ((PT)->value.is_signed) |
Sets the signed bit on value token. PT pointer to a value uMToken.
| #define MTOKEN_VALUE_SIZE | ( | PT | ) | ((PT)->value.size) |
Sets the byte width of value in value token. PT pointer to a value uMToken.
| enum eMSToken |
Token "Subkind" enumeration list. Also used by internal function sprint_decl1() for printing.
| eMST_unmangled |
Name is unmagled. |
| eMST_nttp |
Template name. |
| eMST_name |
Decoded function name. |
| eMST_colon |
Class member accessibility. |
| eMST_rtti |
Runtime Type information name. |
| eMST_cv |
Function call convention / data qualifiers / pointer. |
| eMST_vftable |
Virtual Function Table. |
| eMST_vbtable |
Virtual Base Table. |
| eMST_vcall |
Virtual Function Call. |
| eMST_opname |
Overloaded operator. |
| eMST_templargname |
Explicit template arg name. |
| eMST_type |
Function return type. |
| eMST_dim |
Print array-like expression.
|
| eMST_val |
Print value expression.
|
| eMST_gcarray | |
| eMST_slashed |
MSVC extenstion: "__gc" Managed C++ reference. MTOKEN_UNARY appended and prepended with "/". |
| eMST_array |
MTOKEN_UNARY enclosed by square brackets. |
| eMST_element |
MTOKEN_UNARY in an argument list. |
| eMST_template_argument_list |
MTOKEN_UNARY in an argument list. |
| eMST_ltgt |
MTOKEN_UNARY enclosed by angular brackets. |
| eMST_frame |
MTOKEN_UNARY enclosed by curly brackets. |
| eMST_throw |
MTOKEN_UNARY prepended by "throw ". |
| eMST_rframe |
MTOKEN_UNARY enclosed by parentheses. |
| eMST_destructor |
MTOKEN_UNARY prepended with "~". |
| eMST_oper |
indicates that token an operand, prints from MTOKEN_UNARY. |
| eMST_colonarray | |
| eMST_lexical_frame |
Unused, to be removed. MTOKEN_UNARY enclosed by single quotes "'". |
| eMST_scope |
MTOKEN_UNARY, unenclosed. |
| eMST_udt_returning |
User defined types (RTTI). |
| eMST_coloncolon |
"::" between MTOKEN_BINARY_LEFT and MTOKEN_BINARY_RIGHT. |
| eMST_assign |
"=" between MTOKEN_BINARY_LEFT and MTOKEN_BINARY_RIGHT and appended with "}". |
| eMST_templateparam |
Explicit template. |
| eMST_nonetypetemplateparam |
Non-explicit template. |
| eMST_exp |
dim 'e' (exponent) dim |
| eMST_combine |
Unary grouping. |
| eMST_ecsu |
Is an Enum/Class/Struct/Union |
| eMST_based |
MSVC extension: "__based" Based addressing |
| enum eMToken |
Token "Kind" enumeration list.
Chains uMTokens together.
| [in] | l | uMtoken chain to link up with. |
| [in] | add | uMtoken to add to chain. |
| void dump_tok | ( | FILE * | fp, | |
| uMToken * | p | |||
| ) |
Generates a binary node token.
| [in] | gc | Pointer to garbage collection context. |
| [in] | skind | Token subKind. |
| [in] | l | Left node element. |
| [in] | r | Right node element. |
| uMToken* gen_dim | ( | sGcCtx * | gc, | |
| enum eMSToken | skind, | |||
| uint64_t | val, | |||
| const char * | non_tt_param, | |||
| int | fSigned, | |||
| int | fNegate | |||
| ) |
Constructs a "dim" kind token.
| [in] | gc | Pointer to garbage collection context. |
| [in] | skind | Token subkind. |
| [in] | val | Token numerical value. |
| [in] | non_tt_param | pointer to decoded C++ template name. |
| [in] | fSigned | Signedness of the numerical value. |
| [in] | fNegate | 1 for "val" is negative digit. |
Constructs a "name" kind token.
| [in] | gc | Pointer to garbage collection context. |
| [in] | skind | Token subkind. |
| [in] | name | Pointer to name string. |
gen_tok constructs uMToken instances Instances are destroyed with release_gc().
| [in] | gc | Pointer to garbage collection context. |
| [in] | kind | Kind of token to construct |
| [in] | subkind | Subkind of token to construct |
| [in] | addend | Additional byte padding at the end. |
Constructs a "unary" kind token.
| [in] | gc | Pointer to garbage collection context. |
| [in] | skind | Token subkind. |
| [in] | un | Pointer to leaf element. |
Constructs a "value" kind token.
| [in] | gc | Pointer to garbage collection context. |
| [in] | skind | Token subkind. |
| [in] | val | Sets the value on token, |
| [in] | is_signed | Signed bit of val. |
| [in] | size | Width of val. |
| sGcCtx* generate_gc | ( | void | ) |
| void print_decl | ( | FILE * | fp, | |
| uMToken * | p | |||
| ) |
Prints C++ name to file descriptor.
| [in] | fp | Output file descriptor. |
| [in] | p | Token containing information about the C++ name. |
| void release_gc | ( | sGcCtx * | gc | ) |
Releases memory tracked by context.
| [in] | gc | Garbage collection context to work on. |
| char* sprint_decl | ( | uMToken * | r | ) |
Get pointer to decoded C++ name string. Use free() to release returned string.
| [in] | r | C++ name token. |
1.6.1