dmd.typesem

Semantic analysis for D types.

Members

Functions

compileTypeMixin
RootObject compileTypeMixin(TypeMixin tm, Loc loc, Scope* sc)

Compile the MixinType, returning the type or expression AST.

defaultInit
Expression defaultInit(Type mt, Loc loc)

Get the the default initialization expression for a type.

dotExp
Expression dotExp(Type mt, Scope* sc, Expression e, Identifier ident, int flag)

Access the members of the object e. This type is same as e.type.

getProperty
Expression getProperty(Type t, Scope* scope_, Loc loc, Identifier ident, int flag)

Calculate built-in properties which just the type is necessary.

merge
Type merge(Type type)

If an identical type to type is in type.stringtable, return the latter one. Otherwise, add it to type.stringtable. Some types don't get merged and are returned as-is.

resolve
void resolve(Type mt, Loc loc, Scope* sc, Expression pe, Type pt, Dsymbol ps, bool intypeid)

Resolve type 'mt' to either type, symbol, or expression. If errors happened, resolved to Type.terror.

typeSemantic
Type typeSemantic(Type type, Loc loc, Scope* sc)

Perform semantic analysis on a type.

typeToExpression
Expression typeToExpression(Type t)

We've mistakenly parsed t as a type. Redo t as an Expression only if there are no type modifiers.

typeToExpressionHelper
Expression typeToExpressionHelper(TypeQualified t, Expression e, size_t i)
Undocumented in source. Be warned that the author may not have intended to support it.

Meta