Files
sdk/pkg/kernel/lib/transformations
Aske Simon Christensen f4b649ca4f [CFE] Propagate unevaluated constants upward.
When evaluating a constant expression, first evaluate all children.
If any of these turn out to be unevaluated, produce a partially
evaluated clone of the expression as a new unevaluated constant.

For lazy operators, if the left-hand side turns out unevaluated, the
right-hand side is included unmodified (not partially evaluated) in
the resulting unevaluated constant expression tree.

The implementation is optimized for the typical case of no unevaluated
constants. The intent is that the handling of unevaluated constants
introduces as little overhead as possible in this case.

Change-Id: Ief8d36357fac01c07bc0049aede0888cd3bc7999
Reviewed-on: https://dart-review.googlesource.com/c/93029
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2019-02-18 15:21:03 +00:00
..
2018-12-21 10:07:04 +00:00
2018-03-15 12:22:23 +00:00
2018-03-15 12:22:23 +00:00
2018-03-15 12:22:23 +00:00