Compiler implementation of the D programming language.
not computed yet
include the conditional code
do not include the conditional code
Implements common functionality for StaticForeachDeclaration and StaticForeachStatement This performs the necessary lowerings before dmd.statementsem.makeTupleForeach can be used to expand the corresponding static foreach
declaration or statement.
Not null
iff the static foreach
is over an aggregate. In this case, it contains the corresponding ForeachStatement. For StaticForeachDeclaration, the body is null
.
Not null
iff the static foreach
is over a range. Exactly one of the aggrefe
and rangefe
fields is not null. See aggrfe
field for more details.
true if it is necessary to expand a tuple into multiple variables (see lowerNonArrayAggregate).
Perform static foreach
lowerings that are necessary in order to finally expand the static foreach
using dmd.statementsem.makeTupleForeach
.
true
iff ready to call dmd.statementsem.makeTupleForeach
.Add an user-supplied identifier to the list of global debug identifiers
Can be called from either the driver or a debug = Ident;
statement. Unlike version identifier, there isn't any reserved debug identifier so no validation takes place.
const(char)* ident
| identifier to add |
Instantiate a new DebugCondition
Module mod
| Module this node belongs to |
uint level
| Minimum global level this condition needs to pass. Only used if ident is null . |
Identifier ident
| Identifier required for this condition to pass. If null , this conditiion will use an integer level. |
Node to represent a version condition
A version condition is of the form:
version (Identifier)In user code. This class also provides means to add version identifier to the list of global (cross module) identifiers.
Raises an error if a version identifier is reserved.
Called when setting a version identifier, e.g. -version=identifier
parameter to the compiler or version = Foo
in user code.
Loc loc
| Where the identifier is set |
const(char)[] ident
| identifier being checked (ident[$] must be '\0') |
Add an user-supplied global identifier to the list
Only called from the driver for -version=Ident
parameters. Will raise an error if the identifier is reserved.
const(char)* ident
| identifier to add |
Add any global identifier to the list, without checking if it's predefined
Only called from the driver after platform detection, and internally.
const(char)* ident
| identifier to add (ident[$] must be '\0') |
Instantiate a new VersionCondition
Module mod
| Module this node belongs to |
uint level
| Minimum global level this condition needs to pass. Only used if ident is null . |
Identifier ident
| Identifier required for this condition to pass. If null , this conditiion will use an integer level. |
Find ident
in an array of identifiers.
Identifiers* ids
| array of identifiers |
Identifier ident
| identifier to search for |
© 1999–2019 The D Language Foundation
Licensed under the Boost License 1.0.
https://dlang.org/phobos/dmd_cond.html