Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
a local clone.
dmd.initsem
Compiler implementation of the
D programming language.
Authors:
License:
Source initsem.d
Documentation https://dlang.org/phobos/dmd_initsem.html
- Expression
toAssocArrayLiteral
(ArrayInitializerai
); - 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 ifai
is not an associative array initializer. - Initializer
inferType
(Initializerinit
, 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
(Initializerinit
, Typet
= null); - Translate init to an Expression.Parameters:
Initializer init
Initializer AST node Type t
if not null, type to coerce expression to Returns:Expression created, null if cannot, ErrorExp for other errors - Initializer
initializerSemantic
(Initializerinit
, Scope*sc
, Typet
, NeedInterpretneedInterpret
); - 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
Copyright © 1999-2022 by the D Language Foundation | Page generated by
Ddoc on (no date time)