View source code
Display the source code in dmd/expressionsem.d from which this page was generated on github.
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 local clone.

Function dmd.expressionsem.evalStaticCondition

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.

bool evalStaticCondition (
  dmd.dscope.Scope* sc,
  Expression original,
  Expression e,
  out bool errors,
  dmd.root.array.Array!(dmd.expression.Expression)* negatives = null
);

Parameters

NameDescription
sc instantiating scope
original original expression, for error messages
e resulting expression
errors set to true if errors occurred
negatives array to store negative clauses

Returns

true if evaluates to true

Authors

Walter Bright

License

Boost License 1.0