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 a local clone.

dmd.typinf

Generate TypeInfo objects, which are needed for run-time introspection of types.
Authors:

Source typinf.d

bool genTypeInfo(Expression e, const ref Loc loc, Type torig, Scope* sc);
Generates the TypeInfo object associated with torig if it hasn't already been generated
Parameters:
Expression e if not null, then expression for pretty-printing errors
Loc loc the location for reporting line numbers in errors
Type torig the type to generate the TypeInfo object for
Scope* sc the scope
Returns:
true if TypeInfo was generated and needs compiling to object file
Type getTypeInfoType(const ref Loc loc, Type t, Scope* sc, bool genObjCode = true);
Gets the type of the TypeInfo object associated with t
Parameters:
Loc loc the location for reporting line nunbers in errors
Type t the type to get the type of the TypeInfo object for
Scope* sc the scope
bool genObjCode if true, object code will be generated for the obtained TypeInfo
Returns:
The type of the TypeInfo object associated with t
bool isSpeculativeType(Type t);
Returns:
true if any part of type t is speculative. if t is null, returns false.