dmd.typinf

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

Authors

Walter Bright

Source: typeinf.d

  • Declaration

    void genTypeInfo(Expression e, const ref Loc loc, Type torig, Scope* sc, bool genObjCode = true);

    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

    bool genObjCode

    if true, object code will be generated for the obtained TypeInfo

  • Declaration

    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

    Return Value

    The type of the TypeInfo object associated with t

  • Declaration

    bool isSpeculativeType(Type t);

    Return Value

    true if any part of type t is speculative. if t is null, returns false.