Compiler implementation of the D programming language.
If possible, convert array initializer to associative array initializer.
ArrayInitializer ai
| array initializer to be converted |
ai is not an associative array initializer.Perform semantic analysis on init.
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 |
Initializer with completed semantic analysis, ErrorInitializer if errors were encounteredTranslate init to an Expression in order to infer the type.
Initializer init
|
Initializer AST node |
Scope* sc
| context |
ExpInitializer if successful, or ErrorInitializer if it cannot be translatedTranslate init to an Expression.
Initializer init
|
Initializer AST node |
Type itype
| if not null, type to coerce expression to |
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