W3cubDocs

/D

dmd.initsem

Compiler implementation of the D programming language.

Authors:
Walter Bright
License:
Boost License 1.0
Source
initsem.d
Documentation
https://dlang.org/phobos/dmd_initsem.html
Coverage
https://codecov.io/gh/dlang/dmd/src/master/src/dmd/initsem.d
Expression toAssocArrayLiteral(ArrayInitializer ai);

If possible, convert array initializer to associative array initializer.

Parameters:
ArrayInitializer ai array initializer to be converted
Returns:
The converted associative array initializer or ErrorExp if ai is not an associative array initializer.
Initializer initializerSemantic(Initializer init, Scope* sc, Type t, NeedInterpret needInterpret);

Perform semantic analysis on init.

Parameters:
Initializer init Initializer AST node
Scope* sc context
Type t type that the initializer needs to become
NeedInterpret needInterpret if CTFE needs to be run on this, such as if it is the initializer for a const declaration
Returns:
Initializer with completed semantic analysis, ErrorInitializer if errors were encountered
Initializer inferType(Initializer init, Scope* sc);

Translate init to an Expression in order to infer the type.

Parameters:
Initializer init Initializer AST node
Scope* sc context
Returns:
an equivalent ExpInitializer if successful, or ErrorInitializer if it cannot be translated
Expression initializerToExpression(Initializer init, Type itype = null);

Translate init to an Expression.

Parameters:
Initializer init Initializer AST node
Type itype if not null, type to coerce expression to
Returns:
Expression created, null if cannot, ErrorExp for other errors

© 1999–2019 The D Language Foundation
Licensed under the Boost License 1.0.
https://dlang.org/phobos/dmd_initsem.html