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. | 
| uMToken* gen_binary | ( | libmangle_gc_context_t * | gc, | |
| enum eMSToken | skind, | |||
| uMToken * | l, | |||
| uMToken * | r | |||
| ) | 
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 | ( | libmangle_gc_context_t * | 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. | 
| uMToken* gen_name | ( | libmangle_gc_context_t * | gc, | |
| enum eMSToken | skind, | |||
| const char * | name | |||
| ) | 
Constructs a "name" kind token.
| [in] | gc | Pointer to garbage collection context. | 
| [in] | skind | Token subkind. | 
| [in] | name | Pointer to name string. | 
| uMToken* gen_unary | ( | libmangle_gc_context_t * | gc, | |
| enum eMSToken | skind, | |||
| uMToken * | un | |||
| ) | 
Constructs a "unary" kind token.
| [in] | gc | Pointer to garbage collection context. | 
| [in] | skind | Token subkind. | 
| [in] | un | Pointer to leaf element. | 
| uMToken* gen_value | ( | libmangle_gc_context_t * | gc, | |
| enum eMSToken | skind, | |||
| uint64_t | val, | |||
| int | is_signed, | |||
| int | size | |||
| ) | 
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. | 
| void libmangle_dump_tok | ( | FILE * | fp, | |
| uMToken * | p | |||
| ) | 
| uMToken* libmangle_gen_tok | ( | libmangle_gc_context_t * | gc, | |
| enum eMToken | kind, | |||
| enum eMSToken | subkind, | |||
| size_t | addend | |||
| ) | 
gen_tok constructs uMToken instances Instances are destroyed with libmangle_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. | 
| libmangle_gc_context_t* libmangle_generate_gc | ( | void | ) | 
Constructs a garbage collection context token.
| void libmangle_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 libmangle_release_gc | ( | libmangle_gc_context_t * | gc | ) | 
Releases memory tracked by context.
| [in] | gc | Garbage collection context to work on. | 
| char* libmangle_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
 1.6.1