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