View source code
							
							
						
								Display the source code in dmd/backend/dtype.d from which this
								page was generated on github.
							
						
							Report a bug
							
						
								If you spot a problem with this page, click here to create a
								Bugzilla issue.
							
						
							
								Improve this page
							
							
					
								Quickly fork, edit online, and submit a pull request for this page.
								Requires a signed-in GitHub account. This works well for small changes.
								If you'd like to make larger changes you may want to consider using
								local clone.
							
						Module dmd.backend.dtype
Compiler implementation of the D programming language.
Functions
| Name | Description | 
|---|---|
| 
									param_append_type(pp, t)
								 | Allocate a param_t of type t, and append it to parameter list. | 
| 
									param_append_type(pp, t)
								 | Allocate a param_t of type t, and append it to parameter list. | 
| 
									param_calloc()
								 | Allocate a param_t. | 
| 
									param_calloc()
								 | Allocate a param_t. | 
| 
									param_dehydrate(pp)
								 | Hydrate/dehydrate a type. | 
| 
									param_dehydrate(pp)
								 | Hydrate/dehydrate a type. | 
| 
									param_free(pparamlst)
								 | Free parameter list. | 
| 
									param_free(pparamlst)
								 | Free parameter list. | 
| 
									param_free_l(p)
								 | Version of param_free() suitable for list_free(). | 
| 
									param_free_l(p)
								 | Version of param_free() suitable for list_free(). | 
| 
									param_hydrate(pp)
								 | Hydrate/dehydrate a type. | 
| 
									param_hydrate(pp)
								 | Hydrate/dehydrate a type. | 
| 
									param_search(name, pp)
								 | Search for member, create symbol as needed. Used for symbol tables for VLA's such as: void func(int n, int a[n]); | 
| 
									param_search(name, pp)
								 | Search for member, create symbol as needed. Used for symbol tables for VLA's such as: void func(int n, int a[n]); | 
| 
									param_t_createTal(p, ptali)
								 | Create template-argument-list blank from template-parameter-list | 
| 
									param_t_createTal(p, ptali)
								 | Create template-argument-list blank from template-parameter-list | 
| 
									param_t_length(p)
								 | Compute number of parameters | 
| 
									param_t_length(p)
								 | Compute number of parameters | 
| 
									param_t_print(p)
								 | Pretty-print a param_t | 
| 
									param_t_print(p)
								 | Pretty-print a param_t | 
| 
									param_t_search(p, id)
								 | Look for Pident matching id | 
| 
									param_t_search(p, id)
								 | Look for Pident matching id | 
| 
									param_t_searchn(p, id)
								 | Look for Pident matching id | 
| 
									param_t_searchn(p, id)
								 | Look for Pident matching id | 
| 
									type_alignsize(t)
								 | Return the size of a type for alignment purposes. | 
| 
									type_alignsize(t)
								 | Return the size of a type for alignment purposes. | 
| 
									type_alloc(ty)
								 | Create a type & initialize it. | 
| 
									type_alloc(ty)
								 | Create a type & initialize it. | 
| 
									type_alloc_template(s)
								 | Allocate a TYtemplate. | 
| 
									type_alloc_template(s)
								 | Allocate a TYtemplate. | 
| 
									type_allocmemptr(stag, tn)
								 | Allocate a TYmemptr type. | 
| 
									type_allocmemptr(stag, tn)
								 | Allocate a TYmemptr type. | 
| 
									type_allocn(ty, tn)
								 | Allocate a type of ty with a Tnext of tn. | 
| 
									type_allocn(ty, tn)
								 | Allocate a type of ty with a Tnext of tn. | 
| 
									type_assoc_array(tkey, tvalue)
								 | Allocate an associative array type, which are key=value pairs | 
| 
									type_assoc_array(tkey, tvalue)
								 | Allocate an associative array type, which are key=value pairs | 
| 
									type_copy(t)
								 | Type type information. | 
| 
									type_copy(t)
								 | Type type information. | 
| 
									type_dehydrate(pt)
								 | Dehydrate a type. | 
| 
									type_dehydrate(pt)
								 | Dehydrate a type. | 
| 
									type_delegate(tnext)
								 | Allocate a delegate type. | 
| 
									type_delegate(tnext)
								 | Allocate a delegate type. | 
| 
									type_dyn_array(tnext)
								 | Allocate a dynamic array type. | 
| 
									type_dyn_array(tnext)
								 | Allocate a dynamic array type. | 
| 
									type_embed(t, u)
								 | Recursively check if type u is embedded in type t. | 
| 
									type_embed(t, u)
								 | Recursively check if type u is embedded in type t. | 
| 
									type_enum(name, tbase)
								 | Create an enum type. | 
| 
									type_enum(name, tbase)
								 | Create an enum type. | 
| 
									type_fake(ty)
								 | Fake a type & initialize it. | 
| 
									type_fake(ty)
								 | Fake a type & initialize it. | 
| 
									type_free(t)
								 | Free up data type. | 
| 
									type_free(t)
								 | Free up data type. | 
| 
									type_function(tyf, ptypes, variadic, tret)
								 | Allocation a function type. | 
| 
									type_function(tyf, ptypes, variadic, tret)
								 | Allocation a function type. | 
| 
									type_hydrate(pt)
								 | Hydrate a type. | 
| 
									type_hydrate(pt)
								 | Hydrate a type. | 
| 
									type_isdependent(t)
								 | Determine if type t is a dependent type. | 
| 
									type_isdependent(t)
								 | Determine if type t is a dependent type. | 
| 
									type_isvla(t)
								 | Determine if type is a VLA. | 
| 
									type_isvla(t)
								 | Determine if type is a VLA. | 
| 
									type_parameterSize(t, tyf)
								 | Compute the size of a single parameter. | 
| 
									type_parameterSize(t, tyf)
								 | Compute the size of a single parameter. | 
| 
									type_paramsize(t)
								 | Compute the total size of parameters for function call. Used for stdcall name mangling. Note that hidden parameters do not contribute to size. | 
| 
									type_paramsize(t)
								 | Compute the total size of parameters for function call. Used for stdcall name mangling. Note that hidden parameters do not contribute to size. | 
| 
									type_pointer(tnext)
								 | Allocate a pointer type. | 
| 
									type_pointer(tnext)
								 | Allocate a pointer type. | 
| 
									type_print(t)
								 | Pretty-print a type. | 
| 
									type_print(t)
								 | Pretty-print a type. | 
| 
									type_setcv(pt, cv)
								 | Set/clear const and volatile bits in *pt according to the settings in cv. | 
| 
									type_setcv(pt, cv)
								 | Set/clear const and volatile bits in *pt according to the settings in cv. | 
| 
									type_setdependent(t)
								 | Create a 'dependent' version of type t. | 
| 
									type_setdependent(t)
								 | Create a 'dependent' version of type t. | 
| 
									type_setdim(pt, dim)
								 | Set dimension of array. | 
| 
									type_setdim(pt, dim)
								 | Set dimension of array. | 
| 
									type_setmangle(pt, mangle)
								 | Modify the Tmangle field of a type. | 
| 
									type_setmangle(pt, mangle)
								 | Modify the Tmangle field of a type. | 
| 
									type_setty(pt, newty)
								 | Modify the tym_t field of a type. | 
| 
									type_setty(pt, newty)
								 | Modify the tym_t field of a type. | 
| 
									type_settype(pt, t)
								 | Set type field of some object to t. | 
| 
									type_settype(pt, t)
								 | Set type field of some object to t. | 
| 
									type_size(t)
								 | Compute size of type in bytes. Mark size as known after error message if it is not known. Instantiate templates as needed to compute size. | 
| 
									type_size(t)
								 | Compute size of type in bytes. | 
| 
									type_size(t)
								 | Compute size of type in bytes. Mark size as known after error message if it is not known. Instantiate templates as needed to compute size. | 
| 
									type_size(t)
								 | Compute size of type in bytes. | 
| 
									type_static_array(dim, tnext)
								 | Allocate a static array type. | 
| 
									type_static_array(dim, tnext)
								 | Allocate a static array type. | 
| 
									type_struct_class(name, alignsize, structsize, arg1type, arg2type, isUnion, isClass, isPOD, is0size)
								 | Create a struct/union/class type. | 
| 
									type_struct_class(name, alignsize, structsize, arg1type, arg2type, isUnion, isClass, isPOD, is0size)
								 | Create a struct/union/class type. | 
| 
									type_term()
								 | Free type_list. | 
| 
									type_term()
								 | Free type_list. | 
| 
									type_vla_fix(pt)
								 | |
| 
									type_vla_fix(pt)
								 | |
| 
									type_zeroSize(t, tyf)
								 | Compute special zero sized struct. | 
| 
									type_zeroSize(t, tyf)
								 | Compute special zero sized struct. | 
| 
									typematch(t1, t2, relax)
								 | 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. | 
| 
									typematch(t1, t2, relax)
								 | 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. | 
Authors
License
					Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.