Allocate a param_t of type t, and append it to parameter list.
Allocate a param_t.
Free parameter list. Output: paramlst = null
Version of param_free() suitable for list_free().
Search for member, create symbol as needed. Used for symbol tables for VLA's such as: void func(int n, int an);
Create template-argument-list blank from template-parameter-list Input: ptali initial template-argument-list
Compute number of parameters
Pretty-print a param_t
Look for Pident matching id
Look for Pident matching id
Return the size of a type for alignment purposes.
Create a type & initialize it. Input: ty = TYxxxx
Allocate a type of ty with a Tnext of tn.
Allocate an associative array type, which are key=value pairs
Make copy of a type.
Allocate a delegate type.
Allocate a dynamic array type.
Recursively check if type u is embedded in type t.
Create an enum type. Input: name name of enum tbase "base" type of enum
Fake a type & initialize it. Input: ty = TYxxxx
Free up data type.
Allocation a function type.
Determine if type t is a dependent type.
Determine if type is a VLA.
Compute the size of a single parameter.
Compute the total size of parameters for function call. Used for stdcall name mangling. Note that hidden parameters do not contribute to size.
Allocate a pointer type.
Pretty-print a type.
Set/clear const and volatile bits in *pt according to the settings in cv.
Create a 'dependent' version of type t.
Set dimension of array.
Modify the Tmangle field of a type.
Modify the tym_t field of a type.
Set type field of some object to t.
Compute size of type in bytes.
Allocate a static array type.
Create a struct/union/class type.
Free type_list.
Compute special zero sized struct.
A cheap version of exp2.typematch() and exp2.paramlstmatch(), so that we can get cpp_mangle() to work for MARS. It's less complex because it doesn't do templates and can rely on strict typechecking.
Compiler implementation of the D programming language.