Compiler implementation of the D programming language.
Semantically analyze and then evaluate a static condition at compile time. This is special because short circuit operators &&, || and ?: at the top level are not semantically analyzed if the result of the expression is not necessary.
Scope* sc
| instantiating scope |
Expression original
| original expression, for error messages |
Expression e
| resulting expression |
bool errors
| set to true if errors occurred |
Expressions* negatives
| array to store negative clauses |
Format a static condition as a tree-like structure, marking failed and bypassed expressions.
Expression original
| original expression |
Expression instantiated
| instantiated expression |
Expression[] negatives
| array with negative clauses from instantiated expression |
bool full
| controls whether it shows the full output or only failed parts |
uint itemCount
| returns the number of written clauses |
null
if the expressions were null
, or if the instantiated expression is not based on the original one
© 1999–2019 The D Language Foundation
Licensed under the Boost License 1.0.
https://dlang.org/phobos/dmd_staticcond.html