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.staticcond
Lazily evaluate static conditions for static if, static assert and template constraints.
Authors:
License:
Source staticcond.d
Documentation https://dlang.org/phobos/dmd_staticcond.html
- bool
evalStaticCondition
(Scope*sc
, Expressionoriginal
, Expressione
, out boolerrors
, Expressions*negatives
= null); - 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.Parameters:
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 Returns:true if evaluates to true - const(char)*
visualizeStaticCondition
(Expressionoriginal
, Expressioninstantiated
, const Expression[]negatives
, boolfull
, ref uintitemCount
); - Format a static condition as a tree-like structure, marking failed and bypassed expressions.Parameters:
Expression original
original expression Expression instantiated
instantiated expression Expression[] negatives
array with negative clauses from instantiated
expressionbool full
controls whether it shows the full output or only failed parts uint itemCount
returns the number of written clauses Returns:formatted string or null if the expressions were null, or if the instantiated expression is not based on the original one
Copyright © 1999-2022 by the D Language Foundation | Page generated by
Ddoc on (no date time)